Skip to content
Snippets Groups Projects
Commit 0a326cef authored by Victor Picussa's avatar Victor Picussa
Browse files

[dailyChargeAmount]Median, STD, 1 Quartile and 3 Quartile done

parent 27e88c4b
No related branches found
No related tags found
No related merge requests found
Pipeline #
......@@ -289,7 +289,11 @@ dailyChargeAmount.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
req.sql.from('turma')
.field('turma.ano_censo', 'year')
.field('turma.etapa_resumida', 'education_level_short_id')
.field('AVG(turma.duracao_turma)/60', 'average_class_duration')
.field('AVG(turma.duracao_turma)/60.0', 'average_class_duration')
.field('MEDIAN(turma.duracao_turma)/60.0', 'median_class_duration')
.field('STDDEV_POP(turma.duracao_turma)/60.0', 'std_class_duration')
.field('QUANTILE(turma.duracao_turma, 0.25)/60.0', 'fstqt_class_duration')
.field('QUANTILE(turma.duracao_turma, 0.75)/60.0', 'thdqt_class_duration')
.group('turma.ano_censo')
.group('turma.etapa_resumida')
.order('turma.ano_censo')
......@@ -345,7 +349,7 @@ dailyChargeAmount.get('/average', rqf.parse(), rqf.build(), (req, res, next) =>
req.sql.from('turma')
.field('turma.ano_censo', 'year')
.field('turma.etapas_mod_ensino_segmento_id', 'education_level_mod_id')
.field('AVG(turma.duracao_turma)/60', 'average_class_duration')
.field('AVG(turma.duracao_turma)/60.0', 'average_class_duration')
.group('turma.ano_censo')
.group('turma.etapas_mod_ensino_segmento_id')
.order('turma.ano_censo')
......
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 daily charge amount', () => {
it('should list the year range', (done) => {
chai.request(server)
.get('/api/v1/dailyChargeAmount/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 year range', (done) => {
chai.request(server)
.get('/api/v1/dailyChargeAmount/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 locations', (done) => {
chai.request(server)
.get('/api/v1/dailyChargeAmount/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 education level short', (done) => {
chai.request(server)
.get('/api/v1/dailyChargeAmount/education_level_short')
.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 education level mod', (done) => {
chai.request(server)
.get('/api/v1/dailyChargeAmount/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 dimensions of education_level_short', (done) => {
chai.request(server)
.get('/api/v1/dailyChargeAmount?dims=education_level_short&filter=min_year:"2015",max_year:"2015",integral_time:"0",period:["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('year');
res.body.result[0].should.have.property('education_level_short_id');
res.body.result[0].should.have.property('education_level_short_name');
res.body.result[0].should.have.property('average_class_duration');
res.body.result[0].should.have.property('median_class_duration');
res.body.result[0].should.have.property('std_class_duration');
res.body.result[0].should.have.property('fstqt_class_duration');
res.body.result[0].should.have.property('thdqt_class_duration');
done();
});
});
it('should list the filter of education level mod', (done) => {
chai.request(server)
.get('/api/v1/dailyChargeAmount/average?filter=education_level_mod:["3","4","5","6"],integral_time:"0",period:["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('year');
res.body.result[0].should.have.property('education_level_mod_id');
res.body.result[0].should.have.property('education_level_mod_name');
res.body.result[0].should.have.property('average_class_duration');
done();
});
});
it('should return 400 with no filters', (done) => {
chai.request(server)
.get('/api/v1/dailyChargeAmount')
.end((err, res) => {
res.should.have.status(400);
res.should.be.json;
res.body.should.have.property('error');
res.body.error.should.be.equal('Wrong/No filter specified');
done();
})
});
it('should return 400 with no filters', (done) => {
chai.request(server)
.get('/api/v1/dailyChargeAmount/average?filter=education_level_mod:["3","4","5","6"]')
.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');
res.body.result[0].should.have.property('education_level_mod_id');
res.body.result[0].should.have.property('education_level_mod_name');
res.body.result[0].should.have.property('average_class_duration');
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