169 похожих чатов

How do I effectively mock prisma in unit tests? describe('OnboardingService.updateUserReferrals', ()

=> {
let onboardingService: OnboardingService;
let prismaService: jest.Mocked<PrismaService>;
beforeAll(async () => {
const { unit, unitRef } = TestBed.create(OnboardingService).compile();
onboardingService = unit;
prismaService = unitRef.get(PrismaService);
});

afterEach(() => {
jest.clearAllMocks();
});

it(`should throw an error if the referral code has been used more than ${REFERRAL_LIMIT} times`, async () => {
jest
.spyOn(prismaService.referralCode, 'findUniqueOrThrow')
.mockResolvedValueOnce({
code: 'code',
usage_count: REFERRAL_LIMIT + 1,
used_code: 'code',
type: 'USER' as ReferralType,
user_id: 'user_id',
discount: new Decimal(0),
referred_by: null,
fulfilled_referrals: null,
});
const user = getRandomUser();
jest.spyOn(prismaService, '$transaction').mockResolvedValueOnce(unknown);

await expect(
onboardingService.updateUserReferrals({ code: 'code', user: user }),
).rejects.toThrow(BadRequestException);
});
});

I get the following error:
OnboardingService.updateUserReferrals › should throw an error if the referral code has been used more than 5 times

Cannot spy the findUniqueOrThrow property because it is not a function; undefined given instead

124 | it(`should throw an error if the referral code has been used more than ${REFERRAL_LIMIT} times`, async () => {
125 | jest
> 126 | .spyOn(prismaService.referralCode, 'findUniqueOrThrow')
| ^
127 | .mockResolvedValueOnce({
128 | code: 'code',
129 | usage_count: REFERRAL_LIMIT + 1,

at ModuleMocker.spyOn (node_modules/jest-mock/build/index.js:783:15)
at Object.<anonymous> (src/onboarding/onboarding.service.spec.ts:126:8)

1 ответов

68 просмотров

Стикер

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
4
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта