diff options
author | Chocobozzz <me@florianbigard.com> | 2023-01-19 09:28:29 +0100 |
---|---|---|
committer | Chocobozzz <chocobozzz@cpy.re> | 2023-01-19 13:53:40 +0100 |
commit | b379759f55a35837b803a3b988674972db2903d1 (patch) | |
tree | 895d556973fea9be21492fb60aec2ff7767f5b18 /server/tests/shared/notifications.ts | |
parent | 3e5716dd3a5b0db4a1db327714247da687419f92 (diff) | |
download | PeerTube-b379759f55a35837b803a3b988674972db2903d1.tar.gz PeerTube-b379759f55a35837b803a3b988674972db2903d1.tar.zst PeerTube-b379759f55a35837b803a3b988674972db2903d1.zip |
Add signup approval API tests
Diffstat (limited to 'server/tests/shared/notifications.ts')
-rw-r--r-- | server/tests/shared/notifications.ts | 45 |
1 files changed, 39 insertions, 6 deletions
diff --git a/server/tests/shared/notifications.ts b/server/tests/shared/notifications.ts index e600bd6b2..6c0688d5a 100644 --- a/server/tests/shared/notifications.ts +++ b/server/tests/shared/notifications.ts | |||
@@ -11,6 +11,7 @@ import { | |||
11 | UserNotificationType | 11 | UserNotificationType |
12 | } from '@shared/models' | 12 | } from '@shared/models' |
13 | import { | 13 | import { |
14 | ConfigCommand, | ||
14 | createMultipleServers, | 15 | createMultipleServers, |
15 | doubleFollow, | 16 | doubleFollow, |
16 | PeerTubeServer, | 17 | PeerTubeServer, |
@@ -173,6 +174,8 @@ async function checkMyVideoImportIsFinished (options: CheckerBaseParams & { | |||
173 | await checkNotification({ ...options, notificationChecker, emailNotificationFinder }) | 174 | await checkNotification({ ...options, notificationChecker, emailNotificationFinder }) |
174 | } | 175 | } |
175 | 176 | ||
177 | // --------------------------------------------------------------------------- | ||
178 | |||
176 | async function checkUserRegistered (options: CheckerBaseParams & { | 179 | async function checkUserRegistered (options: CheckerBaseParams & { |
177 | username: string | 180 | username: string |
178 | checkType: CheckerType | 181 | checkType: CheckerType |
@@ -201,6 +204,36 @@ async function checkUserRegistered (options: CheckerBaseParams & { | |||
201 | await checkNotification({ ...options, notificationChecker, emailNotificationFinder }) | 204 | await checkNotification({ ...options, notificationChecker, emailNotificationFinder }) |
202 | } | 205 | } |
203 | 206 | ||
207 | async function checkRegistrationRequest (options: CheckerBaseParams & { | ||
208 | username: string | ||
209 | registrationReason: string | ||
210 | checkType: CheckerType | ||
211 | }) { | ||
212 | const { username, registrationReason } = options | ||
213 | const notificationType = UserNotificationType.NEW_USER_REGISTRATION_REQUEST | ||
214 | |||
215 | function notificationChecker (notification: UserNotification, checkType: CheckerType) { | ||
216 | if (checkType === 'presence') { | ||
217 | expect(notification).to.not.be.undefined | ||
218 | expect(notification.type).to.equal(notificationType) | ||
219 | |||
220 | expect(notification.registration.username).to.equal(username) | ||
221 | } else { | ||
222 | expect(notification).to.satisfy(n => n.type !== notificationType || n.registration.username !== username) | ||
223 | } | ||
224 | } | ||
225 | |||
226 | function emailNotificationFinder (email: object) { | ||
227 | const text: string = email['text'] | ||
228 | |||
229 | return text.includes(' wants to register ') && text.includes(username) && text.includes(registrationReason) | ||
230 | } | ||
231 | |||
232 | await checkNotification({ ...options, notificationChecker, emailNotificationFinder }) | ||
233 | } | ||
234 | |||
235 | // --------------------------------------------------------------------------- | ||
236 | |||
204 | async function checkNewActorFollow (options: CheckerBaseParams & { | 237 | async function checkNewActorFollow (options: CheckerBaseParams & { |
205 | followType: 'channel' | 'account' | 238 | followType: 'channel' | 'account' |
206 | followerName: string | 239 | followerName: string |
@@ -673,10 +706,8 @@ async function prepareNotificationsTest (serversCount = 3, overrideConfigArg: an | |||
673 | const port = await MockSmtpServer.Instance.collectEmails(emails) | 706 | const port = await MockSmtpServer.Instance.collectEmails(emails) |
674 | 707 | ||
675 | const overrideConfig = { | 708 | const overrideConfig = { |
676 | smtp: { | 709 | ...ConfigCommand.getEmailOverrideConfig(port), |
677 | hostname: '127.0.0.1', | 710 | |
678 | port | ||
679 | }, | ||
680 | signup: { | 711 | signup: { |
681 | limit: 20 | 712 | limit: 20 |
682 | } | 713 | } |
@@ -735,7 +766,8 @@ async function prepareNotificationsTest (serversCount = 3, overrideConfigArg: an | |||
735 | userAccessToken, | 766 | userAccessToken, |
736 | emails, | 767 | emails, |
737 | servers, | 768 | servers, |
738 | channelId | 769 | channelId, |
770 | baseOverrideConfig: overrideConfig | ||
739 | } | 771 | } |
740 | } | 772 | } |
741 | 773 | ||
@@ -765,7 +797,8 @@ export { | |||
765 | checkNewAccountAbuseForModerators, | 797 | checkNewAccountAbuseForModerators, |
766 | checkNewPeerTubeVersion, | 798 | checkNewPeerTubeVersion, |
767 | checkNewPluginVersion, | 799 | checkNewPluginVersion, |
768 | checkVideoStudioEditionIsFinished | 800 | checkVideoStudioEditionIsFinished, |
801 | checkRegistrationRequest | ||
769 | } | 802 | } |
770 | 803 | ||
771 | // --------------------------------------------------------------------------- | 804 | // --------------------------------------------------------------------------- |