opt-cc/server/test/wars.spec.js

81 lines
2.2 KiB
JavaScript
Raw Normal View History

2017-07-09 18:45:07 +02:00
let urls = require('../config/api-url');
let codes = require('../routes/http-codes');
2018-03-12 09:26:44 +01:00
// Require the dev-dependencies
2017-07-09 18:45:07 +02:00
let chai = require('chai');
let chaiHttp = require('chai-http');
let server = require('../server');
2018-03-12 12:35:19 +01:00
// chai methods
require('chai').should();
2017-07-09 18:45:07 +02:00
chai.use(chaiHttp);
2018-03-12 09:26:44 +01:00
// Our parent block
2017-07-09 18:45:07 +02:00
describe('Wars', () => {
/*
* Test the /GET awardings
*/
describe('/GET wars', () => {
it('it should GET all wars', (done) => {
chai.request(server)
2018-02-26 09:04:27 +01:00
.get(urls.wars)
.end((err, res) => {
res.should.have.status(codes.success);
res.body.should.be.a('array');
res.body.length.should.be.eql(0);
done();
});
2017-07-09 18:45:07 +02:00
});
});
/*
* Test the /POST awardings
*/
describe('/POST wars', () => {
it('it should not POST a war without auth-token provided', (done) => {
chai.request(server)
2018-02-26 09:04:27 +01:00
.post(urls.wars)
.send({})
.end((err, res) => {
res.should.have.status(codes.forbidden);
res.body.should.be.a('object');
res.body.should.have.property('success').eql(false);
res.body.should.have.property('message').eql('No token provided.');
done();
});
2017-07-09 18:45:07 +02:00
});
});
/*
* Test the /DELETE awardings
*/
describe('/DELETE wars', () => {
it('it should not accept DELETE method without id in url', (done) => {
chai.request(server)
2018-02-26 09:04:27 +01:00
.delete(urls.wars)
.send({})
.end((err, res) => {
res.should.have.status(codes.wrongmethod);
res.body.should.be.a('object');
res.body.should.have.property('error').property('message')
.eql('this method is not allowed at ' + urls.wars);
done();
});
2017-07-09 18:45:07 +02:00
});
it('it should not DELETE an awarding without auth-token provided', (done) => {
chai.request(server)
2018-02-26 09:04:27 +01:00
.delete(urls.wars + '/someId')
.send({})
.end((err, res) => {
res.should.have.status(codes.forbidden);
res.body.should.be.a('object');
res.body.should.have.property('success').eql(false);
res.body.should.have.property('message').eql('No token provided.');
done();
});
2017-07-09 18:45:07 +02:00
});
});
});