JSFiddle - React, Tailwind, and code Playground
by eget teteete
JavaScript
import React from 'react';
import {
fireEvent,
render,
} from '@testing-library/react';
import Sidebar from '../../../shared/components/sidebar';
import {
useRouter
} from 'next/router';
jest.mock('next/router', () => ({
useRouter() {
return {
route: '/',
pathname: '/employees',
query: '',
asPath: '',
};
},
}));
const closeSidebar = jest.fn();
const open = jest.fn();
describe('sidebar', () => {
const router = useRouter();
it('shoud be in the document', () => {
const {
queryByTestId
} = render( <
Sidebar open = {
open
}
closeSidebar = {
closeSidebar
}
/>
);
expect(queryByTestId('sidebar-test')).toBeDefined();
})
it('link shoud be click by link one time', () => {
const {
queryByTestId
} = render( < Sidebar open = {
open
}
closeSidebar = {
closeSidebar
}
/>)
const link = queryByTestId('/employees'); fireEvent.click(link); jest.dontMock('next/router'); console.log(router.pathname); expect(router.pathname).toEqual('/employees');
}) it('shoud be unmounted by click in overlay', () => {
const {
queryByTestId,
unmount
} = render( < Sidebar open = {
open
}
closeSidebar = {
closeSidebar
}
/>
);
fireEvent.click(queryByTestId('sidebar-overlay-test'));
expect(queryByTestId('sidebar-test')).toBeDefined();
unmount()
expect(queryByTestId('sidebar-test')).toBeNull();
})
})
// describe('Header', () => {
// it('should open sidebar when click on button', () => {
// const openSidebar = jest.fn();
// const { getByTestId,queryByTestId } = render(<Header...