Move stories and tests inside each component folders

This commit is contained in:
Charles Bochet
2022-12-05 21:56:53 +01:00
parent 92267701ff
commit 374573871c
21 changed files with 111 additions and 61 deletions

View File

@ -0,0 +1,20 @@
import { MemoryRouter } from 'react-router-dom';
import NavItem from '../../../layout/navbar/NavItem';
export default {
title: 'NavItem',
component: NavItem,
};
export const NavItemDefault = () => (
<MemoryRouter>
<NavItem label="Test" to="/test" />
</MemoryRouter>
);
export const NavItemActive = () => (
<MemoryRouter initialEntries={['/test']}>
<NavItem label="Test" to="/test" active={true} />
</MemoryRouter>
);

View File

@ -0,0 +1,14 @@
import { MemoryRouter } from 'react-router-dom';
import Navbar from '../Navbar';
export default {
title: 'Navbar',
component: Navbar,
};
export const NavbarOnInsights = () => (
<MemoryRouter initialEntries={['/insights']}>
<Navbar />
</MemoryRouter>
);

View File

@ -0,0 +1,19 @@
import { render, fireEvent } from '@testing-library/react';
import { NavItemDefault } from '../__stories__/NavItem.stories';
const mockedNavigate = jest.fn();
jest.mock('react-router-dom', () => ({
...jest.requireActual('react-router-dom'),
useNavigate: () => mockedNavigate,
}));
it('Checks the NavItem renders', () => {
const { getByRole } = render(<NavItemDefault />);
const button = getByRole('button');
expect(button).toHaveTextContent('Test');
fireEvent.click(button);
expect(mockedNavigate).toHaveBeenCalledWith('/test');
});

View File

@ -0,0 +1,17 @@
import { render } from '@testing-library/react';
import { NavbarOnInsights } from '../__stories__/Navbar.stories';
it('Checks the NavItem renders', () => {
const { getByRole } = render(<NavbarOnInsights />);
expect(getByRole('button', { name: 'Insights' })).toHaveAttribute(
'aria-selected',
'true',
);
expect(getByRole('button', { name: 'Inbox' })).toHaveAttribute(
'aria-selected',
'false',
);
});