X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Fapi%2Fserver%2Fcontact-form.ts;h=dd971203a050ccf3560311e582eb831cc0c2b45d;hb=7b97127e8ba718d673b8a43afa964d136723e6a2;hp=79c4c674857f6b16858f3161e18ac70dcd8d4a05;hpb=a9c58393d36d221197b48884a1960e6126ab31d7;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tests/api/server/contact-form.ts b/server/tests/api/server/contact-form.ts index 79c4c6748..dd971203a 100644 --- a/server/tests/api/server/contact-form.ts +++ b/server/tests/api/server/contact-form.ts @@ -1,15 +1,21 @@ /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ -import 'mocha' -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 +import { expect } from 'chai' +import { MockSmtpServer } from '@server/tests/shared' +import { wait } from '@shared/core-utils' +import { HttpStatusCode } from '@shared/models' +import { + cleanupTests, + ConfigCommand, + ContactFormCommand, + createSingleServer, + PeerTubeServer, + setAccessTokensToServers, + waitJobs +} from '@shared/server-commands' describe('Test contact form', function () { - let server: ServerInfo + let server: PeerTubeServer const emails: object[] = [] let command: ContactFormCommand @@ -18,16 +24,10 @@ describe('Test contact form', function () { const port = await MockSmtpServer.Instance.collectEmails(emails) - const overrideConfig = { - smtp: { - hostname: 'localhost', - port - } - } - server = await flushAndRunServer(1, overrideConfig) + server = await createSingleServer(1, ConfigCommand.getEmailOverrideConfig(port)) await setAccessTokensToServers([ server ]) - command = server.contactFormCommand + command = server.contactForm }) it('Should send a contact form', async function () { @@ -46,13 +46,20 @@ describe('Test contact form', function () { const email = emails[0] - expect(email['from'][0]['address']).equal('test-admin@localhost') + expect(email['from'][0]['address']).equal('test-admin@127.0.0.1') expect(email['replyTo'][0]['address']).equal('toto@example.com') expect(email['to'][0]['address']).equal('admin' + server.internalServerNumber + '@example.com') expect(email['subject']).contains('my subject') expect(email['text']).contains('my super message') }) + it('Should not have duplicated email address in text message', async function () { + const text = emails[0]['text'] as string + + const matches = text.match(/toto@example.com/g) + expect(matches).to.have.lengthOf(1) + }) + it('Should not be able to send another contact form because of the anti spam checker', async function () { this.timeout(10000)