X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Fapi%2Fserver%2Fcontact-form.ts;h=79c4c674857f6b16858f3161e18ac70dcd8d4a05;hb=a9c58393d36d221197b48884a1960e6126ab31d7;hp=87e55060ca050da199331a44650d4e05b3926d31;hpb=b91bc1d1f3591c35ab4426f6ab594b4bd9f1ef62;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tests/api/server/contact-form.ts b/server/tests/api/server/contact-form.ts index 87e55060c..79c4c6748 100644 --- a/server/tests/api/server/contact-form.ts +++ b/server/tests/api/server/contact-form.ts @@ -1,25 +1,17 @@ -/* tslint:disable:no-unused-expression */ +/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ -import * as chai from 'chai' import 'mocha' -import { - flushTests, - killallServers, - flushAndRunServer, - ServerInfo, - setAccessTokensToServers, - wait, - cleanupTests -} from '../../../../shared/extra-utils' -import { MockSmtpServer } from '../../../../shared/extra-utils/miscs/email' -import { waitJobs } from '../../../../shared/extra-utils/server/jobs' -import { sendContactForm } from '../../../../shared/extra-utils/server/contact-form' +import * as chai from 'chai' +import { HttpStatusCode } from '@shared/core-utils' +import { cleanupTests, flushAndRunServer, MockSmtpServer, ServerInfo, setAccessTokensToServers, wait, waitJobs } from '@shared/extra-utils' +import { ContactFormCommand } from '@shared/extra-utils/server' const expect = chai.expect describe('Test contact form', function () { let server: ServerInfo const emails: object[] = [] + let command: ContactFormCommand before(async function () { this.timeout(30000) @@ -34,15 +26,17 @@ describe('Test contact form', function () { } server = await flushAndRunServer(1, overrideConfig) await setAccessTokensToServers([ server ]) + + command = server.contactFormCommand }) it('Should send a contact form', async function () { this.timeout(10000) - await sendContactForm({ - url: server.url, + await command.send({ fromEmail: 'toto@example.com', body: 'my super message', + subject: 'my subject', fromName: 'Super toto' }) @@ -53,40 +47,49 @@ describe('Test contact form', function () { const email = emails[0] expect(email['from'][0]['address']).equal('test-admin@localhost') - expect(email['from'][0]['name']).equal('toto@example.com') + expect(email['replyTo'][0]['address']).equal('toto@example.com') expect(email['to'][0]['address']).equal('admin' + server.internalServerNumber + '@example.com') - expect(email['subject']).contains('Contact form') + expect(email['subject']).contains('my subject') expect(email['text']).contains('my super message') }) it('Should not be able to send another contact form because of the anti spam checker', async function () { - await sendContactForm({ - url: server.url, + this.timeout(10000) + + await wait(1000) + + await command.send({ fromEmail: 'toto@example.com', body: 'my super message', + subject: 'my subject', fromName: 'Super toto' }) - await sendContactForm({ - url: server.url, + await command.send({ fromEmail: 'toto@example.com', body: 'my super message', fromName: 'Super toto', - expectedStatus: 403 + subject: 'my subject', + expectedStatus: HttpStatusCode.FORBIDDEN_403 }) }) it('Should be able to send another contact form after a while', async function () { await wait(1000) - await sendContactForm({ - url: server.url, + await command.send({ fromEmail: 'toto@example.com', - body: 'my super message', - fromName: 'Super toto' + fromName: 'Super toto', + subject: 'my subject', + body: 'my super message' }) }) + it('Should not have the manage preferences link in the email', async function () { + const email = emails[0] + expect(email['text']).to.not.contain('Manage your notification preferences') + }) + after(async function () { MockSmtpServer.Instance.kill()