parent
a434173b54
commit
5510cbb8e9
|
@ -0,0 +1,113 @@
|
|||
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('POST /api/stations illegally', () => {
|
||||
it('no track input should return 400', async () => {
|
||||
const res = await axios.post(base + '/api/stations', {
|
||||
"description": "string",
|
||||
}, axios_config);
|
||||
expect(res.status).toEqual(400);
|
||||
expect(res.headers['content-type']).toContain("application/json")
|
||||
});
|
||||
it('illegal track input should return 404', async () => {
|
||||
const res = await axios.post(base + '/api/stations', {
|
||||
"description": "string",
|
||||
"track": -1
|
||||
}, axios_config);
|
||||
expect(res.status).toEqual(400);
|
||||
expect(res.headers['content-type']).toContain("application/json")
|
||||
});
|
||||
});
|
||||
// ---------------
|
||||
describe('POST /api/stations successfully', () => {
|
||||
let added_track;
|
||||
it('creating a track with the minimum amount of parameters should return 200', async () => {
|
||||
const res = await axios.post(base + '/api/tracks', {
|
||||
"name": "testtrack",
|
||||
"distance": 200,
|
||||
}, axios_config);
|
||||
added_track = res.data;
|
||||
expect(res.status).toEqual(200);
|
||||
expect(res.headers['content-type']).toContain("application/json");
|
||||
});
|
||||
it('creating a station with minimum parameters should return 200', async () => {
|
||||
const res = await axios.post(base + '/api/stations', {
|
||||
"track": added_track.id
|
||||
}, axios_config);
|
||||
expect(res.status).toEqual(200);
|
||||
expect(res.headers['content-type']).toContain("application/json");
|
||||
delete res.data.id;
|
||||
delete res.data.prefix;
|
||||
delete res.data.key;
|
||||
expect(res.data).toEqual({
|
||||
"track": added_track,
|
||||
"description": null,
|
||||
"enabled": true
|
||||
});
|
||||
});
|
||||
it('creating a station with all parameters (optional set to true/empty) should return 200', async () => {
|
||||
const res = await axios.post(base + '/api/stations', {
|
||||
"track": added_track.id,
|
||||
"enabled": true,
|
||||
"description": null
|
||||
}, axios_config);
|
||||
expect(res.status).toEqual(200);
|
||||
expect(res.headers['content-type']).toContain("application/json");
|
||||
delete res.data.id;
|
||||
delete res.data.prefix;
|
||||
delete res.data.key;
|
||||
expect(res.data).toEqual({
|
||||
"track": added_track,
|
||||
"description": null,
|
||||
"enabled": true
|
||||
});
|
||||
});
|
||||
it('creating a disabled station with all parameters (optional set to true/empty) should return 200', async () => {
|
||||
const res = await axios.post(base + '/api/stations', {
|
||||
"track": added_track.id,
|
||||
"enabled": false,
|
||||
"description": null
|
||||
}, axios_config);
|
||||
expect(res.status).toEqual(200);
|
||||
expect(res.headers['content-type']).toContain("application/json");
|
||||
delete res.data.id;
|
||||
delete res.data.prefix;
|
||||
delete res.data.key;
|
||||
expect(res.data).toEqual({
|
||||
"track": added_track,
|
||||
"description": null,
|
||||
"enabled": false
|
||||
});
|
||||
});
|
||||
it('creating a station with all parameters (optional set) should return 200', async () => {
|
||||
const res = await axios.post(base + '/api/stations', {
|
||||
"track": added_track.id,
|
||||
"enabled": true,
|
||||
"description": "test station for testing"
|
||||
}, axios_config);
|
||||
expect(res.status).toEqual(200);
|
||||
expect(res.headers['content-type']).toContain("application/json");
|
||||
delete res.data.id;
|
||||
delete res.data.prefix;
|
||||
delete res.data.key;
|
||||
expect(res.data).toEqual({
|
||||
"track": added_track,
|
||||
"description": "test station for testing",
|
||||
"enabled": true
|
||||
});
|
||||
});
|
||||
});
|
Loading…
Reference in New Issue