Skip to content

Commit

Permalink
chore: U tests for onclick and onfollow events
Browse files Browse the repository at this point in the history
  • Loading branch information
georgylobko committed Oct 14, 2024
1 parent bf74545 commit 2ee3da7
Showing 1 changed file with 37 additions and 9 deletions.
46 changes: 37 additions & 9 deletions src/breadcrumb-group/__tests__/mobile-breadcrumbs.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,15 @@ import createWrapper from '../../../lib/components/test-utils/dom';

import dropdownItemStyles from '../../../lib/components/button-dropdown/item-element/styles.css.js';

const defaultProps = {
items: [
{ text: 'Service home', href: '#' },
{ text: 'Another page', href: '#' },
{ text: 'A long page title for a media folder', href: '#' },
{ text: 'Resource bucket 123456789', href: '#' },
],
};

const renderBreadcrumbGroup = (props: BreadcrumbGroupProps) => {
const renderResult = render(<BreadcrumbGroup {...props} />);
return { wrapper: createWrapper(renderResult.container).findBreadcrumbGroup()!, ...renderResult };
Expand All @@ -19,15 +28,6 @@ jest.mock('../../../lib/components/internal/hooks/use-mobile', () => ({
}));

describe('Mobile BreadcrumbGroup Component', () => {
const defaultProps = {
items: [
{ text: 'Service home', href: '#' },
{ text: 'Another page', href: '#' },
{ text: 'A long page title for a media folder', href: '#' },
{ text: 'Resource bucket 123456789', href: '#' },
],
};

test('renders correctly (dropdown closed)', () => {
const { wrapper } = renderBreadcrumbGroup(defaultProps);

Expand Down Expand Up @@ -65,4 +65,32 @@ describe('Mobile BreadcrumbGroup Component', () => {

expect(wrapper.findDropdown()).toBeNull();
});

test('fires a click and follow events when the breadcrumb item is clicked', () => {
const onClickSpy = jest.fn();
const onFollowSpy = jest.fn();
const { wrapper } = renderBreadcrumbGroup({
...defaultProps,
onClick: event => {
event.preventDefault();
onClickSpy(event.detail);
},
onFollow: event => onFollowSpy(event.detail),
});

const button = wrapper.findDropdown()!.findNativeButton();
button.click();
wrapper.findDropdown()!.findItems()[0].click();

expect(onClickSpy).toHaveBeenCalledWith({
item: defaultProps.items[0],
text: defaultProps.items[0].text,
href: defaultProps.items[0].href,
});
expect(onFollowSpy).toHaveBeenCalledWith({
item: defaultProps.items[0],
text: defaultProps.items[0].text,
href: defaultProps.items[0].href,
});
});
});

0 comments on commit 2ee3da7

Please sign in to comment.