]>
Commit | Line | Data |
---|---|---|
b379759f C |
1 | /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ |
2 | ||
3 | import { | |
4 | CheckerBaseParams, | |
5 | checkRegistrationRequest, | |
6 | checkUserRegistered, | |
7 | MockSmtpServer, | |
8 | prepareNotificationsTest | |
9 | } from '@server/tests/shared' | |
10 | import { UserNotification } from '@shared/models' | |
11 | import { cleanupTests, PeerTubeServer, waitJobs } from '@shared/server-commands' | |
12 | ||
13 | describe('Test registrations notifications', function () { | |
14 | let server: PeerTubeServer | |
15 | let userToken1: string | |
16 | ||
17 | let userNotifications: UserNotification[] = [] | |
18 | let adminNotifications: UserNotification[] = [] | |
19 | let emails: object[] = [] | |
20 | ||
21 | let baseParams: CheckerBaseParams | |
22 | ||
23 | before(async function () { | |
24 | this.timeout(50000) | |
25 | ||
26 | const res = await prepareNotificationsTest(1) | |
27 | ||
28 | server = res.servers[0] | |
29 | emails = res.emails | |
30 | userToken1 = res.userAccessToken | |
31 | adminNotifications = res.adminNotifications | |
32 | userNotifications = res.userNotifications | |
33 | ||
34 | baseParams = { | |
35 | server, | |
36 | emails, | |
37 | socketNotifications: adminNotifications, | |
38 | token: server.accessToken | |
39 | } | |
40 | }) | |
41 | ||
42 | describe('New direct registration for moderators', function () { | |
43 | ||
44 | before(async function () { | |
45 | await server.config.enableSignup(false) | |
46 | }) | |
47 | ||
48 | it('Should send a notification only to moderators when a user registers on the instance', async function () { | |
49 | this.timeout(50000) | |
50 | ||
51 | await server.registrations.register({ username: 'user_10' }) | |
52 | ||
53 | await waitJobs([ server ]) | |
54 | ||
55 | await checkUserRegistered({ ...baseParams, username: 'user_10', checkType: 'presence' }) | |
56 | ||
57 | const userOverride = { socketNotifications: userNotifications, token: userToken1, check: { web: true, mail: false } } | |
58 | await checkUserRegistered({ ...baseParams, ...userOverride, username: 'user_10', checkType: 'absence' }) | |
59 | }) | |
60 | }) | |
61 | ||
62 | describe('New registration request for moderators', function () { | |
63 | ||
64 | before(async function () { | |
65 | await server.config.enableSignup(true) | |
66 | }) | |
67 | ||
68 | it('Should send a notification on new registration request', async function () { | |
69 | this.timeout(50000) | |
70 | ||
71 | const registrationReason = 'my reason' | |
72 | await server.registrations.requestRegistration({ username: 'user_11', registrationReason }) | |
73 | ||
74 | await waitJobs([ server ]) | |
75 | ||
76 | await checkRegistrationRequest({ ...baseParams, username: 'user_11', registrationReason, checkType: 'presence' }) | |
77 | ||
78 | const userOverride = { socketNotifications: userNotifications, token: userToken1, check: { web: true, mail: false } } | |
79 | await checkRegistrationRequest({ ...baseParams, ...userOverride, username: 'user_11', registrationReason, checkType: 'absence' }) | |
80 | }) | |
81 | }) | |
82 | ||
83 | after(async function () { | |
84 | MockSmtpServer.Instance.kill() | |
85 | ||
86 | await cleanupTests([ server ]) | |
87 | }) | |
88 | }) |