diff --git a/src/tests/firsttest.spec.ts b/src/tests/firsttest.spec.ts index 27c84d3..4cd1477 100644 --- a/src/tests/firsttest.spec.ts +++ b/src/tests/firsttest.spec.ts @@ -2,6 +2,18 @@ import axios from 'axios'; import { config } from '../config'; const base = "http://localhost:" + config.internal_port +let access_token; +let axios_config; + +beforeAll(async () => { + const res = await axios.post(base + '/api/auth/login', { username: "demo", password: "demo" }); + access_token = res.data["access_token"]; + axios_config = { + headers: { "authorization": "Bearer " + access_token }, + validateStatus: undefined + }; +}); + describe('GET /api/openapi.json', () => { it('is http 200', async () => { const res = await axios.get(base + '/api/openapi.json'); @@ -10,13 +22,13 @@ describe('GET /api/openapi.json', () => { }); describe('GET /', () => { it('is http 404', async () => { - const res = await axios.get(base + '/', { validateStatus: undefined }); + const res = await axios.get(base + '/', axios_config); expect(res.status).toEqual(404); }); }); describe('GET /api/teams', () => { it('is http 200 && is json', async () => { - const res = await axios.get(base + '/api/teams', { validateStatus: undefined }); + const res = await axios.get(base + '/api/teams', axios_config); expect(res.status).toEqual(200); expect(res.headers['content-type']).toContain("application/json") }); diff --git a/src/tests/runnerOrgs/org_add.spec.ts b/src/tests/runnerOrgs/org_add.spec.ts index fb28b62..6ee0606 100644 --- a/src/tests/runnerOrgs/org_add.spec.ts +++ b/src/tests/runnerOrgs/org_add.spec.ts @@ -2,9 +2,21 @@ import axios from 'axios'; import { config } from '../../config'; const base = "http://localhost:" + config.internal_port +let access_token; +let axios_config; + +beforeAll(async () => { + const res = await axios.post(base + '/api/auth/login', { username: "demo", password: "demo" }); + access_token = res.data["access_token"]; + axios_config = { + headers: { "authorization": "Bearer " + access_token }, + validateStatus: undefined + }; +}); + describe('GET /api/organisations', () => { it('basic get should return 200', async () => { - const res = await axios.get(base + '/api/organisations'); + const res = await axios.get(base + '/api/organisations', axios_config); expect(res.status).toEqual(200); expect(res.headers['content-type']).toContain("application/json") }); @@ -14,14 +26,14 @@ describe('POST /api/organisations', () => { it('creating a new org with just a name should return 200', async () => { const res = await axios.post(base + '/api/organisations', { "name": "test123" - }); + }, axios_config); expect(res.status).toEqual(200); expect(res.headers['content-type']).toContain("application/json") }); it('creating a new org with without a name should return 400', async () => { const res = await axios.post(base + '/api/organisations', { "name": null - }, { validateStatus: undefined }); + }, axios_config); expect(res.status).toEqual(400); expect(res.headers['content-type']).toContain("application/json") }); @@ -31,12 +43,12 @@ describe('adding + getting from all orgs', () => { it('creating a new org with just a name should return 200', async () => { const res = await axios.post(base + '/api/organisations', { "name": "test123" - }); + }, axios_config); expect(res.status).toEqual(200); expect(res.headers['content-type']).toContain("application/json") }); it('check if org was added', async () => { - const res = await axios.get(base + '/api/organisations'); + const res = await axios.get(base + '/api/organisations', axios_config); expect(res.status).toEqual(200); expect(res.headers['content-type']).toContain("application/json") let added_org = res.data[res.data.length - 1] @@ -55,14 +67,14 @@ describe('adding + getting explicitly', () => { it('creating a new org with just a name should return 200', async () => { const res1 = await axios.post(base + '/api/organisations', { "name": "test123" - }); + }, axios_config); let added_org = res1.data added_org_id = added_org.id; expect(res1.status).toEqual(200); expect(res1.headers['content-type']).toContain("application/json") }); it('check if org was added', async () => { - const res2 = await axios.get(base + '/api/organisations/' + added_org_id); + const res2 = await axios.get(base + '/api/organisations/' + added_org_id, axios_config); expect(res2.status).toEqual(200); expect(res2.headers['content-type']).toContain("application/json") let added_org2 = res2.data diff --git a/src/tests/runnerOrgs/org_delete.spec.ts b/src/tests/runnerOrgs/org_delete.spec.ts index f8d5824..08891f8 100644 --- a/src/tests/runnerOrgs/org_delete.spec.ts +++ b/src/tests/runnerOrgs/org_delete.spec.ts @@ -2,10 +2,22 @@ import axios from 'axios'; import { config } from '../../config'; const base = "http://localhost:" + config.internal_port +let access_token; +let axios_config; + +beforeAll(async () => { + const res = await axios.post(base + '/api/auth/login', { username: "demo", password: "demo" }); + access_token = res.data["access_token"]; + axios_config = { + headers: { "authorization": "Bearer " + access_token }, + validateStatus: undefined + }; +}); + // --------------- describe('adding + deletion (non-existant)', () => { it('delete', async () => { - const res2 = await axios.delete(base + '/api/organisations/0', { validateStatus: undefined }); + const res2 = await axios.delete(base + '/api/organisations/0', axios_config); expect(res2.status).toEqual(204); }); }); @@ -16,14 +28,14 @@ describe('adding + deletion (successfull)', () => { it('creating a new org with just a name should return 200', async () => { const res1 = await axios.post(base + '/api/organisations', { "name": "test123" - }); + }, axios_config); added_org = res1.data added_org_id = added_org.id; expect(res1.status).toEqual(200); expect(res1.headers['content-type']).toContain("application/json") }); it('delete', async () => { - const res2 = await axios.delete(base + '/api/organisations/' + added_org_id); + const res2 = await axios.delete(base + '/api/organisations/' + added_org_id, axios_config); expect(res2.status).toEqual(200); expect(res2.headers['content-type']).toContain("application/json") let added_org2 = res2.data @@ -37,7 +49,7 @@ describe('adding + deletion (successfull)', () => { }); }); it('check if org really was deleted', async () => { - const res3 = await axios.get(base + '/api/organisations/' + added_org_id, { validateStatus: undefined }); + const res3 = await axios.get(base + '/api/organisations/' + added_org_id, axios_config); expect(res3.status).toEqual(404); expect(res3.headers['content-type']).toContain("application/json") }); @@ -51,7 +63,7 @@ describe('adding + deletion with teams still existing (without force)', () => { it('creating a new org with just a name should return 200', async () => { const res1 = await axios.post(base + '/api/organisations', { "name": "test123" - }); + }, axios_config); added_org = res1.data; added_org_id = added_org.id; expect(res1.status).toEqual(200); @@ -61,14 +73,14 @@ describe('adding + deletion with teams still existing (without force)', () => { const res2 = await axios.post(base + '/api/teams', { "name": "test123", "parentGroup": added_org_id - }); + }, axios_config); added_team = res2.data; added_team_id = added_team.id; expect(res2.status).toEqual(200); expect(res2.headers['content-type']).toContain("application/json") }); it('delete org - this should fail with a 406', async () => { - const res2 = await axios.delete(base + '/api/organisations/' + added_org_id, { validateStatus: undefined }); + const res2 = await axios.delete(base + '/api/organisations/' + added_org_id, axios_config); expect(res2.status).toEqual(406); expect(res2.headers['content-type']).toContain("application/json") }); @@ -82,7 +94,7 @@ describe('adding + deletion with teams still existing (with force)', () => { it('creating a new org with just a name should return 200', async () => { const res1 = await axios.post(base + '/api/organisations', { "name": "test123" - }); + }, axios_config); added_org = res1.data; added_org_id = added_org.id; expect(res1.status).toEqual(200); @@ -92,14 +104,14 @@ describe('adding + deletion with teams still existing (with force)', () => { const res2 = await axios.post(base + '/api/teams', { "name": "test123", "parentGroup": added_org_id - }); + }, axios_config); added_team = res2.data; added_team_id = added_team.id; expect(res2.status).toEqual(200); expect(res2.headers['content-type']).toContain("application/json") }); it('delete', async () => { - const res2 = await axios.delete(base + '/api/organisations/' + added_org_id + '?force=true'); + const res2 = await axios.delete(base + '/api/organisations/' + added_org_id + '?force=true', axios_config); expect(res2.status).toEqual(200); expect(res2.headers['content-type']).toContain("application/json") let added_org2 = res2.data @@ -113,7 +125,7 @@ describe('adding + deletion with teams still existing (with force)', () => { }); }); it('check if org really was deleted', async () => { - const res3 = await axios.get(base + '/api/organisations/' + added_org_id, { validateStatus: undefined }); + const res3 = await axios.get(base + '/api/organisations/' + added_org_id, axios_config); expect(res3.status).toEqual(404); expect(res3.headers['content-type']).toContain("application/json") }); diff --git a/src/tests/runnerOrgs/org_get.spec.ts b/src/tests/runnerOrgs/org_get.spec.ts index 3e899f7..5e17f19 100644 --- a/src/tests/runnerOrgs/org_get.spec.ts +++ b/src/tests/runnerOrgs/org_get.spec.ts @@ -2,9 +2,21 @@ import axios from 'axios'; import { config } from '../../config'; const base = "http://localhost:" + config.internal_port +let access_token; +let axios_config; + +beforeAll(async () => { + const res = await axios.post(base + '/api/auth/login', { username: "demo", password: "demo" }); + access_token = res.data["access_token"]; + axios_config = { + headers: { "authorization": "Bearer " + access_token }, + validateStatus: undefined + }; +}); + describe('GET /api/organisations', () => { it('basic get should return 200', async () => { - const res = await axios.get(base + '/api/organisations'); + const res = await axios.get(base + '/api/organisations', axios_config); expect(res.status).toEqual(200); expect(res.headers['content-type']).toContain("application/json") }); @@ -12,7 +24,7 @@ describe('GET /api/organisations', () => { // --------------- describe('GET /api/organisations/0', () => { it('basic get should return 404', async () => { - const res = await axios.get(base + '/api/runners/0', { validateStatus: undefined }); + const res = await axios.get(base + '/api/runners/0', axios_config); expect(res.status).toEqual(404); expect(res.headers['content-type']).toContain("application/json") }); diff --git a/src/tests/runnerOrgs/org_update.spec.ts b/src/tests/runnerOrgs/org_update.spec.ts index 06a35f6..e6a1055 100644 --- a/src/tests/runnerOrgs/org_update.spec.ts +++ b/src/tests/runnerOrgs/org_update.spec.ts @@ -2,6 +2,18 @@ import axios from 'axios'; import { config } from '../../config'; const base = "http://localhost:" + config.internal_port +let access_token; +let axios_config; + +beforeAll(async () => { + const res = await axios.post(base + '/api/auth/login', { username: "demo", password: "demo" }); + access_token = res.data["access_token"]; + axios_config = { + headers: { "authorization": "Bearer " + access_token }, + validateStatus: undefined + }; +}); + // --------------- describe('adding + updating name', () => { let added_org_id @@ -9,7 +21,7 @@ describe('adding + updating name', () => { it('creating a new org with just a name should return 200', async () => { const res1 = await axios.post(base + '/api/organisations', { "name": "test123" - }); + }, axios_config); added_org = res1.data added_org_id = added_org.id; expect(res1.status).toEqual(200); @@ -21,7 +33,7 @@ describe('adding + updating name', () => { "name": "testlelele", "contact": null, "address": null, - }); + }, axios_config); expect(res2.status).toEqual(200); expect(res2.headers['content-type']).toContain("application/json") let added_org2 = res2.data @@ -42,7 +54,7 @@ describe('adding + try updating id (should return 406)', () => { it('creating a new org with just a name should return 200', async () => { const res1 = await axios.post(base + '/api/organisations', { "name": "test123" - }); + }, axios_config); added_org = res1.data added_org_id = added_org.id; expect(res1.status).toEqual(200); @@ -54,7 +66,7 @@ describe('adding + try updating id (should return 406)', () => { "name": "testlelele", "contact": null, "address": null, - }, { validateStatus: undefined }); + }, axios_config); expect(res2.status).toEqual(406); expect(res2.headers['content-type']).toContain("application/json") }); diff --git a/src/tests/runnerTeams/team_add.spec.ts b/src/tests/runnerTeams/team_add.spec.ts index 5ce61d3..588276a 100644 --- a/src/tests/runnerTeams/team_add.spec.ts +++ b/src/tests/runnerTeams/team_add.spec.ts @@ -2,9 +2,21 @@ import axios from 'axios'; import { config } from '../../config'; const base = "http://localhost:" + config.internal_port +let access_token; +let axios_config; + +beforeAll(async () => { + const res = await axios.post(base + '/api/auth/login', { username: "demo", password: "demo" }); + access_token = res.data["access_token"]; + axios_config = { + headers: { "authorization": "Bearer " + access_token }, + validateStatus: undefined + }; +}); + describe('GET /api/teams', () => { it('basic get should return 200', async () => { - const res = await axios.get(base + '/api/teams'); + const res = await axios.get(base + '/api/teams', axios_config); expect(res.status).toEqual(200); expect(res.headers['content-type']).toContain("application/json") }); @@ -12,7 +24,7 @@ describe('GET /api/teams', () => { // --------------- describe('GET /api/teams/0', () => { it('basic get should return 404', async () => { - const res = await axios.get(base + '/api/teams/0', { validateStatus: undefined }); + const res = await axios.get(base + '/api/teams/0', axios_config); expect(res.status).toEqual(404); expect(res.headers['content-type']).toContain("application/json") }); @@ -22,14 +34,14 @@ describe('POST /api/teams with errors', () => { it('creating a new team without a name should return 400', async () => { const res1 = await axios.post(base + '/api/teams', { "name": null - }, { validateStatus: undefined }); + }, axios_config); expect(res1.status).toEqual(400); expect(res1.headers['content-type']).toContain("application/json") }); it('creating a new team without a org should return 400', async () => { const res2 = await axios.post(base + '/api/teams', { "name": "test_team" - }, { validateStatus: undefined }); + }, axios_config); expect(res2.status).toEqual(400); expect(res2.headers['content-type']).toContain("application/json") }); @@ -37,7 +49,7 @@ describe('POST /api/teams with errors', () => { const res3 = await axios.post(base + '/api/teams', { "name": "test_team", "parentGroup": -1 - }, { validateStatus: undefined }); + }, axios_config); expect(res3.status).toEqual(404); expect(res3.headers['content-type']).toContain("application/json") }); @@ -48,7 +60,7 @@ describe('POST /api/teams working', () => { it('creating a new org with just a name should return 200', async () => { const res1 = await axios.post(base + '/api/organisations', { "name": "test123" - }); + }, axios_config); let added_org = res1.data added_org_id = added_org.id; expect(res1.status).toEqual(200); @@ -58,7 +70,7 @@ describe('POST /api/teams working', () => { const res2 = await axios.post(base + '/api/teams', { "name": "test_team", "parentGroup": added_org_id - }); + }, axios_config); expect(res2.status).toEqual(200); expect(res2.headers['content-type']).toContain("application/json") }); diff --git a/src/tests/runnerTeams/team_delete.spec.ts b/src/tests/runnerTeams/team_delete.spec.ts index 9210789..2f4270d 100644 --- a/src/tests/runnerTeams/team_delete.spec.ts +++ b/src/tests/runnerTeams/team_delete.spec.ts @@ -2,6 +2,18 @@ import axios from 'axios'; import { config } from '../../config'; const base = "http://localhost:" + config.internal_port +let access_token; +let axios_config; + +beforeAll(async () => { + const res = await axios.post(base + '/api/auth/login', { username: "demo", password: "demo" }); + access_token = res.data["access_token"]; + axios_config = { + headers: { "authorization": "Bearer " + access_token }, + validateStatus: undefined + }; +}); + // --------------- describe('adding org', () => { let added_org; @@ -11,7 +23,7 @@ describe('adding org', () => { it('creating a new org with just a name should return 200', async () => { const res1 = await axios.post(base + '/api/organisations', { "name": "test123" - }); + }, axios_config); added_org = res1.data; added_org_id = added_org.id; expect(res1.status).toEqual(200); @@ -21,14 +33,14 @@ describe('adding org', () => { const res2 = await axios.post(base + '/api/teams', { "name": "test123", "parentGroup": added_org_id - }); + }, axios_config); added_team = res2.data; added_team_id = added_team.id; expect(res2.status).toEqual(200); expect(res2.headers['content-type']).toContain("application/json") }); it('delete team', async () => { - const res2 = await axios.delete(base + '/api/teams/' + added_team_id); + const res2 = await axios.delete(base + '/api/teams/' + added_team_id, axios_config); expect(res2.status).toEqual(200); expect(res2.headers['content-type']).toContain("application/json") let deleted_team = res2.data @@ -40,7 +52,7 @@ describe('adding org', () => { }); }); it('check if team really was deleted', async () => { - const res3 = await axios.get(base + '/api/teams/' + added_team_id, { validateStatus: undefined }); + const res3 = await axios.get(base + '/api/teams/' + added_team_id, axios_config); expect(res3.status).toEqual(404); expect(res3.headers['content-type']).toContain("application/json") }); @@ -48,7 +60,7 @@ describe('adding org', () => { // --------------- describe('adding + deletion (non-existant)', () => { it('delete', async () => { - const res2 = await axios.delete(base + '/api/teams/0', { validateStatus: undefined }); + const res2 = await axios.delete(base + '/api/teams/0', axios_config); expect(res2.status).toEqual(204); }); }); diff --git a/src/tests/runnerTeams/team_get.spec.ts b/src/tests/runnerTeams/team_get.spec.ts index f30b230..be67268 100644 --- a/src/tests/runnerTeams/team_get.spec.ts +++ b/src/tests/runnerTeams/team_get.spec.ts @@ -2,9 +2,21 @@ import axios from 'axios'; import { config } from '../../config'; const base = "http://localhost:" + config.internal_port +let access_token; +let axios_config; + +beforeAll(async () => { + const res = await axios.post(base + '/api/auth/login', { username: "demo", password: "demo" }); + access_token = res.data["access_token"]; + axios_config = { + headers: { "authorization": "Bearer " + access_token }, + validateStatus: undefined + }; +}); + describe('GET /api/teams', () => { it('basic get should return 200', async () => { - const res = await axios.get(base + '/api/teams'); + const res = await axios.get(base + '/api/teams', axios_config); expect(res.status).toEqual(200); expect(res.headers['content-type']).toContain("application/json") }); @@ -12,7 +24,7 @@ describe('GET /api/teams', () => { // --------------- describe('GET /api/teams/0', () => { it('basic get should return 404', async () => { - const res = await axios.get(base + '/api/teams/0', { validateStatus: undefined }); + const res = await axios.get(base + '/api/teams/0', axios_config); expect(res.status).toEqual(404); expect(res.headers['content-type']).toContain("application/json") }); diff --git a/src/tests/runnerTeams/team_update.spec.ts b/src/tests/runnerTeams/team_update.spec.ts index 10b6c0c..5d1355d 100644 --- a/src/tests/runnerTeams/team_update.spec.ts +++ b/src/tests/runnerTeams/team_update.spec.ts @@ -2,6 +2,17 @@ import axios from 'axios'; import { config } from '../../config'; const base = "http://localhost:" + config.internal_port +let access_token; +let axios_config; + +beforeAll(async () => { + const res = await axios.post(base + '/api/auth/login', { username: "demo", password: "demo" }); + access_token = res.data["access_token"]; + axios_config = { + headers: { "authorization": "Bearer " + access_token }, + validateStatus: undefined + }; +}); // --------------- describe('adding + updating name', () => { let added_org; @@ -11,7 +22,7 @@ describe('adding + updating name', () => { it('creating a new org with just a name should return 200', async () => { const res1 = await axios.post(base + '/api/organisations', { "name": "test123" - }); + }, axios_config); added_org = res1.data; added_org_id = added_org.id; expect(res1.status).toEqual(200); @@ -21,7 +32,7 @@ describe('adding + updating name', () => { const res2 = await axios.post(base + '/api/teams', { "name": "test123", "parentGroup": added_org_id - }); + }, axios_config); added_team = res2.data; added_team_id = added_team.id; expect(res2.status).toEqual(200); @@ -33,7 +44,7 @@ describe('adding + updating name', () => { "name": "testlelele", "contact": null, "parentGroup": added_org - }); + }, axios_config); expect(res3.status).toEqual(200); expect(res3.headers['content-type']).toContain("application/json") let updated_team = res3.data; @@ -50,7 +61,7 @@ describe('adding + try updating id (should return 406)', () => { it('creating a new org with just a name should return 200', async () => { const res1 = await axios.post(base + '/api/organisations', { "name": "test123" - }); + }, axios_config); added_org = res1.data; added_org_id = added_org.id; expect(res1.status).toEqual(200); @@ -60,7 +71,7 @@ describe('adding + try updating id (should return 406)', () => { const res2 = await axios.post(base + '/api/teams', { "name": "test123", "parentGroup": added_org_id - }); + }, axios_config); added_team = res2.data; added_team_id = added_team.id; expect(res2.status).toEqual(200); @@ -68,7 +79,7 @@ describe('adding + try updating id (should return 406)', () => { }); it('update team', async () => { added_team.id = added_team.id + 1; - const res3 = await axios.put(base + '/api/teams/' + added_team_id, added_team, { validateStatus: undefined }); + const res3 = await axios.put(base + '/api/teams/' + added_team_id, added_team, axios_config); expect(res3.status).toEqual(406); expect(res3.headers['content-type']).toContain("application/json") }); @@ -82,7 +93,7 @@ describe('add+update parent org (valid)', () => { it('creating a new org with just a name should return 200', async () => { const res1 = await axios.post(base + '/api/organisations', { "name": "test123" - }); + }, axios_config); added_org = res1.data; expect(res1.status).toEqual(200); expect(res1.headers['content-type']).toContain("application/json") @@ -91,7 +102,7 @@ describe('add+update parent org (valid)', () => { const res2 = await axios.post(base + '/api/teams', { "name": "test123", "parentGroup": added_org.id - }); + }, axios_config); added_team = res2.data; added_team_id = added_team.id; expect(res2.status).toEqual(200); @@ -100,14 +111,14 @@ describe('add+update parent org (valid)', () => { it('creating a new org with just a name should return 200', async () => { const res3 = await axios.post(base + '/api/organisations', { "name": "test123" - }); + }, axios_config); added_org2 = res3.data; expect(res3.status).toEqual(200); expect(res3.headers['content-type']).toContain("application/json") }); it('update team', async () => { added_team.parentGroup = added_org2; - const res4 = await axios.put(base + '/api/teams/' + added_team_id, added_team, { validateStatus: undefined }); + const res4 = await axios.put(base + '/api/teams/' + added_team_id, added_team, axios_config); let updated_team = res4.data; expect(res4.status).toEqual(200); expect(res4.headers['content-type']).toContain("application/json") diff --git a/src/tests/runners/runner_add.spec.ts b/src/tests/runners/runner_add.spec.ts index f92ef87..44e2354 100644 --- a/src/tests/runners/runner_add.spec.ts +++ b/src/tests/runners/runner_add.spec.ts @@ -2,9 +2,21 @@ import axios from 'axios'; import { config } from '../../config'; const base = "http://localhost:" + config.internal_port +let access_token; +let axios_config; + +beforeAll(async () => { + const res = await axios.post(base + '/api/auth/login', { username: "demo", password: "demo" }); + access_token = res.data["access_token"]; + axios_config = { + headers: { "authorization": "Bearer " + access_token }, + validateStatus: undefined + }; +}); + describe('GET /api/runners', () => { it('basic get should return 200', async () => { - const res = await axios.get(base + '/api/runners'); + const res = await axios.get(base + '/api/runners', axios_config); expect(res.status).toEqual(200); expect(res.headers['content-type']).toContain("application/json") }); @@ -12,7 +24,7 @@ describe('GET /api/runners', () => { // --------------- describe('GET /api/runners/0', () => { it('basic get should return 404', async () => { - const res = await axios.get(base + '/api/runners/0', { validateStatus: undefined }); + const res = await axios.get(base + '/api/runners/0', axios_config); expect(res.status).toEqual(404); expect(res.headers['content-type']).toContain("application/json") }); @@ -20,7 +32,7 @@ describe('GET /api/runners/0', () => { // --------------- describe('POST /api/runners with errors', () => { it('creating a new runner without any parameters should return 400', async () => { - const res1 = await axios.post(base + '/api/runners', null, { validateStatus: undefined }); + const res1 = await axios.post(base + '/api/runners', null, axios_config); expect(res1.status).toEqual(400); expect(res1.headers['content-type']).toContain("application/json") }); @@ -29,7 +41,7 @@ describe('POST /api/runners with errors', () => { "firstname": "first", "middlename": "middle", "lastname": "last" - }, { validateStatus: undefined }); + }, axios_config); expect(res2.status).toEqual(400); expect(res2.headers['content-type']).toContain("application/json") }); @@ -39,7 +51,7 @@ describe('POST /api/runners with errors', () => { "middlename": "middle", "lastname": "last", "group": 0 - }, { validateStatus: undefined }); + }, axios_config); expect(res2.status).toEqual(404); expect(res2.headers['content-type']).toContain("application/json") }); @@ -49,7 +61,7 @@ describe('POST /api/runners with errors', () => { "middlename": "middle", "lastname": "last", "phone": "123" - }, { validateStatus: undefined }); + }, axios_config); expect(res2.status).toEqual(400); expect(res2.headers['content-type']).toContain("application/json") }); @@ -59,7 +71,7 @@ describe('POST /api/runners with errors', () => { "middlename": "middle", "lastname": "last", "email ": "123" - }, { validateStatus: undefined }); + }, axios_config); expect(res2.status).toEqual(400); expect(res2.headers['content-type']).toContain("application/json") }); @@ -70,7 +82,7 @@ describe('POST /api/runners working', () => { it('creating a new org with just a name should return 200', async () => { const res1 = await axios.post(base + '/api/organisations', { "name": "test123" - }); + }, axios_config); let added_org = res1.data added_org_id = added_org.id; expect(res1.status).toEqual(200); @@ -81,7 +93,7 @@ describe('POST /api/runners working', () => { "firstname": "first", "lastname": "last", "group": added_org_id - }, { validateStatus: undefined }); + }, axios_config); expect(res2.status).toEqual(200); expect(res2.headers['content-type']).toContain("application/json") }); @@ -93,7 +105,7 @@ describe('POST /api/runners working', () => { "email": "test@example.com", "phone": "+4909123123456789", "group": added_org_id - }, { validateStatus: undefined }); + }, axios_config); expect(res3.status).toEqual(200); expect(res3.headers['content-type']).toContain("application/json") }); diff --git a/src/tests/runners/runner_delete.spec.ts b/src/tests/runners/runner_delete.spec.ts index b1239e4..36e72e7 100644 --- a/src/tests/runners/runner_delete.spec.ts +++ b/src/tests/runners/runner_delete.spec.ts @@ -2,9 +2,21 @@ import axios from 'axios'; import { config } from '../../config'; const base = "http://localhost:" + config.internal_port +let access_token; +let axios_config; + +beforeAll(async () => { + const res = await axios.post(base + '/api/auth/login', { username: "demo", password: "demo" }); + access_token = res.data["access_token"]; + axios_config = { + headers: { "authorization": "Bearer " + access_token }, + validateStatus: undefined + }; +}); + describe('adding + deletion (non-existant)', () => { it('delete', async () => { - const res2 = await axios.delete(base + '/api/runners/0', { validateStatus: undefined }); + const res2 = await axios.delete(base + '/api/runners/0', axios_config); expect(res2.status).toEqual(204); }); }); @@ -15,7 +27,7 @@ describe('add+delete', () => { it('creating a new org with just a name should return 200', async () => { const res1 = await axios.post(base + '/api/organisations', { "name": "test123" - }); + }, axios_config); let added_org = res1.data added_org_id = added_org.id; expect(res1.status).toEqual(200); @@ -26,20 +38,20 @@ describe('add+delete', () => { "firstname": "first", "lastname": "last", "group": added_org_id - }, { validateStatus: undefined }); + }, axios_config); added_runner = res2.data; expect(res2.status).toEqual(200); expect(res2.headers['content-type']).toContain("application/json") }); it('delete runner', async () => { - const res3 = await axios.delete(base + '/api/runners/' + added_runner.id); + const res3 = await axios.delete(base + '/api/runners/' + added_runner.id, axios_config); expect(res3.status).toEqual(200); expect(res3.headers['content-type']).toContain("application/json") let deleted_runner = res3.data expect(deleted_runner).toEqual(added_runner); }); it('check if team really was deleted', async () => { - const res4 = await axios.get(base + '/api/runners/' + added_runner.id, { validateStatus: undefined }); + const res4 = await axios.get(base + '/api/runners/' + added_runner.id, axios_config); expect(res4.status).toEqual(404); expect(res4.headers['content-type']).toContain("application/json") }); diff --git a/src/tests/runners/runner_get.spec.ts b/src/tests/runners/runner_get.spec.ts index 13d259c..963512a 100644 --- a/src/tests/runners/runner_get.spec.ts +++ b/src/tests/runners/runner_get.spec.ts @@ -1,10 +1,21 @@ import axios from 'axios'; import { config } from '../../config'; const base = "http://localhost:" + config.internal_port +let access_token; +let axios_config; + +beforeAll(async () => { + const res = await axios.post(base + '/api/auth/login', { username: "demo", password: "demo" }); + access_token = res.data["access_token"]; + axios_config = { + headers: { "authorization": "Bearer " + access_token }, + validateStatus: undefined + }; +}); describe('GET /api/runners', () => { it('basic get should return 200', async () => { - const res = await axios.get(base + '/api/runners'); + const res = await axios.get(base + '/api/runners', axios_config); expect(res.status).toEqual(200); expect(res.headers['content-type']).toContain("application/json") }); @@ -12,7 +23,7 @@ describe('GET /api/runners', () => { // --------------- describe('GET /api/runners/0', () => { it('basic get should return 404', async () => { - const res = await axios.get(base + '/api/runners/0', { validateStatus: undefined }); + const res = await axios.get(base + '/api/runners/0', axios_config); expect(res.status).toEqual(404); expect(res.headers['content-type']).toContain("application/json") }); @@ -24,7 +35,7 @@ describe('GET /api/runners after adding', () => { it('creating a new org with just a name should return 200', async () => { const res1 = await axios.post(base + '/api/organisations', { "name": "test123" - }); + }, axios_config); let added_org = res1.data added_org_id = added_org.id; expect(res1.status).toEqual(200); @@ -35,20 +46,20 @@ describe('GET /api/runners after adding', () => { "firstname": "first", "lastname": "last", "group": added_org_id - }, { validateStatus: undefined }); + }, axios_config); added_runner = res2.data; expect(res2.status).toEqual(200); expect(res2.headers['content-type']).toContain("application/json") }); it('explicit get should return 200', async () => { - const res3 = await axios.get(base + '/api/runners/' + added_runner.id, { validateStatus: undefined }); + const res3 = await axios.get(base + '/api/runners/' + added_runner.id, axios_config); expect(res3.status).toEqual(200); expect(res3.headers['content-type']).toContain("application/json") let gotten_runner = res3.data expect(gotten_runner).toEqual(added_runner); }); it('get from all runners should return 200', async () => { - const res4 = await axios.get(base + '/api/runners/', { validateStatus: undefined }); + const res4 = await axios.get(base + '/api/runners/', axios_config); expect(res4.status).toEqual(200); expect(res4.headers['content-type']).toContain("application/json") let gotten_runners = res4.data diff --git a/src/tests/runners/runner_update.spec.ts b/src/tests/runners/runner_update.spec.ts index 97ccf2a..d9a1266 100644 --- a/src/tests/runners/runner_update.spec.ts +++ b/src/tests/runners/runner_update.spec.ts @@ -2,6 +2,17 @@ import axios from 'axios'; import { config } from '../../config'; const base = "http://localhost:" + config.internal_port +let access_token; +let axios_config; + +beforeAll(async () => { + const res = await axios.post(base + '/api/auth/login', { username: "demo", password: "demo" }); + access_token = res.data["access_token"]; + axios_config = { + headers: { "authorization": "Bearer " + access_token }, + validateStatus: undefined + }; +}); describe('Update runner name after adding', () => { let added_org_id; @@ -10,7 +21,7 @@ describe('Update runner name after adding', () => { it('creating a new org with just a name should return 200', async () => { const res1 = await axios.post(base + '/api/organisations', { "name": "test123" - }); + }, axios_config); let added_org = res1.data added_org_id = added_org.id; expect(res1.status).toEqual(200); @@ -21,7 +32,7 @@ describe('Update runner name after adding', () => { "firstname": "first", "lastname": "last", "group": added_org_id - }, { validateStatus: undefined }); + }, axios_config); added_runner = res2.data; expect(res2.status).toEqual(200); expect(res2.headers['content-type']).toContain("application/json") @@ -29,7 +40,7 @@ describe('Update runner name after adding', () => { it('valid update should return 200', async () => { let runnercopy = added_runner runnercopy.firstname = "second" - const res3 = await axios.put(base + '/api/runners/' + added_runner.id, runnercopy, { validateStatus: undefined }); + const res3 = await axios.put(base + '/api/runners/' + added_runner.id, runnercopy, axios_config); expect(res3.status).toEqual(200); expect(res3.headers['content-type']).toContain("application/json") updated_runner = res3.data @@ -45,7 +56,7 @@ describe('Update runner group after adding', () => { it('creating a new org with just a name should return 200', async () => { const res1 = await axios.post(base + '/api/organisations', { "name": "test123" - }); + }, axios_config); let added_org = res1.data added_org_id = added_org.id; expect(res1.status).toEqual(200); @@ -56,7 +67,7 @@ describe('Update runner group after adding', () => { "firstname": "first", "lastname": "last", "group": added_org_id - }, { validateStatus: undefined }); + }, axios_config); added_runner = res2.data; expect(res2.status).toEqual(200); expect(res2.headers['content-type']).toContain("application/json") @@ -64,7 +75,7 @@ describe('Update runner group after adding', () => { it('creating a new org with just a name should return 200', async () => { const res3 = await axios.post(base + '/api/organisations', { "name": "test123" - }); + }, axios_config); added_org_2 = res3.data delete added_org_2.address; delete added_org_2.contact; @@ -74,7 +85,7 @@ describe('Update runner group after adding', () => { }); it('valid update should return 200', async () => { added_runner.group = added_org_2; - const res3 = await axios.put(base + '/api/runners/' + added_runner.id, added_runner, { validateStatus: undefined }); + const res3 = await axios.put(base + '/api/runners/' + added_runner.id, added_runner, axios_config); expect(res3.status).toEqual(200); expect(res3.headers['content-type']).toContain("application/json") updated_runner = res3.data @@ -89,7 +100,7 @@ describe('Update runner id after adding(should fail)', () => { it('creating a new org with just a name should return 200', async () => { const res1 = await axios.post(base + '/api/organisations', { "name": "test123" - }); + }, axios_config); let added_org = res1.data added_org_id = added_org.id; expect(res1.status).toEqual(200); @@ -100,7 +111,7 @@ describe('Update runner id after adding(should fail)', () => { "firstname": "first", "lastname": "last", "group": added_org_id - }, { validateStatus: undefined }); + }, axios_config); added_runner = res2.data; added_runner_id = added_runner.id; expect(res2.status).toEqual(200); @@ -108,7 +119,7 @@ describe('Update runner id after adding(should fail)', () => { }); it('invalid update should return 406', async () => { added_runner.id++; - const res3 = await axios.put(base + '/api/runners/' + added_runner_id, added_runner, { validateStatus: undefined }); + const res3 = await axios.put(base + '/api/runners/' + added_runner_id, added_runner, axios_config); expect(res3.status).toEqual(406); expect(res3.headers['content-type']).toContain("application/json") }); @@ -120,7 +131,7 @@ describe('Update runner group with invalid group after adding', () => { it('creating a new org with just a name should return 200', async () => { const res1 = await axios.post(base + '/api/organisations', { "name": "test123" - }); + }, axios_config); added_org = res1.data expect(res1.status).toEqual(200); expect(res1.headers['content-type']).toContain("application/json") @@ -130,7 +141,7 @@ describe('Update runner group with invalid group after adding', () => { "firstname": "first", "lastname": "last", "group": added_org.id - }, { validateStatus: undefined }); + }, axios_config); added_runner = res2.data; expect(res2.status).toEqual(200); expect(res2.headers['content-type']).toContain("application/json") @@ -138,7 +149,7 @@ describe('Update runner group with invalid group after adding', () => { it('invalid update should return 404', async () => { added_org.id = 0; added_runner.group = added_org; - const res3 = await axios.put(base + '/api/runners/' + added_runner.id, added_runner, { validateStatus: undefined }); + const res3 = await axios.put(base + '/api/runners/' + added_runner.id, added_runner, axios_config); expect(res3.status).toEqual(404); expect(res3.headers['content-type']).toContain("application/json") }); diff --git a/src/tests/tracks.spec.ts b/src/tests/tracks.spec.ts index b29294c..4646878 100644 --- a/src/tests/tracks.spec.ts +++ b/src/tests/tracks.spec.ts @@ -2,9 +2,21 @@ import axios from 'axios'; import { config } from '../config'; const base = "http://localhost:" + config.internal_port +let access_token; +let axios_config; + +beforeAll(async () => { + const res = await axios.post(base + '/api/auth/login', { username: "demo", password: "demo" }); + access_token = res.data["access_token"]; + axios_config = { + headers: { "authorization": "Bearer " + access_token }, + validateStatus: undefined + }; +}); + describe('GET /api/tracks', () => { it('basic get should return 200', async () => { - const res = await axios.get(base + '/api/tracks'); + const res = await axios.get(base + '/api/tracks', axios_config); expect(res.status).toEqual(200); expect(res.headers['content-type']).toContain("application/json") }); @@ -12,7 +24,7 @@ describe('GET /api/tracks', () => { const res = await axios.post(base + '/api/tracks', { "name": "string", "distance": 400 - }); + }, axios_config); expect(res.status).toEqual(200); expect(res.headers['content-type']).toContain("application/json") }); @@ -23,7 +35,7 @@ describe('POST /api/tracks', () => { const res = await axios.post(base + '/api/tracks', { "name": "string", "distance": -1 - }, { validateStatus: undefined }); + }, axios_config); expect(res.status).toEqual(400); expect(res.headers['content-type']).toContain("application/json") }); @@ -31,7 +43,7 @@ describe('POST /api/tracks', () => { const res = await axios.post(base + '/api/tracks', { "name": "string", "distance": 400 - }); + }, axios_config); expect(res.status).toEqual(200); expect(res.headers['content-type']).toContain("application/json") }); @@ -42,12 +54,12 @@ describe('adding + getting tracks', () => { const res = await axios.post(base + '/api/tracks', { "name": "string", "distance": 1000 - }); + }, axios_config); expect(res.status).toEqual(200); expect(res.headers['content-type']).toContain("application/json") }); it('check if track was added', async () => { - const res = await axios.get(base + '/api/tracks'); + const res = await axios.get(base + '/api/tracks', axios_config); expect(res.status).toEqual(200); expect(res.headers['content-type']).toContain("application/json") let added_track = res.data[res.data.length - 1] @@ -65,12 +77,12 @@ describe('adding + getting + updating', () => { const res = await axios.post(base + '/api/tracks', { "name": "string", "distance": 1500 - }); + }, axios_config); expect(res.status).toEqual(200); expect(res.headers['content-type']).toContain("application/json") }); it('get should return 200', async () => { - const res1 = await axios.get(base + '/api/tracks'); + const res1 = await axios.get(base + '/api/tracks', axios_config); expect(res1.status).toEqual(200); expect(res1.headers['content-type']).toContain("application/json") let added_track = res1.data[res1.data.length - 1] @@ -86,12 +98,12 @@ describe('adding + getting + updating', () => { "id": added_track_id, "name": "apitrack", "distance": 5100 - }); + }, axios_config); expect(res2.status).toEqual(200); expect(res2.headers['content-type']).toContain("application/json") }) it('get should return 200', async () => { - const res3 = await axios.get(base + '/api/tracks'); + const res3 = await axios.get(base + '/api/tracks', axios_config); expect(res3.status).toEqual(200); expect(res3.headers['content-type']).toContain("application/json") let added_track2 = res3.data[res3.data.length - 1]