Re-write test with storybook testing library (#150)
* Re-write test with storybook testing library * Update CI
This commit is contained in:
@ -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>
|
||||
);
|
||||
@ -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');
|
||||
});
|
||||
@ -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
@ -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');
|
||||
});
|
||||
@ -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',
|
||||
);
|
||||
});
|
||||
Reference in New Issue
Block a user