From 0544fc22a3cfa700c995bcf7e3a0b733f3703f1a Mon Sep 17 00:00:00 2001 From: Gabriel Ruschel <grc15@inf.ufpr.br> Date: Thu, 20 Apr 2017 09:00:47 -0300 Subject: [PATCH] Add classroom route tests --- src/test/classroom.js | 223 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 223 insertions(+) create mode 100644 src/test/classroom.js diff --git a/src/test/classroom.js b/src/test/classroom.js new file mode 100644 index 00000000..54d058ae --- /dev/null +++ b/src/test/classroom.js @@ -0,0 +1,223 @@ +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`); + +chai.use(chaiHttp); +describe('request classrooms', () => { + + it('should list classrooms', (done) => { + chai.request(server) + .get('/api/v1/classroom') + .end((err, res) => { + res.should.have.status(200); + res.should.be.json; + res.body.should.have.property('result'); + res.body.result.should.be.a('array'); + res.body.result[0].should.have.property('name'); + res.body.result[0].should.have.property('total'); + done(); + }); + }); + + it('should list classrooms with valid filters', (done) => { + chai.request(server) + .get('/api/v1/classroom?filter=city:4106902') + .end((err, res) => { + res.should.have.status(200); + res.should.be.json; + res.body.should.have.property('result'); + res.body.result.should.be.a('array'); + res.body.result[0].should.have.property('name'); + res.body.result[0].should.have.property('total'); + done(); + }); + }); + + it('should list classrooms with valid filters', (done) => { + chai.request(server) + .get('/api/v1/classroom?filter=state:41') + .end((err, res) => { + res.should.have.status(200); + res.should.be.json; + res.body.should.have.property('result'); + res.body.result.should.be.a('array'); + res.body.result[0].should.have.property('name'); + res.body.result[0].should.have.property('total'); + done(); + }); + }); + + it('should list classrooms with valid filters', (done) => { + chai.request(server) + .get('/api/v1/classroom?filter=region:4') + .end((err, res) => { + res.should.have.status(200); + res.should.be.json; + res.body.should.have.property('result'); + res.body.result.should.be.a('array'); + res.body.result[0].should.have.property('name'); + res.body.result[0].should.have.property('total'); + done(); + }); + }); + + it('should list classrooms with valid filters', (done) => { + chai.request(server) + .get('/api/v1/classroom?filter=adm_dependency:3') + .end((err, res) => { + res.should.have.status(200); + res.should.be.json; + res.body.should.have.property('result'); + res.body.result.should.be.a('array'); + res.body.result[0].should.have.property('name'); + res.body.result[0].should.have.property('total'); + done(); + }); + }); + + it('should list classrooms with valid filters', (done) => { + chai.request(server) + .get('/api/v1/classroom?filter=adm_dependency_detailed:5') + .end((err, res) => { + res.should.have.status(200); + res.should.be.json; + res.body.should.have.property('result'); + res.body.result.should.be.a('array'); + res.body.result[0].should.have.property('name'); + res.body.result[0].should.have.property('total'); + done(); + }); + }); + + it('should list classrooms with valid filters', (done) => { + chai.request(server) + .get('/api/v1/classroom?filter=locality:1') + .end((err, res) => { + res.should.have.status(200); + res.should.be.json; + res.body.should.have.property('result'); + res.body.result.should.be.a('array'); + res.body.result[0].should.have.property('name'); + res.body.result[0].should.have.property('total'); + done(); + }); + }); + + it('should list classrooms with valid dimensions', (done) => { + chai.request(server) + .get('/api/v1/classroom?dims=city') + .end((err, res) => { + res.should.have.status(200); + res.should.be.json; + res.body.should.have.property('result'); + res.body.result.should.be.a('array'); + res.body.result[0].should.have.property('city_name'); + res.body.result[0].should.have.property('total'); + done(); + }); + }); + + it('should list classrooms with valid dimensions', (done) => { + chai.request(server) + .get('/api/v1/classroom?dims=state') + .end((err, res) => { + res.should.have.status(200); + res.should.be.json; + res.body.should.have.property('result'); + res.body.result.should.be.a('array'); + res.body.result[0].should.have.property('state_name'); + res.body.result[0].should.have.property('total'); + done(); + }); + }); + + it('should list classrooms with valid dimensions', (done) => { + chai.request(server) + .get('/api/v1/classroom?dims=region') + .end((err, res) => { + res.should.have.status(200); + res.should.be.json; + res.body.should.have.property('result'); + res.body.result.should.be.a('array'); + res.body.result[0].should.have.property('region_name'); + res.body.result[0].should.have.property('total'); + done(); + }); + }); + + it('should list classrooms with valid dimensions', (done) => { + chai.request(server) + .get('/api/v1/classroom?dims=adm_dependency') + .end((err, res) => { + res.should.have.status(200); + res.should.be.json; + res.body.should.have.property('result'); + res.body.result.should.be.a('array'); + res.body.result[0].should.have.property('adm_dependency_name'); + res.body.result[0].should.have.property('total'); + done(); + }); + }); + + it('should list classrooms with valid dimensions', (done) => { + chai.request(server) + .get('/api/v1/classroom?dims=adm_dependency_detailed') + .end((err, res) => { + res.should.have.status(200); + res.should.be.json; + res.body.should.have.property('result'); + res.body.result.should.be.a('array'); + res.body.result[0].should.have.property('adm_dependency_detailed_name'); + res.body.result[0].should.have.property('total'); + done(); + }); + }); + + it('should list classrooms with valid dimensions', (done) => { + chai.request(server) + .get('/api/v1/classroom?dims=locality') + .end((err, res) => { + res.should.have.status(200); + res.should.be.json; + res.body.should.have.property('result'); + res.body.result.should.be.a('array'); + res.body.result[0].should.have.property('locality'); + res.body.result[0].should.have.property('total'); + done(); + }); + }); + + it('should list classrooms with invalid dimensions', (done) => { + chai.request(server) + .get('/api/v1/class?dims=foo,bar') + .end((err, res) => { + res.should.have.status(200); + res.should.be.json; + res.body.should.have.property('result'); + res.body.result.should.be.a('array'); + res.body.result[0].should.have.property('name'); + res.body.result[0].should.have.property('total'); + done(); + }); + }); +}); -- GitLab