mirror of
https://github.com/Nezumi-2711/react-training.git
synced 2026-09-22 20:01:59 +00:00
Update test case, fix comments
This commit is contained in:
@@ -1,11 +1,17 @@
|
||||
import renderer from 'react-test-renderer';
|
||||
import { BrowserRouter } from 'react-router-dom';
|
||||
import { BrowserRouter, useNavigate } from 'react-router-dom';
|
||||
import { fireEvent, render } from '@testing-library/react';
|
||||
|
||||
// Components
|
||||
import Sidebar from '.';
|
||||
|
||||
// Mock useNavigate hook
|
||||
jest.mock('react-router-dom', () => ({
|
||||
...jest.requireActual('react-router-dom'),
|
||||
useNavigate: jest.fn(),
|
||||
}));
|
||||
|
||||
describe('Sidebar', () => {
|
||||
const wrapper = renderer.create(
|
||||
const wrapper = render(
|
||||
<BrowserRouter>
|
||||
<Sidebar heading="Hotel Management" />
|
||||
</BrowserRouter>
|
||||
@@ -14,4 +20,20 @@ describe('Sidebar', () => {
|
||||
test('Should render correctly', () => {
|
||||
expect(wrapper).toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('On click to heading should be navigate', () => {
|
||||
const mockNavigate = jest.fn();
|
||||
(useNavigate as jest.Mock).mockReturnValue(mockNavigate);
|
||||
|
||||
const wrapper = render(
|
||||
<BrowserRouter>
|
||||
<Sidebar heading="Hotel Management" />
|
||||
</BrowserRouter>
|
||||
);
|
||||
|
||||
const headingElement = wrapper.getByText('Hotel Management');
|
||||
fireEvent.click(headingElement);
|
||||
|
||||
expect(mockNavigate).toHaveBeenCalledWith('/');
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user