From ae310ac55999088c8d864837fbfc8f529912e6ef Mon Sep 17 00:00:00 2001
From: Glenda <gpt16@inf.ufpr.br>
Date: Mon, 25 Jun 2018 11:32:45 -0300
Subject: [PATCH] add auxiliar indicator test

---
 src/test/auxiliar.js | 345 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 345 insertions(+)
 create mode 100644 src/test/auxiliar.js

diff --git a/src/test/auxiliar.js b/src/test/auxiliar.js
new file mode 100644
index 00000000..1bb0d309
--- /dev/null
+++ b/src/test/auxiliar.js
@@ -0,0 +1,345 @@
+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 auxiliar', () => {
+    it('should list the year range', (done) => {
+        chai.request(server)
+            .get('/api/v1/auxiliar/year_range')
+            .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('start_year');
+                res.body.result[0].should.have.property('end_year');
+                done();
+            });
+    });
+
+    it('should list the source', (done) => {
+        chai.request(server)
+            .get('/api/v1/auxiliar/source')
+            .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('source');
+                done();
+            });
+    });
+
+    it('should list the locations', (done) => {
+        chai.request(server)
+            .get('/api/v1/auxiliar/location')
+            .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('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+    it('should list the years', (done) => {
+        chai.request(server)
+            .get('/api/v1/auxiliar/years')
+            .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('year');
+                done();
+            });
+    });
+
+    it('should list the rural locations', (done) => {
+        chai.request(server)
+            .get('/api/v1/auxiliar/rural_location')
+            .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('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+    it('should list the education level mod', (done) => {
+        chai.request(server)
+            .get('/api/v1/auxiliar/education_level_mod')
+            .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('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+    it('should list the administrative dependencies', (done) => {
+        chai.request(server)
+            .get('/api/v1/auxiliar/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('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+    it('should list the administrative dependencies detailed', (done) => {
+        chai.request(server)
+            .get('/api/v1/auxiliar/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('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+    it('should list genders', (done) => {
+        chai.request(server)
+            .get('/api/v1/auxiliar/gender')
+            .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('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+    it('should list the ethnic groups', (done) => {
+        chai.request(server)
+            .get('/api/v1/auxiliar/ethnic_group')
+            .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('id');
+                res.body.result[0].should.have.property('name');
+                done();
+            });
+    });
+
+
+    it('should list teachers count', (done) => {
+        chai.request(server)
+            .get('/api/v1/auxiliar/count?filter=min_year:2016,max_year:2016')
+            .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 teacher count with valid filters', (done) => {
+        chai.request(server)
+            .get('/api/v1/auxiliar/count?filter=min_year:2015,max_year:2015,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 teacher count with invalid filters', (done) => {
+        chai.request(server)
+            .get('/api/v1/auxiliar/count?filter=foo:2010,bar:41,min_year:2016,max_year:2016')
+            .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 teacher count with valid dimensions', (done) => {
+        chai.request(server)
+            .get('/api/v1/auxiliar/count?dims=region,state,adm_dependency,location,gender,ethnic_group&filter=min_year:2016,max_year:2016')
+            .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('state_name');
+                res.body.result[0].should.have.property('adm_dependency_name');
+                res.body.result[0].should.have.property('location_name');
+                res.body.result[0].should.have.property('total');
+                done();
+            });
+    });
+
+    it('should list teacher count with invalid dimensions', (done) => {
+        chai.request(server)
+            .get('/api/v1/auxiliar/count?dims=foo,bar&filter=min_year:2016,max_year:2016')
+            .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 teacher count with valid dimensions and filters', (done) => {
+        chai.request(server)
+            .get('/api/v1/auxiliar/count?dims=region,state,gender&filter=min_year:2015,max_year:2015,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('region_name');
+                res.body.result[0].should.have.property('state_name');
+                res.body.result[0].should.have.property('total');
+                res.body.result[0].should.have.property('year');
+                done();
+            });
+    });
+
+    it('should list teacher count with dimension location', (done) => {
+        chai.request(server)
+            .get('/api/v1/auxiliar/count?dims=location&filter=min_year:2016,max_year:2016')
+            .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('location_name');
+                done();
+            });
+    });
+
+    it('should list teacher count with dimension rural_location', (done) => {
+        chai.request(server)
+            .get('/api/v1/auxiliar/count?dims=rural_location&filter=min_year:2016,max_year:2016')
+            .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('rural_location_name');
+                done();
+            });
+    });
+
+    it('should list teacher count with dimension education_level_mod', (done) => {
+        chai.request(server)
+            .get('/api/v1/auxiliar/count?dims=education_level_mod&filter=min_year:2015,max_year:2015')
+            .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('education_level_mod_name');
+                done();
+            });
+    });
+
+    it('should list teacher count with dimension adm_dependency', (done) => {
+        chai.request(server)
+            .get('/api/v1/auxiliar/count?dims=adm_dependency&filter=min_year:2016,max_year:2016')
+            .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');
+                done();
+            });
+    });
+
+    it('should list teacher count with dimension adm_dependency_detailed', (done) => {
+        chai.request(server)
+            .get('/api/v1/auxiliar/count?dims=adm_dependency_detailed&filter=min_year:2016,max_year:2016')
+            .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');
+                done();
+            });
+    });
+
+    it('should list teacher count with dimension gender', (done) => {
+        chai.request(server)
+            .get('/api/v1/auxiliar/count?dims=gender&filter=min_year:2016,max_year:2016')
+            .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('gender_name');
+                done();
+            });
+    });
+
+    it('should list teacher count with dimension ethnic_group', (done) => {
+        chai.request(server)
+            .get('/api/v1/auxiliar/count?dims=ethnic_group&filter=min_year:2016,max_year:2016')
+            .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('ethnic_group_name');
+                done();
+            });
+    });
+});
-- 
GitLab