X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;ds=sidebyside;f=server%2Ftests%2Fapi%2Fserver%2Femail.ts;h=713a27143123a6e621ec2b704c40835196540e18;hb=d9eaee3939bf2e93e5d775d32bce77842201faba;hp=db937f2884f6dfe1fb40b330733eb53c15aea5f0;hpb=26b7305a232e547709f433a6edf700bf495935d8;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tests/api/server/email.ts b/server/tests/api/server/email.ts index db937f288..713a27143 100644 --- a/server/tests/api/server/email.ts +++ b/server/tests/api/server/email.ts @@ -5,6 +5,7 @@ import 'mocha' import { addVideoToBlacklist, askResetPassword, + askSendVerifyEmail, blockUser, createUser, removeVideoFromBlacklist, reportVideoAbuse, @@ -12,7 +13,8 @@ import { runServer, unblockUser, uploadVideo, - userLogin + userLogin, + verifyEmail } from '../../utils' import { flushTests, killallServers, ServerInfo, setAccessTokensToServers } from '../../utils/index' import { mockSmtpServer } from '../../utils/miscs/email' @@ -207,6 +209,44 @@ describe('Test emails', function () { }) }) + describe('When verifying a user email', function () { + + it('Should ask to send the verification email', async function () { + this.timeout(10000) + + await askSendVerifyEmail(server.url, 'user_1@example.com') + + await waitJobs(server) + expect(emails).to.have.lengthOf(7) + + const email = emails[6] + + expect(email['from'][0]['address']).equal('test-admin@localhost') + expect(email['to'][0]['address']).equal('user_1@example.com') + expect(email['subject']).contains('Verify') + + const verificationStringMatches = /verificationString=([a-z0-9]+)/.exec(email['text']) + expect(verificationStringMatches).not.to.be.null + + verificationString = verificationStringMatches[1] + expect(verificationString).to.not.be.undefined + expect(verificationString).to.have.length.above(2) + + const userIdMatches = /userId=([0-9]+)/.exec(email['text']) + expect(userIdMatches).not.to.be.null + + userId = parseInt(userIdMatches[1], 10) + }) + + it('Should not verify the email with an invalid verification string', async function () { + await verifyEmail(server.url, userId, verificationString + 'b', 403) + }) + + it('Should verify the email', async function () { + await verifyEmail(server.url, userId, verificationString) + }) + }) + after(async function () { killallServers([ server ]) })