Re-write test with storybook testing library (#150)

* Re-write test with storybook testing library

* Update CI
This commit is contained in:
Charles Bochet
2023-05-29 11:02:38 +02:00
committed by GitHub
parent 8f88605f32
commit f935a6b723
65 changed files with 8085 additions and 5164 deletions

View File

@ -1,21 +0,0 @@
import { MemoryRouter } from 'react-router-dom';
import AppLayout from '../AppLayout';
import { ThemeProvider } from '@emotion/react';
import { lightTheme } from '../styles/themes';
const component = {
title: 'AppLayout',
component: AppLayout,
};
export default component;
export const AppLayoutDefault = () => (
<ThemeProvider theme={lightTheme}>
<MemoryRouter>
<AppLayout>
<div data-testid="content">Test</div>
</AppLayout>
</MemoryRouter>
</ThemeProvider>
);

View File

@ -1,10 +0,0 @@
import { render } from '@testing-library/react';
import { AppLayoutDefault } from '../__stories__/AppLayout.stories';
it('Checks the AppLayout render', () => {
const { getByTestId } = render(<AppLayoutDefault />);
const title = getByTestId('content');
expect(title).toHaveTextContent('Test');
});

View File

@ -1,34 +0,0 @@
import { MemoryRouter } from 'react-router-dom';
import { ThemeProvider } from '@emotion/react';
import NavItem from '../../../layout/navbar/NavItem';
import { lightTheme } from '../../styles/themes';
import { TbUser } from 'react-icons/tb';
const component = {
title: 'NavItem',
component: NavItem,
};
export default component;
export const NavItemDefault = () => (
<ThemeProvider theme={lightTheme}>
<MemoryRouter>
<NavItem label="Test" to="/test" icon={<TbUser size={16} />} />
</MemoryRouter>
</ThemeProvider>
);
export const NavItemActive = () => (
<ThemeProvider theme={lightTheme}>
<MemoryRouter initialEntries={['/test']}>
<NavItem
label="Test"
to="/test"
active={true}
icon={<TbUser size={16} />}
/>
</MemoryRouter>
</ThemeProvider>
);

File diff suppressed because one or more lines are too long

View File

@ -1,19 +0,0 @@
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

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