From ddf96492c9479479fb45e3d9b8a0a5b7b64160e2 Mon Sep 17 00:00:00 2001
From: Loi Phan
Date: Mon, 27 Nov 2023 17:44:05 +0700
Subject: [PATCH] Improve test case function
---
.../src/components/Menus/Menus.test.tsx | 65 +++++---
.../Menus/__snapshots__/Menus.test.tsx.snap | 139 ++++++++++++++----
.../src/components/OrderBy/Order.test.tsx | 28 ----
.../src/components/OrderBy/OrderBy.test.tsx | 40 +++++
.../OrderBy/__snapshots__/Order.test.tsx.snap | 110 +++++++++++---
.../src/components/Search/Search.test.tsx | 26 +++-
.../Search/__snapshots__/Search.test.tsx.snap | 73 ++++++++-
hotel-management/src/constants/commons.ts | 2 +-
.../src/helpers/__tests__/validators.test.ts | 65 ++++++--
.../services/__tests__/roomService.test.ts | 13 ++
10 files changed, 440 insertions(+), 121 deletions(-)
delete mode 100644 hotel-management/src/components/OrderBy/Order.test.tsx
create mode 100644 hotel-management/src/components/OrderBy/OrderBy.test.tsx
diff --git a/hotel-management/src/components/Menus/Menus.test.tsx b/hotel-management/src/components/Menus/Menus.test.tsx
index 5e4039d..781e901 100644
--- a/hotel-management/src/components/Menus/Menus.test.tsx
+++ b/hotel-management/src/components/Menus/Menus.test.tsx
@@ -1,31 +1,60 @@
-import renderer from 'react-test-renderer';
-
// Components
import Menus from '.';
import { RiEditBoxFill, RiDeleteBin2Line } from 'react-icons/ri';
+import { RenderResult, fireEvent, render } from '@testing-library/react';
describe('Menus', () => {
const id = '123';
const handleOnClick = jest.fn();
- const wrapper = renderer.create(
-
-
-
+ let wrapper: RenderResult | null = null;
-
- }>
- Edit
-
- }>
- Delete
-
-
-
-
- );
+ beforeEach(() => {
+ wrapper = render(
+
+
+
- test('Should render correctly', () => {
+
+ }>
+ Edit
+
+ }>
+ Delete
+
+
+
+
+ );
+ });
+
+ test('Should render correctly', async () => {
expect(wrapper).toMatchSnapshot();
});
+
+ test('Should show context menu', async () => {
+ const btn = await wrapper!.findByRole('button');
+
+ fireEvent.click(btn);
+
+ const editBtn = wrapper!.getByText('Edit');
+
+ expect(editBtn).toBeInTheDocument();
+
+ fireEvent.click(btn);
+
+ expect(editBtn).not.toBeInTheDocument();
+ });
+
+ test('HandleOnClick should work', async () => {
+ const btn = await wrapper!.findByRole('button');
+
+ fireEvent.click(btn);
+
+ const editBtn = wrapper!.getByText('Edit');
+
+ fireEvent.click(editBtn);
+
+ expect(handleOnClick).toHaveBeenCalled();
+ });
});
diff --git a/hotel-management/src/components/Menus/__snapshots__/Menus.test.tsx.snap b/hotel-management/src/components/Menus/__snapshots__/Menus.test.tsx.snap
index e6606ee..7dee797 100644
--- a/hotel-management/src/components/Menus/__snapshots__/Menus.test.tsx.snap
+++ b/hotel-management/src/components/Menus/__snapshots__/Menus.test.tsx.snap
@@ -1,35 +1,114 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Menus Should render correctly 1`] = `
-
+
+
+
+
+
+
+
+
+
+
+