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(); }); }); });