From 9bc80aac8aab9b4dedc26c9bc3ce705d7fe9c0bf Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Thu, 2 Feb 2023 11:14:48 +0100 Subject: [PATCH] Updated selfservice tests to prevent email duplication ref #197 --- .../selfservice/selfservice_delete.spec.ts | 6 ++-- src/tests/selfservice/selfservice_get.spec.ts | 3 +- .../selfservice/selfservice_register.spec.ts | 36 ++++++++++++++----- 3 files changed, 34 insertions(+), 11 deletions(-) diff --git a/src/tests/selfservice/selfservice_delete.spec.ts b/src/tests/selfservice/selfservice_delete.spec.ts index 9add148..423d93e 100644 --- a/src/tests/selfservice/selfservice_delete.spec.ts +++ b/src/tests/selfservice/selfservice_delete.spec.ts @@ -1,5 +1,7 @@ +import { faker } from '@faker-js/faker'; import axios from 'axios'; import { config } from '../../config'; + const base = "http://localhost:" + config.internal_port let access_token; @@ -21,7 +23,7 @@ describe('delete selfservice runner invalid', () => { const res = await axios.post(base + '/api/runners/register', { "firstname": "string", "lastname": "string", - "email": "user@example.com" + "email": faker.internet.exampleEmail(), }, axios_config); added_runner = res.data; expect(res.status).toEqual(200); @@ -50,7 +52,7 @@ describe('delete selfservice runner valid', () => { const res = await axios.post(base + '/api/runners/register', { "firstname": "string", "lastname": "string", - "email": "user@example.com" + "email": faker.internet.exampleEmail(), }, axios_config); added_runner = res.data; expect(res.status).toEqual(200); diff --git a/src/tests/selfservice/selfservice_get.spec.ts b/src/tests/selfservice/selfservice_get.spec.ts index 7867127..201cc08 100644 --- a/src/tests/selfservice/selfservice_get.spec.ts +++ b/src/tests/selfservice/selfservice_get.spec.ts @@ -1,3 +1,4 @@ +import { faker } from '@faker-js/faker'; import axios from 'axios'; import { config } from '../../config'; const base = "http://localhost:" + config.internal_port @@ -30,7 +31,7 @@ describe('register + get should return 200', () => { "firstname": "string", "middlename": "string", "lastname": "string", - "email": "user@example.com" + "email": faker.internet.exampleEmail(), }, axios_config); expect(res.status).toEqual(200); expect(res.headers['content-type']).toContain("application/json"); diff --git a/src/tests/selfservice/selfservice_register.spec.ts b/src/tests/selfservice/selfservice_register.spec.ts index 36dc7fa..18fac19 100644 --- a/src/tests/selfservice/selfservice_register.spec.ts +++ b/src/tests/selfservice/selfservice_register.spec.ts @@ -1,3 +1,4 @@ +import { faker } from '@faker-js/faker'; import axios from 'axios'; import { config } from '../../config'; const base = "http://localhost:" + config.internal_port @@ -39,7 +40,7 @@ describe('register invalid citizen', () => { const res = await axios.post(base + '/api/runners/register', { "middlename": "string", "lastname": "string", - "email": "user@example.com" + "email": faker.internet.exampleEmail(), }, axios_config); expect(res.status).toEqual(400); expect(res.headers['content-type']).toContain("application/json"); @@ -48,7 +49,7 @@ describe('register invalid citizen', () => { const res = await axios.post(base + '/api/runners/register', { "firstname": "string", "middlename": "string", - "email": "user@example.com" + "email": faker.internet.exampleEmail(), }, axios_config); expect(res.status).toEqual(400); expect(res.headers['content-type']).toContain("application/json"); @@ -59,7 +60,26 @@ describe('register invalid citizen', () => { "middlename": "string", "lastname": "string", "phone": "peter", - "email": "user@example.com" + "email": faker.internet.exampleEmail(), + }, axios_config); + expect(res.status).toEqual(400); + expect(res.headers['content-type']).toContain("application/json"); + }); + it('registering as citizen with duplicate mail should return 400', async () => { + const mail = faker.internet.exampleEmail(); + await axios.post(base + '/api/runners/register', { + "firstname": "string", + "middlename": "string", + "lastname": "string", + "phone": "peter", + "email": mail, + }, axios_config); + const res = await axios.post(base + '/api/runners/register', { + "firstname": "string", + "middlename": "string", + "lastname": "string", + "phone": "peter", + "email": mail, }, axios_config); expect(res.status).toEqual(400); expect(res.headers['content-type']).toContain("application/json"); @@ -71,7 +91,7 @@ describe('register citizen valid', () => { const res = await axios.post(base + '/api/runners/register', { "firstname": "string", "lastname": "string", - "email": "user@example.com" + "email": faker.internet.exampleEmail(), }, axios_config); expect(res.status).toEqual(200); expect(res.headers['content-type']).toContain("application/json"); @@ -81,7 +101,7 @@ describe('register citizen valid', () => { "firstname": "string", "middlename": "string", "lastname": "string", - "email": "user@example.com", + "email": faker.internet.exampleEmail(), "phone": "+4909132123456", "address": { address1: "Teststreet 1", @@ -187,7 +207,7 @@ describe('register valid company', () => { "firstname": "string", "middlename": "string", "lastname": "string", - "email": "user@example.com", + "email": faker.internet.exampleEmail(), "phone": "+4909132123456", "address": { address1: "Teststreet 1", @@ -214,7 +234,7 @@ describe('register valid company', () => { "firstname": "string", "middlename": "string", "lastname": "string", - "email": "user@example.com", + "email": "faker.internet.exampleEmail(), "phone": "+4909132123456", "address": { address1: "Teststreet 1", @@ -232,7 +252,7 @@ describe('register valid company', () => { "firstname": "string", "middlename": "string", "lastname": "string", - "email": "user@example.com", + "email": faker.internet.exampleEmail(), "phone": "+4909132123456", "address": { address1: "Teststreet 1",