Mateus Silva
12/22/2021, 2:36 PMprismaMock but it's not workingMateus Silva
12/22/2021, 2:37 PMtests/.../prisma/helpers/singleton.ts
import { PrismaClient } from '@prisma/client';
import { mockDeep, mockReset, DeepMockProxy } from 'jest-mock-extended';
import prisma from '@infra/data/postgres/prisma/helpers/prismaClient';
jest.mock('@infra/data/postgres/prisma/helpers/prismaClient', () => ({
__esModule: true,
default: mockDeep<PrismaClient>(),
}));
beforeEach(() => {
mockReset(prismaMock);
});
export const prismaMock = prisma as unknown as DeepMockProxy<PrismaClient>;Mateus Silva
12/22/2021, 2:38 PMAccountRepository.spec
beforeAll(() => {
email = '<mailto:valid@mail.com|valid@mail.com>';
prismaMock.account.findUnique.mockResolvedValue({
id: 'validId',
email: '<mailto:valid@mail.com|valid@mail.com>',
password: 'validPassword',
active: true,
role: 'STUDENT',
createdAt: new Date(),
updatedAt: new Date(),
});
});
it('should return an account if email exists', async () => {
const account = await sut.findByEmail({ email });
expect(account).toBeTruthy();
});Mateus Silva
12/22/2021, 2:42 PMMateus Silva
12/22/2021, 2:44 PMMateus Silva
12/22/2021, 2:48 PMprismaClient.account.findUnique = jest.fn().mockResolvedValue({
id: 'validId',
email: '<mailto:valid@mail.com|valid@mail.com>',
password: 'validPassword',
active: true,
role: 'STUDENT',
createdAt: new Date(),
updatedAt: new Date(),
});
but not sure if this is the correct wayMateus Silva
12/22/2021, 2:49 PMJoël