2017-05-11 15:12:17 +02:00
|
|
|
let AwardingModel = require('../models/awarding');
|
2017-05-11 18:36:32 +02:00
|
|
|
let urls = require('../config/api-url');
|
2017-05-11 15:12:17 +02:00
|
|
|
let codes = require('../routes/http-codes');
|
|
|
|
|
|
|
|
|
2018-03-12 09:26:44 +01:00
|
|
|
// Require the dev-dependencies
|
2017-05-11 15:12:17 +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-05-11 15:12:17 +02:00
|
|
|
chai.use(chaiHttp);
|
2018-03-12 09:26:44 +01:00
|
|
|
// Our parent block
|
2017-05-11 15:12:17 +02:00
|
|
|
describe('Awardings', () => {
|
2018-03-12 09:26:44 +01:00
|
|
|
beforeEach((done) => { // Before each test we empty the database
|
2019-02-16 11:47:39 +01:00
|
|
|
AwardingModel.deleteMany({}, (err) => {
|
2017-05-11 15:12:17 +02:00
|
|
|
done();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
/*
|
|
|
|
* Test the /GET awardings
|
|
|
|
*/
|
|
|
|
describe('/GET awardings', () => {
|
2017-07-09 18:45:07 +02:00
|
|
|
it('it should GET all awardings', (done) => {
|
2017-05-11 15:12:17 +02:00
|
|
|
chai.request(server)
|
2018-02-26 09:04:27 +01:00
|
|
|
.get(urls.awards)
|
|
|
|
.end((err, res) => {
|
|
|
|
res.should.have.status(codes.success);
|
|
|
|
res.body.should.be.a('array');
|
|
|
|
res.body.length.should.be.eql(0);
|
|
|
|
done();
|
|
|
|
});
|
2017-05-11 15:12:17 +02:00
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Test the /POST awardings
|
|
|
|
*/
|
|
|
|
describe('/POST awardings', () => {
|
|
|
|
it('it should not POST an awarding without auth-token provided', (done) => {
|
|
|
|
chai.request(server)
|
2018-02-26 09:04:27 +01:00
|
|
|
.post(urls.awards)
|
|
|
|
.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-05-11 15:12:17 +02:00
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Test the /PATCH awardings
|
|
|
|
*/
|
|
|
|
describe('/PATCH awardings', () => {
|
|
|
|
it('it should not PATCH an awarding without auth-token provided', (done) => {
|
|
|
|
chai.request(server)
|
2018-02-26 09:04:27 +01:00
|
|
|
.patch(urls.awards + '/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-05-11 15:12:17 +02:00
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Test the /DELETE awardings
|
|
|
|
*/
|
|
|
|
describe('/DELETE awardings', () => {
|
2017-07-09 18:45:07 +02:00
|
|
|
it('it should not accept DELETE method without id in url', (done) => {
|
2017-05-11 15:12:17 +02:00
|
|
|
chai.request(server)
|
2018-02-26 09:04:27 +01:00
|
|
|
.delete(urls.awards)
|
|
|
|
.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.awards);
|
|
|
|
done();
|
|
|
|
});
|
2017-05-11 15:12:17 +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.awards + '/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-05-11 15:12:17 +02:00
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|