В твоем текущем коде, вы только подменяете результаты вызовов методов ORM с помощью mockResolvedValue, и тестируете, что ваши обертки правильно обрабатывают эти результаты, вот примеры кода как можно тестировать, создание, удаление, обновление и чтение записей в бд:
Тест создания записи в базе данных:
test('createUser should create a new user in the database', async () => {
const newUser = { email: 'user@prisma.io', name: 'Prisma Fan' };
const createdUser = await prisma.user.create({
data: newUser,
});
expect(createdUser).toBeDefined();
expect(createdUser.email).toBe(newUser.email);
expect(createdUser.name).toBe(newUser.name);
});
Тест чтения данных из базы данных:
test('findUserById should retrieve a user from the database', async () => {
const userId = 1;
const foundUser = await prisma.user.findUnique({
where: { id: userId },
});
expect(foundUser).toBeDefined();
expect(foundUser.id).toBe(userId);
});
Тест обновления данных в базе данных:
test('updateUserName should update the user name in the database', async () => {
const userId = 1; // предположим, что у вас есть запись с ID = 1
const newName = 'Updated Name';
const updatedUser = await prisma.user.update({
where: { id: userId },
data: { name: newName },
});
expect(updatedUser).toBeDefined();
expect(updatedUser.name).toBe(newName);
});
Тест удаления данных из базы данных:
test('deleteUser should remove a user from the database', async () => {
const userId = 1;
await prisma.user.delete({
where: { id: userId },
});
const deletedUser = await prisma.user.findUnique({
where: { id: userId },
});
expect(deletedUser).toBeNull();
});