Update test case for services

This commit is contained in:
2023-11-23 22:11:29 +07:00
parent e3db60b2dd
commit 42fa1ad628
2 changed files with 125 additions and 0 deletions
@@ -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());
});
});