Skip to content

Commit 78c1890

Browse files
committed
refactor: simplify e2e tests
1 parent a2480a0 commit 78c1890

2 files changed

Lines changed: 18 additions & 33 deletions

File tree

apps/nestjs-backend/test/auth.e2e-spec.ts

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -44,19 +44,18 @@ import {
4444
} from '@teable/openapi';
4545
import type { AxiosInstance } from 'axios';
4646
import axios from 'axios';
47-
import { ClsService } from 'nestjs-cls';
47+
import { vi } from 'vitest';
4848
import { AUTH_SESSION_COOKIE_NAME } from '../src/const';
4949
import { SettingService } from '../src/features/setting/setting.service';
50-
import type { IClsStore } from '../src/types/cls';
5150
import { createNewUserAxios } from './utils/axios-instance/new-user';
5251
import { getError } from './utils/get-error';
53-
import { initApp, runWithTestUser } from './utils/init-app';
52+
import { initApp } from './utils/init-app';
5453

5554
describe('Auth Controller (e2e)', () => {
5655
let app: INestApplication;
5756
let prismaService: PrismaService;
5857
let settingService: SettingService;
59-
let clsService: ClsService<IClsStore>;
58+
6059
const authTestEmail = 'auth@test-auth.com';
6160

6261
beforeAll(async () => {
@@ -66,7 +65,6 @@ describe('Auth Controller (e2e)', () => {
6665

6766
const appCtx = await initApp();
6867
app = appCtx.app;
69-
clsService = app.get(ClsService);
7068
prismaService = app.get(PrismaService);
7169
settingService = app.get(SettingService);
7270
});
@@ -137,23 +135,18 @@ describe('Auth Controller (e2e)', () => {
137135
});
138136

139137
describe('sign up with email verification', () => {
140-
let preEnableEmailVerification: boolean | null | undefined;
141138
beforeEach(async () => {
142-
await runWithTestUser(clsService, async () => {
143-
const setting = await settingService.getSetting();
144-
preEnableEmailVerification = setting.enableEmailVerification;
145-
await settingService.updateSetting({
139+
const originalGetSetting = settingService.getSetting.bind(settingService);
140+
vi.spyOn(settingService, 'getSetting').mockImplementation(async () => {
141+
return {
142+
...(await originalGetSetting()),
146143
enableEmailVerification: true,
147-
});
144+
};
148145
});
149146
});
150147

151-
afterEach(async () => {
152-
await runWithTestUser(clsService, async () => {
153-
await settingService.updateSetting({
154-
enableEmailVerification: preEnableEmailVerification,
155-
});
156-
});
148+
afterEach(() => {
149+
vi.restoreAllMocks();
157150
});
158151

159152
it('api/auth/signup - email verification is required', async () => {

apps/nestjs-backend/test/waitlist.e2e-spec.ts

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,39 +7,31 @@ import {
77
joinWaitlist as joinWaitlistApi,
88
signup,
99
} from '@teable/openapi';
10-
import { ClsService } from 'nestjs-cls';
10+
import { vi } from 'vitest';
1111
import { SettingService } from '../src/features/setting/setting.service';
12-
import type { IClsStore } from '../src/types/cls';
13-
import { initApp, runWithTestUser } from './utils/init-app';
12+
import { initApp } from './utils/init-app';
1413

1514
describe('Auth Controller (e2e) api/auth waitlist', () => {
1615
let app: INestApplication;
1716
let prismaService: PrismaService;
1817
let settingService: SettingService;
19-
let clsService: ClsService<IClsStore>;
20-
let enableWaitlist: boolean | null | undefined;
2118

2219
beforeAll(async () => {
2320
const appCtx = await initApp();
2421
app = appCtx.app;
25-
clsService = app.get(ClsService);
2622
prismaService = app.get(PrismaService);
2723
settingService = app.get(SettingService);
28-
const setting = await settingService.getSetting();
29-
enableWaitlist = setting.enableWaitlist;
30-
await runWithTestUser(clsService, async () => {
31-
await settingService.updateSetting({
24+
const originalGetSetting = settingService.getSetting.bind(settingService);
25+
vi.spyOn(settingService, 'getSetting').mockImplementation(async () => {
26+
return {
27+
...(await originalGetSetting()),
3228
enableWaitlist: true,
33-
});
29+
};
3430
});
3531
});
3632

3733
afterAll(async () => {
38-
await runWithTestUser(clsService, async () => {
39-
await settingService.updateSetting({
40-
enableWaitlist: enableWaitlist ?? false,
41-
});
42-
});
34+
vi.restoreAllMocks();
4335
await app.close();
4436
});
4537

0 commit comments

Comments
 (0)