diff --git a/package.json b/package.json index a111dbd974e27b1e8ea346bc561a2a10ada83391..65e8d4c96f3372c0348376b054012ae247d64202 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "dependencies": { "agenda": "^0.9.1", "apicache": "0.7.0", + "bcrypt-nodejs": "0.0.3", "body-parser": "^1.13.1", "chai": "^3.5.0", "chai-http": "^3.0.0", diff --git a/src/libs/convert/agreement.js b/src/libs/convert/agreement.js index b3317e2e5178d785f966d3e24ffe990065d54be9..e9c5c774b0af69ed5b47d23e20893d7a953b8a4c 100644 --- a/src/libs/convert/agreement.js +++ b/src/libs/convert/agreement.js @@ -1,9 +1,9 @@ module.exports = function agreement(id) { switch (id) { case 1: - return 'Estadual'; - case 2: return 'Municipal'; + case 2: + return 'Estadual'; case 3: return 'Estadual e Municipal'; default: diff --git a/src/libs/middlewares/email.js b/src/libs/middlewares/email.js deleted file mode 100644 index fb69efa712eaf4587d652ac9c83feb0d4afd6260..0000000000000000000000000000000000000000 --- a/src/libs/middlewares/email.js +++ /dev/null @@ -1,37 +0,0 @@ -const libs = `${process.cwd()}/libs`; -const log = require(`${libs}/log`)(module); -const config = require(`${libs}/config`); -const nodemailer = require('nodemailer'); -const htmlToText = require('nodemailer-html-to-text').htmlToText; - -let transporter = nodemailer.createTransport({ - host: config.email.host, - port: config.email.port, - secure: config.email.secure, - ignoreTLS: config.email.ignoreTLS -}); - -transporter.use('compile', htmlToText()); - -// verify connection configuration -transporter.verify(function(error, success) { - if (error) { - log.error(error); - } else { - log.info('Email server is ready to take our messages'); - } -}); - -let mailOptions = { - from: config.email.from -}; - -module.exports = function send(options, cb) { - Object.assign(options, mailOptions); - transporter.sendMail(options, (err, info) => { - if(err) { - return cb(err); - } - cb(null, info); - }); -}; diff --git a/src/libs/middlewares/id2str.js b/src/libs/middlewares/id2str.js index 99c03e2d5a75c4a52f6ededc93c3d2e6904719df..9d35063d3888974bfa59ab9991a372369c8b2d7b 100644 --- a/src/libs/middlewares/id2str.js +++ b/src/libs/middlewares/id2str.js @@ -33,23 +33,6 @@ const ids = { agreement_id: agreement, integral_time_id: booleanVariable, government_agreement_id: booleanVariable, - building_school_id: booleanVariable, - informatics_lab_id: booleanVariable, - science_lab_id: booleanVariable, - directors_room_id: booleanVariable, - teacher_room_id: booleanVariable, - cook_room_id: booleanVariable, - playground_id: booleanVariable, - indor_sports_court_id: booleanVariable, - nusery_id: booleanVariable, - special_attendence_room_id: booleanVariable, - toilet_inside_building_id: booleanVariable, - denpendency_pne_id: booleanVariable, - restroom_pne_id: booleanVariable, - broadband_id: booleanVariable, - energy_id: booleanVariable, - water_id: booleanVariable, - wastepipe_id: booleanVariable, education_day_care_child_id: booleanVariable, education_preschool_child_id: booleanVariable, education_begin_elementary_school_id: booleanVariable, @@ -57,10 +40,6 @@ const ids = { education_middle_school_id: booleanVariable, education_professional_id: booleanVariable, education_eja_id: booleanVariable, - library_reading_room_id: booleanVariable, - library_id: booleanVariable, - reading_room_id: booleanVariable, - water_id: booleanVariable, education_type_id: educationType, income_level_id: incomeLevel, city_size_id: citySize, diff --git a/src/libs/models/user.js b/src/libs/models/user.js index 95b5807341121bd4b55d8b51a2af1cc6622515a5..47c7c65e5f35f42fcdf6b394767d74b3e1453965 100644 --- a/src/libs/models/user.js +++ b/src/libs/models/user.js @@ -15,10 +15,6 @@ var UserSchema = new Schema({ type: String, required: [true, 'O campo Senha é obrigatório.'] }, - salt: { - type: String, - required: true - }, name: { type: String, required: [true, 'O campo Nome é obrigatório.'] diff --git a/src/libs/routes/school.js b/src/libs/routes/school.js index f24baee6039142b248bcaddc11f7cd408a8fee01..47d6a1407bd7b7dd70f6e93cd9b985cea9b5f024 100644 --- a/src/libs/routes/school.js +++ b/src/libs/routes/school.js @@ -45,19 +45,7 @@ schoolApp.get('/location', cache('15 day'), (req, res, next) => { next(); }, response('location')); -schoolApp.get('/rural_location', cache('15 day'), (req, res, next) => { - req.result = [ - {id: 1, name: "Urbana"}, - {id: 2, name: "Rural"}, - {id: 3, name: "Rural - Ãrea de assentamento"}, - {id: 4, name: "Rural - Terra indÃgena"}, - {id: 5, name: "Rural - Ãrea remanescente de quilombos"}, - {id: 6, name: "Rural - Unidade de uso sustentável"} - ]; - next(); -}, response('rural_location')); - -schoolApp.get('/adm_dependency', cache('15 day'), (req, res, next) => { +schoolApp.get('/adm_dependency', (req, res, next) => { req.sql.from('dependencia_adm') .field('id') .field('nome', 'name') @@ -83,168 +71,14 @@ schoolApp.get('/government_agreement', cache('15 day'), (req, res, next) => { schoolApp.get('/agreement', cache('15 day'), (req, res, next) => { req.result = [ - {id: 1, name: 'Estadual'}, - {id: 2, name: 'Municipal'}, + {id: 1, name: 'Municipal'}, + {id: 2, name: 'Estadual'}, {id: 3, name: 'Estadual e Municipal'} ]; next(); }, response('agreement')); -schoolApp.get('/building_school', cache('15 day'), (req, res, next) => { - req.result = [ - {id: null, name: 'Não Declarado'}, - {id: 0, name: 'Não'}, - {id: 1, name: 'Sim'} - ]; - next(); -}, response('building_school')); - -schoolApp.get('/informatics_lab', cache('15 day'), (req, res, next) => { - req.result = [ - {id: null, name: 'Não Declarado'}, - {id: 0, name: 'Não'}, - {id: 1, name: 'Sim'} - ]; - next(); -}, response('informatics_lab')); - - -schoolApp.get('/science_lab', cache('15 day'), (req, res, next) => { - req.result = [ - {id: null, name: 'Não Declarado'}, - {id: 0, name: 'Não'}, - {id: 1, name: 'Sim'} - ]; - next(); -}, response('/science_lab')); - -schoolApp.get('/directors_room', cache('15 day'), (req, res, next) => { - req.result = [ - {id: null, name: 'Não Declarado'}, - {id: 0, name: 'Não'}, - {id: 1, name: 'Sim'} - ]; - next(); -}, response('directors_room')); - -schoolApp.get('/teacher_room', cache('15 day'), (req, res, next) => { - req.result = [ - {id: null, name: 'Não Declarado'}, - {id: 0, name: 'Não'}, - {id: 1, name: 'Sim'} - ]; - next(); -}, response('teacher_room')); - -schoolApp.get('/cook_room', cache('15 day'), (req, res, next) => { - req.result = [ - {id: null, name: 'Não Declarado'}, - {id: 0, name: 'Não'}, - {id: 1, name: 'Sim'} - ]; - next(); -}, response('cook_room')); - -schoolApp.get('/playground', cache('15 day'), (req, res, next) => { - req.result = [ - {id: null, name: 'Não Declarado'}, - {id: 0, name: 'Não'}, - {id: 1, name: 'Sim'} - ]; - next(); -}, response('playground')); - -schoolApp.get('/indor_sports_court', cache('15 day'), (req, res, next) => { - req.result = [ - {id: null, name: 'Não Declarado'}, - {id: 0, name: 'Não'}, - {id: 1, name: 'Sim'} - ]; - next(); -}, response('indor_sports_court')); - -schoolApp.get('/nusery', cache('15 day'), (req, res, next) => { - req.result = [ - {id: null, name: 'Não Declarado'}, - {id: 0, name: 'Não'}, - {id: 1, name: 'Sim'} - ]; - next(); -}, response('nusery')); - -schoolApp.get('/special_attendence_room', cache('15 day'), (req, res, next) => { - req.result = [ - {id: null, name: 'Não Declarado'}, - {id: 0, name: 'Não'}, - {id: 1, name: 'Sim'} - ]; - next(); -}, response('special_attendence_room')); - -schoolApp.get('/toilet_inside_building', cache('15 day'), (req, res, next) => { - req.result = [ - {id: null, name: 'Não Declarado'}, - {id: 0, name: 'Não'}, - {id: 1, name: 'Sim'} - ]; - next(); -}, response('toilet_inside_building')); - -schoolApp.get('/denpendency_pne', cache('15 day'), (req, res, next) => { - req.result = [ - {id: null, name: 'Não Declarado'}, - {id: 0, name: 'Não'}, - {id: 1, name: 'Sim'} - ]; - next(); -}, response('denpendency_pne')); - -schoolApp.get('/restroom_pne', cache('15 day'), (req, res, next) => { - req.result = [ - {id: null, name: 'Não Declarado'}, - {id: 0, name: 'Não'}, - {id: 1, name: 'Sim'} - ]; - next(); -}, response('restroom_pne')); - -schoolApp.get('/broadband', cache('15 day'), (req, res, next) => { - req.result = [ - {id: null, name: 'Não Declarado'}, - {id: 0, name: 'Não'}, - {id: 1, name: 'Sim'} - ]; - next(); -}, response('broadband')); - -schoolApp.get('/energy', cache('15 day'), (req, res, next) => { - req.result = [ - {id: null, name: 'Não Declarado'}, - {id: 0, name: 'Não'}, - {id: 1, name: 'Sim'} - ]; - next(); -}, response('energy')); - -schoolApp.get('/water', cache('15 day'), (req, res, next) => { - req.result = [ - {id: null, name: 'Não Declarado'}, - {id: 0, name: 'Não'}, - {id: 1, name: 'Sim'} - ]; - next(); -}, response('water')); - -schoolApp.get('/wastepipe', cache('15 day'), (req, res, next) => { - req.result = [ - {id: null, name: 'Não Declarado'}, - {id: 0, name: 'Não'}, - {id: 1, name: 'Sim'} - ]; - next(); -}, response('wastepipe')); - -schoolApp.get('/education_day_care_child', cache('15 day'), (req, res, next) => { +schoolApp.get('/education_day_care_child', (req, res, next) => { req.result = [ {id: null, name: 'Não Declarado'}, {id: 0, name: 'Não'}, @@ -307,33 +141,6 @@ schoolApp.get('/education_eja', cache('15 day'), (req, res, next) => { next(); }, response('education_eja')); -schoolApp.get('/library', cache('15 day'), (req, res, next) => { - req.result = [ - {id: null, name: 'Não Declarado'}, - {id: 0, name: 'Não'}, - {id: 1, name: 'Sim'} - ]; - next(); -}, response('library')); - -schoolApp.get('/reading_room', cache('15 day'), (req, res, next) => { - req.result = [ - {id: null, name: 'Não Declarado'}, - {id: 0, name: 'Não'}, - {id: 1, name: 'Sim'} - ]; - next(); -}, response('reading_room')); - -schoolApp.get('/library_reading_room', cache('15 day'), (req, res, next) => { - req.result = [ - {id: null, name: 'Não Declarado'}, - {id: 0, name: 'Não'}, - {id: 1, name: 'Sim'} - ]; - next(); -}, response('library_reading_room')); - rqf.addField({ name: 'filter', field: false, @@ -483,26 +290,6 @@ rqfCount.addField({ field: 'ano_censo', table: 'escola' } -}).addValue({ - name: 'adm_dependency', - table: 'escola', - tableField: 'dependencia_adm_id', - resultField: 'adm_dependency_id', - where: { - relation: '=', - type: 'integer', - field: 'dependencia_adm_id' - } -}).addValue({ - name: 'adm_dependency_detailed', - table: 'escola', - tableField: 'dependencia_adm_priv', - resultField: 'adm_dependency_detailed_id', - where: { - relation: '=', - type: 'integer', - field: 'dependencia_adm_priv' - } }).addValue({ name: 'location', table: 'escola', @@ -514,24 +301,24 @@ rqfCount.addField({ field: 'cod_localizacao' } }).addValue({ - name: 'rural_location', + name: 'adm_dependency', table: 'escola', - tableField: 'localidade_area_rural', - resultField: 'rural_location_id', + tableField: 'dependencia_adm_id', + resultField: 'adm_dependency_id', where: { relation: '=', type: 'integer', - field: 'localidade_area_rural' + field: 'dependencia_adm_id' } }).addValue({ - name: 'cook_room', + name: 'adm_dependency_detailed', table: 'escola', - tableField: 'cozinha', - resultField: 'cook_room_id', + tableField: 'dependencia_adm_priv', + resultField: 'adm_dependency_detailed_id', where: { relation: '=', - type: 'boolean', - field: 'cozinha' + type: 'integer', + field: 'dependencia_adm_priv' } }).addValue({ name: 'government_agreement', @@ -544,104 +331,14 @@ rqfCount.addField({ field: 'conveniada_pp' } }).addValue({ - name: 'informatics_lab', - table: 'escola', - tableField: 'lab_informatica', - resultField: 'informatics_lab_id', - where: { - relation: '=', - type: 'boolean', - field: 'lab_informatica' - } -}).addValue({ - name: 'science_lab', - table: 'escola', - tableField: 'lab_ciencias', - resultField: 'science_lab_id', - where: { - relation: '=', - type: 'boolean', - field: 'lab_ciencias' - } -}).addValue({ - name: 'special_attendence_room', - table: 'escola', - tableField: 'sala_atendimento_especial', - resultField: 'special_attendence_room_id', - where: { - relation: '=', - type: 'boolean', - field: 'sala_atendimento_especial' - } -}).addValue({ - name: 'indor_sports_court', - table: 'escola', - tableField: 'quadra_esportes_coberta', - resultField: 'indor_sports_court_id', - where: { - relation: '=', - type: 'boolean', - field: 'quadra_esportes_coberta' - } -}).addValue({ - name: 'education_eja', - table: 'escola', - tableField: 'ensino_eja', - resultField: 'education_eja_id', - where: { - relation: '=', - type: 'boolean', - field: 'ensino_eja' - } -}).addValue({ - name: 'education_professional', - table: 'escola', - tableField: 'educacao_profissional', - resultField: 'education_professional_id', - where: { - relation: '=', - type: 'boolean', - field: 'educacao_profissional' - } -}).addValue({ - name: 'education_middle_school', - table: 'escola', - tableField: 'reg_medio_medio', - resultField: 'education_middle_school_id', - where: { - relation: '=', - type: 'boolean', - field: 'reg_medio_medio' - } -}).addValue({ - name: 'education_end_elementary_school', - table: 'escola', - tableField: 'reg_fund_af', - resultField: 'education_end_elementary_school_id', - where: { - relation: '=', - type: 'boolean', - field: 'reg_fund_af' - } -}).addValue({ - name: 'education_begin_elementary_school', - table: 'escola', - tableField: 'reg_fund_ai', - resultField: 'education_begin_elementary_school_id', - where: { - relation: '=', - type: 'boolean', - field: 'reg_fund_ai' - } -}).addValue({ - name: 'education_preschool_child', + name: 'agreement', table: 'escola', - tableField: 'reg_infantil_preescola', - resultField: 'education_preschool_child_id', + tableField: 'tipo_convenio_pp', + resultField: 'agreement_id', where: { relation: '=', - type: 'boolean', - field: 'reg_infantil_preescola' + type: 'integer', + field: 'tipo_convenio_pp' } }).addValue({ name: 'education_day_care_child', @@ -654,165 +351,64 @@ rqfCount.addField({ field: 'reg_infantil_creche' } }).addValue({ - name: 'directors_room', - table: 'escola', - tableField: 'sala_diretoria', - resultField: 'directors_room_id', - where: { - relation: '=', - type: 'boolean', - field: 'sala_diretoria' - } -}).addValue({ - name: 'teacher_room', - table: 'escola', - tableField: 'sala_professor', - resultField: 'teacher_room_id', - where: { - relation: '=', - type: 'boolean', - field: 'sala_professor' - } -}).addValue({ - name: 'playground', - table: 'escola', - tableField: 'parque_infantil', - resultField: 'playground_id', - where: { - relation: '=', - type: 'boolean', - field: 'parque_infantil' - } -}).addValue({ - name: 'nusery', - table: 'escola', - tableField: 'bercario', - resultField: 'nusery_id', - where: { - relation: '=', - type: 'boolean', - field: 'bercario' - } -}).addValue({ - name: 'toilet_inside_building', - table: 'escola', - tableField: 'sanitario_dentro_predio', - resultField: 'toilet_inside_building_id', - where: { - relation: '=', - type: 'boolean', - field: 'sanitario_dentro_predio' - } -}).addValue({ - name: 'wastepipe', - table: 'escola', - tableField: 'esgoto_sanitario', - resultField: 'wastepipe_id', - where: { - relation: '=', - type: 'boolean', - field: 'esgoto_sanitario' - } -}).addValue({ - name: 'water', - table: 'escola', - tableField: 'fornecimento_agua', - resultField: 'water_id', - where: { - relation: '=', - type: 'boolean', - field: 'fornecimento_agua ' - } -}).addValue({ - name: 'energy', - table: 'escola', - tableField: 'fornecimento_energia', - resultField: 'energy_id', - where: { - relation: '=', - type: 'boolean', - field: 'fornecimento_energia ' - } -}).addValue({ - name: 'broadband', - table: 'escola', - tableField: 'internet_banda_larga', - resultField: 'broadband_id', - where: { - relation: '=', - type: 'boolean', - field: 'internet_banda_larga ' - } -}).addValue({ - name: 'restroom_pne', + name: 'education_preschool_child', table: 'escola', - tableField: 'sanitario_pne', - resultField: 'restroom_pne_id', + tableField: 'reg_infantil_preescola', + resultField: 'education_preschool_child_id', where: { relation: '=', type: 'boolean', - field: 'sanitario_pne ' + field: 'reg_infantil_preescola' } }).addValue({ - name: 'denpendency_pne', + name: 'education_begin_elementary_school', table: 'escola', - tableField: 'dependencias_pne', - resultField: 'denpendency_pne_id', + tableField: 'reg_fund_ai', + resultField: 'education_begin_elementary_school_id', where: { relation: '=', type: 'boolean', - field: 'dependencias_pne ' - } -}).addValue({ - name: 'agreement', - table: 'escola', - tableField: 'tipo_convenio_pp', - resultField: 'agreement_id', - where: { - relation: '=', - type: 'integer', - field: 'tipo_convenio_pp' + field: 'reg_fund_ai' } }).addValue({ - name: 'building_school', + name: 'education_end_elementary_school', table: 'escola', - tableField: 'local_func_predio_escolar', - resultField: 'building_school_id', + tableField: 'reg_fund_af', + resultField: 'education_end_elementary_school_id', where: { relation: '=', type: 'boolean', - field: 'local_func_predio_escolar' + field: 'reg_fund_af' } }).addValue({ - name: 'library', + name: 'education_middle_school', table: 'escola', - tableField: 'biblioteca', - resultField: 'library_id', + tableField: 'reg_medio_medio', + resultField: 'education_middle_school_id', where: { relation: '=', type: 'boolean', - field: 'biblioteca' + field: 'reg_medio_medio' } }).addValue({ - name: 'reading_room', + name: 'education_professional', table: 'escola', - tableField: 'sala_leitura', - resultField: 'reading_room_id', + tableField: 'educacao_profissional', + resultField: 'education_professional_id', where: { relation: '=', type: 'boolean', - field: 'sala_leitura' + field: 'educacao_profissional' } }).addValue({ - name: 'library_reading_room', + name: 'education_eja', table: 'escola', - tableField: 'biblioteca_sala_leitura', - resultField: 'library_reading_room_id', + tableField: 'ensino_eja', + resultField: 'education_eja_id', where: { relation: '=', type: 'boolean', - condition: 'or', - field: 'biblioteca_sala_leitura' + field: 'ensino_eja' } }).addValue({ name: 'min_year', @@ -835,21 +431,7 @@ rqfCount.addField({ field: 'ano_censo' } }); - -// .addValue({ //Using multiple_where -// name: 'library_reading_room', -// table: 'escola', -// tableField: ['biblioteca', 'sala_leitura', 'biblioteca_sala_leitura'], -// resultField: 'library_or_reading_room', -// where: { -// relation: '=', -// type: 'boolean', -// condition: 'or', -// field: ['biblioteca', 'sala_leitura', 'biblioteca_sala_leitura'] -// } - -// SELECT COUNT(escola.id) AS "total", 'Brasil' AS "name", escola.ano_censo AS "year" FROM escola WHERE (escola.biblioteca = ? OR escola.sala_leitura = ? OR escola.biblioteca_sala_leitura) AND (escola.situacao_de_funcionamento = 1 AND escola.ensino_regular = 1) GROUP BY escola.ano_censo ORDER BY escola.ano_censo ASC -schoolApp.get('/', cache('15 day'), rqf.parse(), rqf.build(), (req, res, next) => { +schoolApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => { if(typeof req.filter === 'undefined' || Object.keys(req.filter).length === 0) { res.status(400); next({ diff --git a/src/test/schoolCount.js b/src/test/schoolCount.js index b40b408247dcc988e81efc92b882f58618b6913a..1867e4569e1d2654793ea167d2892d04fcc4ad7b 100644 --- a/src/test/schoolCount.js +++ b/src/test/schoolCount.js @@ -39,20 +39,6 @@ describe('request schools count', () => { }); }); - it('should list the rural locations', (done) => { - chai.request(server) - .get('/api/v1/school/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 administrative dependencies', (done) => { chai.request(server) .get('/api/v1/school/adm_dependency') @@ -109,244 +95,6 @@ describe('request schools count', () => { }); }); - it('should list the building school', (done) => { - chai.request(server) - .get('/api/v1/school/building_school') - .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 informatics labs', (done) => { - chai.request(server) - .get('/api/v1/school/informatics_lab') - .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 science labs', (done) => { - chai.request(server) - .get('/api/v1/school/science_lab') - .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 directors room', (done) => { - chai.request(server) - .get('/api/v1/school/directors_room') - .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 teacher room', (done) => { - chai.request(server) - .get('/api/v1/school/teacher_room') - .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 cook room', (done) => { - chai.request(server) - .get('/api/v1/school/cook_room') - .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 playgrounds', (done) => { - chai.request(server) - .get('/api/v1/school/playground') - .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 indor sports court', (done) => { - chai.request(server) - .get('/api/v1/school/indor_sports_court') - .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 nusery', (done) => { - chai.request(server) - .get('/api/v1/school/nusery') - .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 special attendence room', (done) => { - chai.request(server) - .get('/api/v1/school/special_attendence_room') - .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 toilets inside building', (done) => { - chai.request(server) - .get('/api/v1/school/toilet_inside_building') - .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 denpendency pne', (done) => { - chai.request(server) - .get('/api/v1/school/denpendency_pne') - .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 restroom pne', (done) => { - chai.request(server) - .get('/api/v1/school/restroom_pne') - .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 broadband', (done) => { - chai.request(server) - .get('/api/v1/school/broadband') - .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 energy', (done) => { - chai.request(server) - .get('/api/v1/school/energy') - .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 water', (done) => { - chai.request(server) - .get('/api/v1/school/water') - .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 wastepipe', (done) => { - chai.request(server) - .get('/api/v1/school/wastepipe') - .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 day care child', (done) => { chai.request(server) .get('/api/v1/school/education_day_care_child') @@ -431,37 +179,9 @@ describe('request schools count', () => { }); }); - it('should list the reading room', (done) => { - chai.request(server) - .get('/api/v1/school/reading_room') - .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 library and/or reading_room', (done) => { - chai.request(server) - .get('/api/v1/school/library_reading_room') - .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 school with valid dimensions and filters', (done) => { chai.request(server) - .get('/api/v1/school/count?dims=location,adm_dependency,government_agreement,library,reading_room,library_reading_room') + .get('/api/v1/school/count?dims=location,adm_dependency,government_agreement') .end((err, res) => { res.should.have.status(200); res.should.be.json; @@ -470,9 +190,6 @@ describe('request schools count', () => { res.body.result[0].should.have.property('location_name'); res.body.result[0].should.have.property('adm_dependency_name'); res.body.result[0].should.have.property('government_agreement_name'); - res.body.result[0].should.have.property('library_name'); - res.body.result[0].should.have.property('reading_room_name'); - res.body.result[0].should.have.property('library_reading_room_name'); res.body.result[0].should.have.property('total'); res.body.result[0].should.have.property('year'); done(); @@ -481,7 +198,7 @@ describe('request schools count', () => { it('should list school with valid dimensions and filters', (done) => { chai.request(server) - .get('/api/v1/school/count?dims=region,state,cook_room&filter=min_year:2015,max_year:2016,city:4106902,indor_sports_court:1') + .get('/api/v1/school/count?dims=region,state&filter=min_year:2015,max_year:2016,city:4106902') .end((err, res) => { res.should.have.status(200); res.should.be.json; @@ -489,7 +206,6 @@ describe('request schools count', () => { 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('cook_room_name'); res.body.result[0].should.have.property('total'); res.body.result[0].should.have.property('year'); done(); @@ -545,7 +261,7 @@ describe('request schools count', () => { it('should list school with valid dimensions and filters of states that have no toilet inside building', (done) => { chai.request(server) - .get('/api/v1/school/count?dims=state&filter=min_year:2015,max_year:2016,toilet_inside_building:0') + .get('/api/v1/school/count?dims=state&filter=min_year:2015,max_year:2016,education_begin_elementary_school:0') .end((err, res) => { res.should.have.status(200); res.should.be.json; @@ -560,7 +276,7 @@ describe('request schools count', () => { it('should list school with valid dimensions and filters of states with energy and water', (done) => { chai.request(server) - .get('/api/v1/school/count?dims=state&filter=min_year:2015,max_year:2016,energy:1,water:1') + .get('/api/v1/school/count?dims=state&filter=min_year:2015,max_year:2016,government_agreement:1') .end((err, res) => { res.should.have.status(200); res.should.be.json; @@ -573,51 +289,15 @@ describe('request schools count', () => { }); }); - it('should list school with valid dimensions and filters related to library and reading_room of Curitiba', (done) => { - chai.request(server) - .get('/api/v1/school/count?dims=city,library,reading_room,library_reading_room&filter=min_year:2015,max_year:2016,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('city_name'); - res.body.result[0].should.have.property('library_name'); - res.body.result[0].should.have.property('reading_room_name'); - res.body.result[0].should.have.property('library_reading_room_name'); - res.body.result[0].should.have.property('total'); - res.body.result[0].should.have.property('year'); - done(); - }); - }); - - it('should list school with valid dimensions and filters related to library and reading_room of cities of Paraná', (done) => { - chai.request(server) - .get('/api/v1/school/count?dims=city,library,reading_room,library_reading_room&filter=min_year:2015,max_year:2016,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('city_name'); - res.body.result[0].should.have.property('library_name'); - res.body.result[0].should.have.property('reading_room_name'); - res.body.result[0].should.have.property('library_reading_room_name'); - res.body.result[0].should.have.property('total'); - res.body.result[0].should.have.property('year'); - done(); - }); - }); - it('should list school with dimension rural_location', (done) => { chai.request(server) - .get('/api/v1/school/count?dims=rural_location') + .get('/api/v1/school/count?dims=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('rural_location_name'); + res.body.result[0].should.have.property('location_name'); done(); }); }); diff --git a/src/test/user.js b/src/test/user.js index 9d6228284509f56682e7a7c6d781e79d6abb6d72..3109960bd98dfec2727c5ba7bf87b28148046ae7 100644 --- a/src/test/user.js +++ b/src/test/user.js @@ -29,598 +29,9 @@ const User = require('../libs/models/user'); chai.use(chaiHttp); describe('Saves a user', () => { - beforeEach(() => { - User.remove({}, (err) => { - console.log('Test collection purged') - }); - }); - - it('should save a user', (done) => { - let newUser = {}; - newUser.email = 'lorem@ipsum.com'; - newUser.password = '123mudar'; - newUser.name = 'Gute'; - newUser.cpf = '08236017907'; - newUser.schooling = 'Doutorado'; - newUser.course = 'Ciência da Computação'; - newUser.segment = 'Comunidade acadêmica'; - newUser.role = 'Pesquisador'; - newUser.institution_name = 'UFPR'; - newUser.state = 'PR'; - newUser.city = 'Curitiba'; - - chai.request(server) - .post('/api/v1/user/') - .set('content-type', 'application/x-www-form-urlencoded') - .set('x-apicache-bypass', 'true') - .send(newUser) - .end((err, res) => { - res.should.have.status(201); - res.should.be.json; - res.body.should.have.property('success'); - res.body.success.should.equal(true); - res.body.should.have.property('msg'); - res.body.msg.should.be.equal('Usuário cadastrado com sucesso!'); - done(); - }); - }); - - it('should not save a user without email', (done) => { - let newUser = {}; - newUser.email = null; - newUser.password = '123mudar'; - newUser.name = 'Gute'; - newUser.cpf = '08236017907'; - newUser.schooling = 'Doutorado'; - newUser.course = 'Ciência da Computação'; - newUser.segment = 'Comunidade acadêmica'; - newUser.role = 'Pesquisador'; - newUser.institution_name = 'UFPR'; - newUser.state = 'PR'; - newUser.city = 'Curitiba'; - - chai.request(server) - .post('/api/v1/user/') - .set('content-type', 'application/x-www-form-urlencoded') - .set('x-apicache-bypass', 'true') - .send(newUser) - .end((err, res) => { - res.should.have.status(400); - res.should.be.json; - res.body.should.have.property('success'); - res.body.success.should.equal(false); - res.body.should.have.property('msg'); - res.body.msg[0].should.be.equal('O campo Email é obrigatório.'); - done(); - }); - }); - - it('should not save a user without password', (done) => { - let newUser = {}; - newUser.email = 'lorem@ipsum.com'; - newUser.name = 'Gute'; - newUser.cpf = '08236017907'; - newUser.schooling = 'Doutorado'; - newUser.course = 'Ciência da Computação'; - newUser.segment = 'Comunidade acadêmica'; - newUser.role = 'Pesquisador'; - newUser.institution_name = 'UFPR'; - newUser.state = 'PR'; - newUser.city = 'Curitiba'; - - chai.request(server) - .post('/api/v1/user/') - .set('content-type', 'application/x-www-form-urlencoded') - .set('x-apicache-bypass', 'true') - .send(newUser) - .end((err, res) => { - res.should.have.status(400); - res.should.be.json; - res.body.should.have.property('success'); - res.body.success.should.equal(false); - res.body.should.have.property('msg'); - res.body.msg[0].should.be.equal('O campo Senha é obrigatório.'); - done(); - }); - }); - - it('should not save a user with invalid email', (done) => { - let newUser = {}; - newUser.email = 'invalid email'; - newUser.password = '123mudar'; - newUser.name = 'Gute'; - newUser.cpf = '08236017907'; - newUser.schooling = 'Doutorado'; - newUser.course = 'Ciência da Computação'; - newUser.segment = 'Comunidade acadêmica'; - newUser.role = 'Pesquisador'; - newUser.institution_name = 'UFPR'; - newUser.state = 'PR'; - newUser.city = 'Curitiba'; - - chai.request(server) - .post('/api/v1/user/') - .set('content-type', 'application/x-www-form-urlencoded') - .set('x-apicache-bypass', 'true') - .send(newUser) - .end((err, res) => { - res.should.have.status(400); - res.should.be.json; - res.body.should.have.property('success'); - res.body.success.should.equal(false); - res.body.should.have.property('msg'); - res.body.msg.should.be.equal('O email informado é inválido.'); - done(); - }); - }); - - it('should not save a user without a name', (done) => { - let newUser = {}; - newUser.email = 'lorem@ipsum.com'; - newUser.password = '123mudar'; - newUser.cpf = '08236017907'; - newUser.schooling = 'Doutorado'; - newUser.course = 'Ciência da Computação'; - newUser.segment = 'Comunidade acadêmica'; - newUser.role = 'Pesquisador'; - newUser.institution_name = 'UFPR'; - newUser.state = 'PR'; - newUser.city = 'Curitiba'; - - chai.request(server) - .post('/api/v1/user/') - .set('content-type', 'application/x-www-form-urlencoded') - .set('x-apicache-bypass', 'true') - .send(newUser) - .end((err, res) => { - res.should.have.status(400); - res.should.be.json; - res.body.should.have.property('success'); - res.body.success.should.equal(false); - res.body.should.have.property('msg'); - res.body.msg[0].should.be.equal('O campo Nome é obrigatório.'); - done(); - }); - }); - - it('should not save a user without CPF', (done) => { - let newUser = {}; - newUser.email = 'lorem@ipsum.com'; - newUser.password = '123mudar'; - newUser.name = 'Gute'; - newUser.schooling = 'Doutorado'; - newUser.course = 'Ciência da Computação'; - newUser.segment = 'Comunidade acadêmica'; - newUser.role = 'Pesquisador'; - newUser.institution_name = 'UFPR'; - newUser.state = 'PR'; - newUser.city = 'Curitiba'; - - chai.request(server) - .post('/api/v1/user/') - .set('content-type', 'application/x-www-form-urlencoded') - .set('x-apicache-bypass', 'true') - .send(newUser) - .end((err, res) => { - res.should.have.status(400); - res.should.be.json; - res.body.should.have.property('success'); - res.body.success.should.equal(false); - res.body.should.have.property('msg'); - res.body.msg[0].should.be.equal('O campo CPF é obrigatório.'); - done(); - }); - }); - - it('should not save a user without schooling', (done) => { - let newUser = {}; - newUser.email = 'lorem@ipsum.com'; - newUser.password = '123mudar'; - newUser.name = 'Gute'; - newUser.cpf = '08236017907'; - newUser.course = 'Ciência da Computação'; - newUser.segment = 'Comunidade acadêmica'; - newUser.role = 'Pesquisador'; - newUser.institution_name = 'UFPR'; - newUser.state = 'PR'; - newUser.city = 'Curitiba'; - - chai.request(server) - .post('/api/v1/user/') - .set('content-type', 'application/x-www-form-urlencoded') - .set('x-apicache-bypass', 'true') - .send(newUser) - .end((err, res) => { - res.should.have.status(400); - res.should.be.json; - res.body.should.have.property('success'); - res.body.success.should.equal(false); - res.body.should.have.property('msg'); - res.body.msg[0].should.be.equal('O campo Escolaridade é obrigatório.'); - done(); - }); - }); - - it('should not save a user without segment', (done) => { - let newUser = {}; - newUser.email = 'lorem@ipsum.com'; - newUser.password = '123mudar'; - newUser.name = 'Gute'; - newUser.cpf = '08236017907'; - newUser.schooling = 'Doutorado'; - newUser.course = 'Ciência da Computação'; - newUser.role = 'Pesquisador'; - newUser.institution_name = 'UFPR'; - newUser.state = 'PR'; - newUser.city = 'Curitiba'; - - chai.request(server) - .post('/api/v1/user/') - .set('content-type', 'application/x-www-form-urlencoded') - .set('x-apicache-bypass', 'true') - .send(newUser) - .end((err, res) => { - res.should.have.status(400); - res.should.be.json; - res.body.should.have.property('success'); - res.body.success.should.equal(false); - res.body.should.have.property('msg'); - res.body.msg[0].should.be.equal('O campo Segmento é obrigatório.'); - done(); - }); - }); - - it('should not save a user without role', (done) => { - let newUser = {}; - newUser.email = 'lorem@ipsum.com'; - newUser.password = '123mudar'; - newUser.name = 'Gute'; - newUser.cpf = '08236017907'; - newUser.schooling = 'Doutorado'; - newUser.course = 'Ciência da Computação'; - newUser.segment = 'Comunidade acadêmica'; - newUser.institution_name = 'UFPR'; - newUser.state = 'PR'; - newUser.city = 'Curitiba'; - - chai.request(server) - .post('/api/v1/user/') - .set('content-type', 'application/x-www-form-urlencoded') - .set('x-apicache-bypass', 'true') - .send(newUser) - .end((err, res) => { - res.should.have.status(400); - res.should.be.json; - res.body.should.have.property('success'); - res.body.success.should.equal(false); - res.body.should.have.property('msg'); - res.body.msg[0].should.be.equal('O campo Função é obrigatório.'); - done(); - }); - }); - - it('should not save a user without institution_name', (done) => { - let newUser = {}; - newUser.email = 'lorem@ipsum.com'; - newUser.password = '123mudar'; - newUser.name = 'Gute'; - newUser.cpf = '08236017907'; - newUser.schooling = 'Doutorado'; - newUser.course = 'Ciência da Computação'; - newUser.segment = 'Comunidade acadêmica'; - newUser.role = 'Pesquisador'; - newUser.state = 'PR'; - newUser.city = 'Curitiba'; - - chai.request(server) - .post('/api/v1/user/') - .set('content-type', 'application/x-www-form-urlencoded') - .set('x-apicache-bypass', 'true') - .send(newUser) - .end((err, res) => { - res.should.have.status(400); - res.should.be.json; - res.body.should.have.property('success'); - res.body.success.should.equal(false); - res.body.should.have.property('msg'); - res.body.msg[0].should.be.equal('O campo Instituição em que trabalha é obrigatório.'); - done(); - }); - }); - - it('should not save a user without state', (done) => { - let newUser = {}; - newUser.email = 'lorem@ipsum.com'; - newUser.password = '123mudar'; - newUser.name = 'Gute'; - newUser.cpf = '08236017907'; - newUser.schooling = 'Doutorado'; - newUser.course = 'Ciência da Computação'; - newUser.segment = 'Comunidade acadêmica'; - newUser.role = 'Pesquisador'; - newUser.institution_name = 'UFPR'; - newUser.city = 'Curitiba'; - - chai.request(server) - .post('/api/v1/user/') - .set('content-type', 'application/x-www-form-urlencoded') - .set('x-apicache-bypass', 'true') - .send(newUser) - .end((err, res) => { - res.should.have.status(400); - res.should.be.json; - res.body.should.have.property('success'); - res.body.success.should.equal(false); - res.body.should.have.property('msg'); - res.body.msg[0].should.be.equal('O campo Estado é obrigatório.'); - done(); - }); - }); - - it('should not save a user without city', (done) => { - let newUser = {}; - newUser.email = 'lorem@ipsum.com'; - newUser.password = '123mudar'; - newUser.name = 'Gute'; - newUser.cpf = '08236017907'; - newUser.schooling = 'Doutorado'; - newUser.course = 'Ciência da Computação'; - newUser.segment = 'Comunidade acadêmica'; - newUser.role = 'Pesquisador'; - newUser.institution_name = 'UFPR'; - newUser.state = 'Paraná'; - - chai.request(server) - .post('/api/v1/user/') - .set('content-type', 'application/x-www-form-urlencoded') - .set('x-apicache-bypass', 'true') - .send(newUser) - .end((err, res) => { - res.should.have.status(400); - res.should.be.json; - res.body.should.have.property('success'); - res.body.success.should.equal(false); - res.body.should.have.property('msg'); - res.body.msg[0].should.be.equal('O campo Cidade é obrigatório.'); - done(); - }); - }); - -}) - -describe('Authenticates a user', () => { - - beforeEach(() => { - User.remove({}, (err) => { - console.log('Test collection purged'); - }); - }); - - it('should authenticate a user', (done) => { - let newUser = new User(); - - newUser.email = 'lorem@ipsum.com'; - newUser.password = '123mudar'; - newUser.name = 'Gute'; - newUser.cpf = '08236017907'; - newUser.schooling = 'Doutorado'; - newUser.course = 'Ciência da Computação'; - newUser.segment = 'Comunidade acadêmica'; - newUser.role = 'Pesquisador'; - newUser.institution_name = 'UFPR'; - newUser.state = 'PR'; - newUser.city = 'Curitiba'; - - newUser.save((err) => { - if (err) { - console.log('MongoDB error:' + err); - } - }).then(function(newuser){ - chai.request(server) - .post('/api/v1/user/authenticate') - .set('content-type', 'application/x-www-form-urlencoded') - .set('x-apicache-bypass', 'true') - .send({email: 'lorem@ipsum.com', - password: '123mudar'}) - .end((err, res) => { - let token; - - res.should.have.status(200); - res.should.be.json; - res.body.should.have.property('success'); - res.body.success.should.equal(true); - res.body.should.have.property('token'); - token = res.body.token; - token.substr(0, 3).should.equal('JWT'); - done(); - }); - }); - }); - - it('should not authenticate a user with wrong password', (done) => { - let newUser = new User(); - - newUser.email = 'lorem@ipsum.com'; - newUser.password = '123mudar'; - newUser.name = 'Gute'; - newUser.cpf = '08236017907'; - newUser.schooling = 'Doutorado'; - newUser.course = 'Ciência da Computação'; - newUser.segment = 'Comunidade acadêmica'; - newUser.role = 'Pesquisador'; - newUser.institution_name = 'UFPR'; - newUser.state = 'PR'; - newUser.city = 'Curitiba'; - - newUser.save((err) => { - if (err) { - console.log('MongoDB error:' + err); - } - }).then(function(newuser){ - chai.request(server) - .post('/api/v1/user/authenticate') - .set('content-type', 'application/x-www-form-urlencoded') - .set('x-apicache-bypass', 'true') - .send({email: 'lorem@ipsum.com', - password: 'umasenhaerrada'}) - .end((err, res) => { - res.should.have.status(400); - res.should.be.json; - res.body.should.have.property('success'); - res.body.success.should.equal(false); - res.body.should.have.property('msg'); - res.body.msg[0].should.equal('A Senha informada é inválida.') - done(); - }); - }); - }); - - it('should not authenticate a user with wrong email', (done) => { - let newUser = new User(); - - newUser.email = 'lorem@ipsum.com'; - newUser.password = '123mudar'; - newUser.name = 'Gute'; - newUser.cpf = '08236017907'; - newUser.schooling = 'Doutorado'; - newUser.course = 'Ciência da Computação'; - newUser.segment = 'Comunidade acadêmica'; - newUser.role = 'Pesquisador'; - newUser.institution_name = 'UFPR'; - newUser.state = 'PR'; - newUser.city = 'Curitiba'; - - newUser.save((err) => { - if (err) { - console.log('MongoDB error:' + err); - } - }).then(function(newuser){ - chai.request(server) - .post('/api/v1/user/authenticate') - .set('content-type', 'application/x-www-form-urlencoded') - .set('x-apicache-bypass', 'true') - .send({email: 'dolor@ipsum.com', - password: '123mudar'}) - .end((err, res) => { - res.should.have.status(400); - res.should.be.json; - res.body.should.have.property('success'); - res.body.success.should.equal(false); - res.body.should.have.property('msg'); - res.body.msg[0].should.equal('O Email informado não está cadastrado.') - done(); - }); - }); - }); - - it('should not authenticate a user with missing email', (done) => { - let newUser = new User(); - - newUser.email = 'lorem@ipsum.com'; - newUser.password = '123mudar'; - newUser.name = 'Gute'; - newUser.cpf = '08236017907'; - newUser.schooling = 'Doutorado'; - newUser.course = 'Ciência da Computação'; - newUser.segment = 'Comunidade acadêmica'; - newUser.role = 'Pesquisador'; - newUser.institution_name = 'UFPR'; - newUser.state = 'PR'; - newUser.city = 'Curitiba'; - - newUser.save((err) => { - if (err) { - console.log('MongoDB error:' + err); - } - }).then(function(newuser){ - chai.request(server) - .post('/api/v1/user/authenticate') - .set('content-type', 'application/x-www-form-urlencoded') - .set('x-apicache-bypass', 'true') - .send({password: '123mudar'}) - .end((err, res) => { - res.should.have.status(400); - res.should.be.json; - res.body.should.have.property('success'); - res.body.success.should.equal(false); - res.body.should.have.property('msg'); - res.body.msg.should.equal('O campo Email é obrigatório.') - done(); - }); - }); - }); - - it('should not authenticate a user with missing password', (done) => { - let newUser = new User(); - - newUser.email = 'lorem@ipsum.com'; - newUser.password = '123mudar'; - newUser.name = 'Gute'; - newUser.cpf = '08236017907'; - newUser.schooling = 'Doutorado'; - newUser.course = 'Ciência da Computação'; - newUser.segment = 'Comunidade acadêmica'; - newUser.role = 'Pesquisador'; - newUser.institution_name = 'UFPR'; - newUser.state = 'PR'; - newUser.city = 'Curitiba'; - - newUser.save((err) => { - if (err) { - console.log('MongoDB error:' + err); - } - }).then(function(newuser){ - chai.request(server) - .post('/api/v1/user/authenticate') - .set('content-type', 'application/x-www-form-urlencoded') - .set('x-apicache-bypass', 'true') - .send({email:'lorem@ipsum.com'}) - .end((err, res) => { - res.should.have.status(400); - res.should.be.json; - res.body.should.have.property('success'); - res.body.success.should.equal(false); - res.body.should.have.property('msg'); - res.body.msg.should.equal('O campo Senha é obrigatório.') - done(); - }); - }); - }); - - it('should not authenticate a user with wrong password', (done) => { - let newUser = new User(); - - newUser.email = 'lorem@ipsum.com'; - newUser.password = '123mudar'; - newUser.name = 'Gute'; - newUser.cpf = '08236017907'; - newUser.schooling = 'Doutorado'; - newUser.course = 'Ciência da Computação'; - newUser.segment = 'Comunidade acadêmica'; - newUser.role = 'Pesquisador'; - newUser.institution_name = 'UFPR'; - newUser.state = 'PR'; - newUser.city = 'Curitiba'; - - newUser.save((err) => { - if (err) { - console.log('MongoDB error:' + err); - } - }).then(function(newuser){ - chai.request(server) - .post('/api/v1/user/authenticate') - .set('content-type', 'application/x-www-form-urlencoded') - .set('x-apicache-bypass', 'true') - .send({email:'lorem@ipsum.com', password: '123'}) - .end((err, res) => { - res.should.have.status(400); - res.should.be.json; - res.body.should.have.property('success'); - res.body.success.should.equal(false); - res.body.should.have.property('msg'); - res.body.msg[0].should.equal('A Senha informada é inválida.') - done(); - }); - }); - }); + // beforeEach(() => { + // User.remove({}, (err) => { + // console.log('Test collection purged') + // }); + // }); });