Skip to content
Snippets Groups Projects
Commit 1b959c46 authored by Vytor Calixto's avatar Vytor Calixto :space_invader:
Browse files

Merge branch 'middleware_tests' into 'development'

Middleware tests

See merge request !33
parents da23daa7 6bcd0d9c
No related branches found
No related tags found
2 merge requests!116Release v1.0.0,!33Middleware tests
Pipeline #
process.env.NODE_ENV = 'test';
const chai = require('chai');
const dirtyChai = require('dirty-chai');
chai.use(dirtyChai);
const chaiXml = require('chai-xml');
chai.use(chaiXml);
const chaiHttp = require('chai-http');
const assert = chai.assert;
const expect = chai.expect;
const should = chai.should(); // actually call the function
const libs = `${process.cwd()}/libs`;
const server = require(`${libs}/app`);
const query = require(`${libs}/middlewares/query`);
const squel = require('squel');
chai.use(chaiHttp);
describe('Query middleware', () => {
let req, res;
it('should return a function', (done) => {
expect(query).to.be.a.Function;
done();
});
it('should accept three arguments', function(done) {
expect(query.length).to.equal(3);
done();
});
it('should do a valid query', (done) => {
let req = {
sql: squel.select().field('1+2')
};
let res = {};
query(req, {}, (error)=>{
if (error) { throw new Error('Expected not to receive an error'); }
req.should.have.property('result');
req.result.should.not.be.undefined;
req.result[0].should.have.property('sql_add_single_value');
req.result[0].sql_add_single_value.should.be.equal(3);
done();
});
});
it('should return an error with an invalid query (prepared statement error)', (done) => {
let req = {
sql: squel.select()
};
let res = {};
query(req, {}, (error)=>{
if (error) { done();}
});
});
it('should return an error with an invalid query (execution error)', (done) => {
let req = {
sql: squel.select().from('ibge_pnad').from('ibge_censo')
};
let res = {};
query(req, {}, (error)=>{
if (error) { done();}
});
});
it('should return 404 with an empty query result', (done) => {
let req = {
sql: squel.select().field('*').from('regiao').where('pk_regiao_id>6')
};
let res = {};
query(req, {}, (error)=>{
error.should.have.property('status');
error.status.should.be.equal(404);
error.should.have.property('message');
error.message.should.be.equal('Not Found');
done();
});
});
});
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment