mirror of
https://github.com/Nezumi-2711/react-training.git
synced 2026-09-22 13:38:51 +00:00
Update test case for services
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
import { waitFor } from '@testing-library/react';
|
||||
|
||||
// Services
|
||||
import {
|
||||
createRoom,
|
||||
deleteRoom,
|
||||
getAllRooms,
|
||||
updateRoom,
|
||||
} from '@service/roomServices';
|
||||
|
||||
// Types
|
||||
import { IRoom } from '@type/rooms';
|
||||
|
||||
const mockGetAllRooms = jest.fn(getAllRooms);
|
||||
const mockUpdateRoom = jest.fn(updateRoom);
|
||||
const mockCreateRoom = jest.fn(createRoom);
|
||||
const mockDeleteRoom = jest.fn(deleteRoom);
|
||||
|
||||
const sampleData: IRoom = {
|
||||
id: 999,
|
||||
name: 'Room name test',
|
||||
price: 9999,
|
||||
status: true,
|
||||
};
|
||||
|
||||
describe('CRUD Room testing', () => {
|
||||
test('Fetch room data', async () => {
|
||||
mockGetAllRooms.mockResolvedValue([
|
||||
{
|
||||
id: 1,
|
||||
name: 'Nezumi',
|
||||
price: 2500,
|
||||
status: true,
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: 'Loi Phan',
|
||||
price: 8500,
|
||||
status: false,
|
||||
},
|
||||
]);
|
||||
const result = await mockGetAllRooms('name', 'asc', '');
|
||||
|
||||
await waitFor(() => expect(result.length).toEqual(2));
|
||||
});
|
||||
|
||||
test('Create room', async () => {
|
||||
mockCreateRoom.mockResolvedValue(sampleData);
|
||||
|
||||
const result = await mockCreateRoom(sampleData);
|
||||
|
||||
await waitFor(() => expect(result).toBeTruthy());
|
||||
});
|
||||
|
||||
test('Update room', async () => {
|
||||
mockUpdateRoom.mockResolvedValue({
|
||||
id: 1,
|
||||
name: 'Nezumi',
|
||||
price: 2500,
|
||||
status: true,
|
||||
});
|
||||
const result = await mockUpdateRoom(sampleData);
|
||||
|
||||
await waitFor(() => expect(result).toBeTruthy());
|
||||
});
|
||||
|
||||
test('Delete room', async () => {
|
||||
mockDeleteRoom.mockImplementation(() => Promise.resolve());
|
||||
await mockDeleteRoom(1);
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,54 @@
|
||||
import { waitFor } from '@testing-library/react';
|
||||
|
||||
// Services
|
||||
import { createUser, getAllUsers, updateUser } from '@service/userServices';
|
||||
|
||||
// Types
|
||||
import { IUser } from '@type/users';
|
||||
|
||||
const mockGetAllUsers = jest.fn(getAllUsers);
|
||||
const mockCreateUser = jest.fn(createUser);
|
||||
const mockUpdateUser = jest.fn(updateUser);
|
||||
|
||||
const sampleData: IUser = {
|
||||
id: 999,
|
||||
name: 'User name test',
|
||||
phone: '123456789',
|
||||
isBooked: true,
|
||||
};
|
||||
|
||||
describe('CRUD User testing', () => {
|
||||
test('Fetch user data', async () => {
|
||||
mockGetAllUsers.mockResolvedValue([
|
||||
{
|
||||
id: 1,
|
||||
name: 'Nezumi',
|
||||
phone: '0324422123',
|
||||
isBooked: true,
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: 'Loi Phan',
|
||||
phone: '0324422145',
|
||||
isBooked: false,
|
||||
},
|
||||
]);
|
||||
const result = await mockGetAllUsers('name', 'asc', '');
|
||||
|
||||
await waitFor(() => expect(result.length).toEqual(2));
|
||||
});
|
||||
|
||||
test('Create user', async () => {
|
||||
mockCreateUser.mockResolvedValue(sampleData);
|
||||
const result = await mockCreateUser(sampleData);
|
||||
|
||||
await waitFor(() => expect(result).toBeTruthy());
|
||||
});
|
||||
|
||||
test('Update user', async () => {
|
||||
mockUpdateUser.mockResolvedValue(sampleData);
|
||||
const result = await mockUpdateUser(sampleData);
|
||||
|
||||
await waitFor(() => expect(result).toBeTruthy());
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user