From ba75d268596bc7b289bacf1cc4cb53493d6ad444 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 1 Feb 2018 11:08:10 +0100 Subject: Send an email on video abuse report --- server/tests/api/server/email.ts | 36 ++++++++++++++++++++++++++++--- server/tests/utils/videos/video-abuses.ts | 2 +- 2 files changed, 34 insertions(+), 4 deletions(-) (limited to 'server/tests') diff --git a/server/tests/api/server/email.ts b/server/tests/api/server/email.ts index 8eb9c0fa4..068e820c8 100644 --- a/server/tests/api/server/email.ts +++ b/server/tests/api/server/email.ts @@ -2,7 +2,7 @@ import * as chai from 'chai' import 'mocha' -import { askResetPassword, createUser, resetPassword, runServer, userLogin, wait } from '../../utils' +import { askResetPassword, createUser, reportVideoAbuse, resetPassword, runServer, uploadVideo, userLogin, wait } from '../../utils' import { flushTests, killallServers, ServerInfo, setAccessTokensToServers } from '../../utils/index' import { mockSmtpServer } from '../../utils/miscs/email' @@ -11,6 +11,7 @@ const expect = chai.expect describe('Test emails', function () { let server: ServerInfo let userId: number + let videoUUID: string let verificationString: string const emails: object[] = [] const user = { @@ -35,8 +36,18 @@ describe('Test emails', function () { await wait(5000) await setAccessTokensToServers([ server ]) - const res = await createUser(server.url, server.accessToken, user.username, user.password) - userId = res.body.user.id + { + const res = await createUser(server.url, server.accessToken, user.username, user.password) + userId = res.body.user.id + } + + { + const attributes = { + name: 'my super name' + } + const res = await uploadVideo(server.url, server.accessToken, attributes) + videoUUID = res.body.video.uuid + } }) describe('When resetting user password', function () { @@ -83,6 +94,25 @@ describe('Test emails', function () { }) }) + describe('When creating a video abuse', function () { + it('Should send the notification email', async function () { + this.timeout(10000) + + const reason = 'my super bad reason' + await reportVideoAbuse(server.url, server.accessToken, videoUUID, reason) + + await wait(3000) + expect(emails).to.have.lengthOf(2) + + const email = emails[1] + + expect(email['from'][0]['address']).equal('test-admin@localhost') + expect(email['to'][0]['address']).equal('admin1@example.com') + expect(email['subject']).contains('abuse') + expect(email['text']).contains(videoUUID) + }) + }) + after(async function () { killallServers([ server ]) diff --git a/server/tests/utils/videos/video-abuses.ts b/server/tests/utils/videos/video-abuses.ts index f00809234..0d72bf457 100644 --- a/server/tests/utils/videos/video-abuses.ts +++ b/server/tests/utils/videos/video-abuses.ts @@ -1,6 +1,6 @@ import * as request from 'supertest' -function reportVideoAbuse (url: string, token: string, videoId: number, reason: string, specialStatus = 204) { +function reportVideoAbuse (url: string, token: string, videoId: number | string, reason: string, specialStatus = 204) { const path = '/api/v1/videos/' + videoId + '/abuse' return request(url) -- cgit v1.2.3