From b0871331de500b0c023cc41cce7e78f67042c1ca Mon Sep 17 00:00:00 2001 From: fengmk2 Date: Mon, 24 Mar 2025 03:32:25 +0000 Subject: [PATCH] test(server): add mock mail and queue tests (#11061) --- packages/backend/server/src/__tests__/e2e/app.spec.ts | 8 ++++++++ packages/backend/server/src/__tests__/e2e/create-app.ts | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/packages/backend/server/src/__tests__/e2e/app.spec.ts b/packages/backend/server/src/__tests__/e2e/app.spec.ts index 2ebe5cb2e2..64bb4fdb1a 100644 --- a/packages/backend/server/src/__tests__/e2e/app.spec.ts +++ b/packages/backend/server/src/__tests__/e2e/app.spec.ts @@ -7,6 +7,14 @@ e2e('should create test app correctly', async t => { t.truthy(app); }); +e2e('should mock mails work', async t => { + t.is(app.mails.count('MemberInvitation'), 0); +}); + +e2e('should mock queue work', async t => { + t.is(app.queue.count('notification.sendInvitation'), 0); +}); + e2e('should handle http request', async t => { const res = await app.GET('/info'); t.is(res.status, 200); diff --git a/packages/backend/server/src/__tests__/e2e/create-app.ts b/packages/backend/server/src/__tests__/e2e/create-app.ts index d1a0b39757..d8219b62b5 100644 --- a/packages/backend/server/src/__tests__/e2e/create-app.ts +++ b/packages/backend/server/src/__tests__/e2e/create-app.ts @@ -14,6 +14,7 @@ import { CacheInterceptor, CloudThrottlerGuard, GlobalExceptionFilter, + JobQueue, OneMB, } from '../../base'; import { SocketIoAdapter } from '../../base/websocket'; @@ -22,6 +23,7 @@ import { Mailer } from '../../core/mail'; import { createFactory, MockedUser, + MockJobQueue, MockMailer, MockUser, MockUserInput, @@ -40,6 +42,7 @@ export class TestingApp extends NestApplication { create = createFactory(this.get(PrismaClient, { strict: false })); mails = this.get(Mailer, { strict: false }) as MockMailer; + queue = this.get(JobQueue, { strict: false }) as MockJobQueue; get url() { const server = this.getHttpServer(); @@ -193,6 +196,9 @@ export async function createApp( imports: [buildAppModule()], }); + builder.overrideProvider(Mailer).useValue(new MockMailer()); + builder.overrideProvider(JobQueue).useValue(new MockJobQueue()); + // when custom override happens if (tapModule) { tapModule(builder);