Skip to content

Commit

Permalink
test(ui): add Breadcrumb test cases
Browse files Browse the repository at this point in the history
  • Loading branch information
summericy authored and xiejay97 committed Nov 8, 2023
1 parent 6de6576 commit 177011d
Showing 1 changed file with 46 additions and 0 deletions.
46 changes: 46 additions & 0 deletions packages/ui/src/components/breadcrumb/Breadcrumb.test.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
import { render, fireEvent } from '../../__tests__/utils';
import { DBreadcrumb } from './Breadcrumb';

describe('DBreadcrumb', () => {
it('renders the breadcrumb with items', () => {
const breadcrumbItems = [
{ id: 'home', title: 'Home' },
{ id: 'about', title: 'About', link: true },
{ id: 'contact', title: 'Contact' },
];

const { getByText } = render(<DBreadcrumb dList={breadcrumbItems} />);

expect(getByText('Home')).toBeInTheDocument();
expect(getByText('About')).toBeInTheDocument();
expect(getByText('Contact')).toBeInTheDocument();
});

it('calls "onItemClick" when an item is clicked', () => {
const onItemClickMock = jest.fn();
const breadcrumbItems = [
{ id: 'home', title: 'Home' },
{ id: 'about', title: 'About', link: true },
];

const { getByText } = render(<DBreadcrumb dList={breadcrumbItems} onItemClick={onItemClickMock} />);

fireEvent.click(getByText('About'));
expect(onItemClickMock).toHaveBeenCalledWith('about', breadcrumbItems[1]);
});

it('uses the custom separator if provided', () => {
const customSeparator = '>';
const breadcrumbItems = [
{ id: 'home', title: 'Home' },
{ id: 'about', title: 'About', link: true },
];

const { queryAllByRole } = render(<DBreadcrumb dList={breadcrumbItems} dSeparator={customSeparator} />);

const separators = queryAllByRole('separator');
separators.forEach((separator) => {
expect(separator).toHaveTextContent(customSeparator);
});
});
});

0 comments on commit 177011d

Please sign in to comment.