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')
+    //     });
+    // });
 });