Commit 9f548d19 authored by D’jalmar Gutierrez Titirico's avatar D’jalmar Gutierrez Titirico 🚲

se crearon los test unitarios para los filtros de los postulantes, tambien se...

se crearon los test unitarios para los filtros de los postulantes, tambien se realizaron actualizaciones a otros tests
parent 1ef6e711
......@@ -10,7 +10,7 @@ var cargoCtrlStub = {
destroy: 'cargoCtrl.destroy'
};
var autenticacionServiceStub= {
var autenticacionServiceStub = {
estaAutenticado(){
return 'autenticacionService.estaAutenticado'
},
......@@ -19,7 +19,7 @@ var autenticacionServiceStub= {
}
};
var parametrosRutaValidatorStub = {
formatearRuta:'formatearRutaService'
formatearRuta: 'formatearRutaService'
};
var routerStub = {
......@@ -33,7 +33,7 @@ var routerStub = {
// require the index with our stubbed out modules
var cargoIndex = proxyquire('./index.js', {
'express': {
Router: function() {
Router: function () {
return routerStub;
}
},
......@@ -42,68 +42,68 @@ var cargoIndex = proxyquire('./index.js', {
'../../components/middleware/parametrosRuta.validator': parametrosRutaValidatorStub
});
describe('Cargo API Router:', function() {
describe('Cargo API Router:', function () {
it('Debe retornar una Instancia de Express', function() {
it('Debe retornar una Instancia de Express', function () {
expect(cargoIndex).to.equal(routerStub);
});
describe('GET /api/cargos', function() {
describe('GET /api/cargos', function () {
it('Debe apuntar a la ruta cargo.controller.index', function() {
it('Debe apuntar a la ruta cargo.controller.index', function () {
expect(routerStub.get
.withArgs('/', 'autenticacionService.estaAutenticado', 'formatearRutaService', 'cargoCtrl.index')
).to.have.been.calledOnce;
).to.have.been.calledOnce;
});
});
describe('GET /api/cargos/:id', function() {
describe('GET /api/cargos/:id', function () {
it('Debe apuntar a la ruta cargo.controller.show', function() {
it('Debe apuntar a la ruta cargo.controller.show', function () {
expect(routerStub.get
.withArgs('/:id', 'autenticacionService.estaAutenticado', 'cargoCtrl.show')
).to.have.been.calledOnce;
.withArgs('/:id', 'autenticacionService.estaAutenticado', 'formatearRutaService', 'cargoCtrl.show')
).to.have.been.calledOnce;
});
});
describe('POST /api/cargos', function() {
describe('POST /api/cargos', function () {
it('Debe apuntar a la ruta cargo.controller.create', function() {
it('Debe apuntar a la ruta cargo.controller.create', function () {
expect(routerStub.post
.withArgs('/', 'autenticacionService.tieneRol.ADMINISTRATOR', 'cargoCtrl.create')
).to.have.been.calledOnce;
).to.have.been.calledOnce;
});
});
describe('PUT /api/cargos/:id', function() {
describe('PUT /api/cargos/:id', function () {
it('Debe apuntar a la ruta cargo.controller.update', function() {
it('Debe apuntar a la ruta cargo.controller.update', function () {
expect(routerStub.put
.withArgs('/:id', 'autenticacionService.tieneRol.ADMINISTRATOR', 'cargoCtrl.update')
).to.have.been.calledOnce;
).to.have.been.calledOnce;
});
});
describe('PATCH /api/cargos/:id', function() {
describe('PATCH /api/cargos/:id', function () {
it('Debe apuntar a la ruta cargo.controller.update', function() {
it('Debe apuntar a la ruta cargo.controller.update', function () {
expect(routerStub.patch
.withArgs('/:id', 'autenticacionService.tieneRol.ADMINISTRATOR', 'cargoCtrl.update')
).to.have.been.calledOnce;
).to.have.been.calledOnce;
});
});
describe('DELETE /api/cargos/:id', function() {
describe('DELETE /api/cargos/:id', function () {
it('Debe apuntar a la ruta cargo.controller.destroy', function() {
it('Debe apuntar a la ruta cargo.controller.destroy', function () {
expect(routerStub.delete
.withArgs('/:id', 'autenticacionService.tieneRol.ADMINISTRATOR', 'cargoCtrl.destroy')
).to.have.been.calledOnce;
).to.have.been.calledOnce;
});
});
......
......@@ -10,7 +10,7 @@ var postulanteCtrlStub = {
destroy: 'postulanteCtrl.destroy'
};
var autenticacionServiceStub= {
var autenticacionServiceStub = {
estaAutenticado(){
return 'autenticacionService.estaAutenticado'
},
......@@ -19,7 +19,7 @@ var autenticacionServiceStub= {
}
};
var parametrosRutaValidatorStub = {
formatearRuta:'formatearRutaService'
formatearRuta: 'formatearRutaService'
};
var routerStub = {
get: sinon.spy(),
......@@ -41,68 +41,68 @@ var postulanteIndex = proxyquire('./index.js', {
'../../components/middleware/parametrosRuta.validator': parametrosRutaValidatorStub
});
describe('Postulante API Router:', function() {
describe('Postulante API Router:', function () {
it('Debe retornar una Instancia de Express', function() {
it('Debe retornar una Instancia de Express', function () {
expect(postulanteIndex).to.equal(routerStub);
});
describe('GET /api/postulantes', function() {
describe('GET /api/postulantes', function () {
it('Debe apuntar a la ruta postulante.controller.indexxx', function() {
it('Debe apuntar a la ruta postulante.controller.indexxx', function () {
expect(routerStub.get
.withArgs('/', 'autenticacionService.estaAutenticado', 'formatearRutaService' ,'postulanteCtrl.index')
).to.have.been.calledOnce;
.withArgs('/', 'autenticacionService.estaAutenticado', 'formatearRutaService', 'postulanteCtrl.index')
).to.have.been.calledOnce;
});
});
describe('GET /api/postulantes/:id', function() {
describe('GET /api/postulantes/:id', function () {
it('Debe apuntar a la ruta postulante.controller.show', function() {
it('Debe apuntar a la ruta postulante.controller.show', function () {
expect(routerStub.get
.withArgs('/:id','autenticacionService.estaAutenticado', 'postulanteCtrl.show')
).to.have.been.calledOnce;
.withArgs('/:id', 'autenticacionService.estaAutenticado', 'formatearRutaService', 'postulanteCtrl.show')
).to.have.been.calledOnce;
});
});
describe('POST /api/postulantes', function() {
describe('POST /api/postulantes', function () {
it('Debe apuntar a la ruta postulante.controller.create', function() {
it('Debe apuntar a la ruta postulante.controller.create', function () {
expect(routerStub.post
.withArgs('/', 'autenticacionService.tieneRol.ADMINISTRATOR', 'postulanteCtrl.create')
).to.have.been.calledOnce;
).to.have.been.calledOnce;
});
});
describe('PUT /api/postulantes/:id', function() {
describe('PUT /api/postulantes/:id', function () {
it('Debe apuntar a la ruta postulante.controller.update', function() {
it('Debe apuntar a la ruta postulante.controller.update', function () {
expect(routerStub.put
.withArgs('/:id', 'autenticacionService.tieneRol.ADMINISTRATOR', 'postulanteCtrl.update')
).to.have.been.calledOnce;
).to.have.been.calledOnce;
});
});
describe('PATCH /api/postulantes/:id', function() {
describe('PATCH /api/postulantes/:id', function () {
it('Debe apuntar a la ruta postulante.controller.update', function() {
it('Debe apuntar a la ruta postulante.controller.update', function () {
expect(routerStub.patch
.withArgs('/:id', 'autenticacionService.tieneRol.ADMINISTRATOR', 'postulanteCtrl.update')
).to.have.been.calledOnce;
).to.have.been.calledOnce;
});
});
describe('DELETE /api/postulantes/:id', function() {
describe('DELETE /api/postulantes/:id', function () {
it('Debe apuntar a la ruta postulante.controller.destroy', function() {
it('Debe apuntar a la ruta postulante.controller.destroy', function () {
expect(routerStub.delete
.withArgs('/:id', 'autenticacionService.tieneRol.ADMINISTRATOR', 'postulanteCtrl.destroy')
).to.have.been.calledOnce;
).to.have.been.calledOnce;
});
});
......
......@@ -7,7 +7,7 @@ import {Tag} from '../../sqldb';
import {Cargo} from '../../sqldb';
describe('Postulante API:', function() {
describe('Postulante API:', function () {
var nuevoPostulante;
var token;
before(function (done) {
......@@ -147,7 +147,7 @@ describe('Postulante API:', function() {
Tag.destroy({where: {}}).then(()=> {
Tag.bulkCreate([
{nombre: "Java"},
{nombre: "javascipt"},
{nombre: "javascript"},
{nombre: "python"},
{nombre: "postgres"},
{nombre: "c++"},
......@@ -156,19 +156,16 @@ describe('Postulante API:', function() {
], {returning: true}).then(result=> {
tags = result;
var promise = Promise.resolve();
var i = 0;
postulantes.forEach(postulante=> {
var i = 0;
promise = promise.then(()=> {
postulante.setTags([
tags[i],
tags[i+1],
tags[i+2],
tags[i+3]])
.then(()=> {
i++;
});
})
})
tags[i],
tags[i + 1],
tags[i + 2],
tags[i + 3]])
}).then(()=>i += 1);
});
done();
})
})
......@@ -176,15 +173,37 @@ describe('Postulante API:', function() {
});
});
it("Deberia filtrar los postulantes con determinados los tag postgres y python", function (done) {
request(app)
.get('/api/postulantes?incluye=%7B%22entidad%22:%22Tags%22,%22buscar%22:%5B%7B%22palabra%22:%22python%22,%22en%22:%22nombre%22%7D,%7B%22palabra%22:%22postgres%22,%22en%22:%22nombre%22%7D%5D%7D')
.set('authorization', 'Bearer ' + token)
.expect(200)
.expect('Content-Type', /json/)
.end((err, res)=> {
expect(res.body.count).to.equal(3);
done();
});
});
it("Deberia filtrar los postulantes con determinados tags", function (done) {
request(app)
.get('/api/postulante?palabras=juan&en=nombres&en=apellidos')
.get('/api/postulantes?incluye=%7B%22entidad%22:%22Tags%22,%22buscar%22:%5B%7B%22palabra%22:%22Java%22,%22en%22:%22nombre%22%7D,%7B%22palabra%22:%22javascript%22,%22en%22:%22nombre%22%7D%5D%7D')
.set('authorization', 'Bearer ' + token)
.expect(200)
.expect('Content-Type', /json/)
.end((err, res)=> {
console.log(res.body);
expect(true).to.equal(true);
expect(res.body.count).to.equal(1);
expect(res.body.rows[0].nombres).to.equal("Juan Jose");
done();
});
})
it("Deberia filtrar los postulantes con tags inexistentes", function (done) {
request(app)
.get('/api/postulantes?incluye=%7B%22entidad%22:%22Tags%22,%22buscar%22:%5B%7B%22palabra%22:%22Java%22,%22en%22:%22nombre%22%7D,%7B%22palabra%22:%22javascriptt%22,%22en%22:%22nombre%22%7D%5D%7D')
.set('authorization', 'Bearer ' + token)
.expect(200)
.expect('Content-Type', /json/)
.end((err, res)=> {
expect(res.body.count).to.equal(0);
done();
});
})
......
......@@ -3,95 +3,45 @@
var proxyquire = require('proxyquire').noPreserveCache();
var usuarioCtrlStub = {
index: 'usuarioCtrl.index',
show: 'usuarioCtrl.show',
create: 'usuarioCtrl.create',
update: 'usuarioCtrl.update',
destroy: 'usuarioCtrl.destroy'
yo: 'usuarioCtrl.yo',
};
var autenticacionServiceStub = {
estaAutenticado(){
return 'autenticacionService.estaAutenticado'
},
tieneRol(rol){
return 'autenticacionService.tieneRol.' + rol;
}
};
var routerStub = {
get: sinon.spy(),
put: sinon.spy(),
patch: sinon.spy(),
post: sinon.spy(),
delete: sinon.spy()
};
// require the index with our stubbed out modules
var usuarioIndex = proxyquire('./index.js', {
'express': {
Router: function() {
Router: function () {
return routerStub;
}
},
'./usuario.controller': usuarioCtrlStub
'./usuario.controller': usuarioCtrlStub,
'../../autenticacion/autenticacion.service': autenticacionServiceStub,
});
describe('Usuario API Router:', function() {
describe('Usuario API Router:', function () {
it('should return an express router instance', function() {
it('should return an express router instance', function () {
expect(usuarioIndex).to.equal(routerStub);
});
describe('GET /api/usuarios', function() {
it('should route to usuario.controller.index', function() {
expect(routerStub.get
.withArgs('/', 'usuarioCtrl.index')
).to.have.been.calledOnce;
});
});
describe('GET /api/usuarios/:id', function() {
describe('GET /api/usuarios/yo', function () {
it('should route to usuario.controller.show', function() {
it('Debe enrutar a usuarioController.yo', function () {
expect(routerStub.get
.withArgs('/:id', 'usuarioCtrl.show')
).to.have.been.calledOnce;
.withArgs('/yo', 'autenticacionService.estaAutenticado', 'usuarioCtrl.yo')
).to.have.been.calledOnce;
});
});
describe('POST /api/usuarios', function() {
it('should route to usuario.controller.create', function() {
expect(routerStub.post
.withArgs('/', 'usuarioCtrl.create')
).to.have.been.calledOnce;
});
});
describe('PUT /api/usuarios/:id', function() {
it('should route to usuario.controller.update', function() {
expect(routerStub.put
.withArgs('/:id', 'usuarioCtrl.update')
).to.have.been.calledOnce;
});
});
describe('PATCH /api/usuarios/:id', function() {
it('should route to usuario.controller.update', function() {
expect(routerStub.patch
.withArgs('/:id', 'usuarioCtrl.update')
).to.have.been.calledOnce;
});
});
describe('DELETE /api/usuarios/:id', function() {
it('should route to usuario.controller.destroy', function() {
expect(routerStub.delete
.withArgs('/:id', 'usuarioCtrl.destroy')
).to.have.been.calledOnce;
});
});
});
......@@ -3,141 +3,38 @@
var app = require('../..');
import request from 'supertest';
var newUsuario;
describe('Usuario API:', function() {
describe('GET /api/usuarios', function() {
var usuarios;
beforeEach(function(done) {
request(app)
.get('/api/usuarios')
.expect(200)
.expect('Content-Type', /json/)
.end((err, res) => {
if (err) {
return done(err);
}
usuarios = res.body;
done();
});
});
it('should respond with JSON array', function() {
expect(usuarios).to.be.instanceOf(Array);
});
});
describe('POST /api/usuarios', function() {
beforeEach(function(done) {
describe('Usuario API:', function () {
var token;
before(function (done) {
Postulante.destroy({where: {}}).then(()=> {
request(app)
.post('/api/usuarios')
.post('/api/autenticar/ldap')
.send({
name: 'New Usuario',
info: 'This is the brand new usuario!!!'
nombreUsuario: 'test',
contrasena: '123456'
})
.expect(201)
.expect('Content-Type', /json/)
.end((err, res) => {
if (err) {
return done(err);
}
newUsuario = res.body;
done();
});
});
it('should respond with the newly created usuario', function() {
expect(newUsuario.name).to.equal('New Usuario');
expect(newUsuario.info).to.equal('This is the brand new usuario!!!');
});
});
describe('GET /api/usuarios/:id', function() {
var usuario;
beforeEach(function(done) {
request(app)
.get('/api/usuarios/' + newUsuario._id)
.expect(200)
.expect('Content-Type', /json/)
.end((err, res) => {
if (err) {
return done(err);
}
usuario = res.body;
.end((err, res)=> {
token = res.body.token;
done();
});
});
afterEach(function() {
usuario = {};
});
it('should respond with the requested usuario', function() {
expect(usuario.name).to.equal('New Usuario');
expect(usuario.info).to.equal('This is the brand new usuario!!!');
});
});
describe('PUT /api/usuarios/:id', function() {
var updatedUsuario;
beforeEach(function(done) {
request(app)
.put('/api/usuarios/' + newUsuario._id)
.send({
name: 'Updated Usuario',
info: 'This is the updated usuario!!!'
})
.expect(200)
.expect('Content-Type', /json/)
.end(function(err, res) {
if (err) {
return done(err);
}
updatedUsuario = res.body;
done();
});
});
afterEach(function() {
updatedUsuario = {};
});
it('should respond with the updated usuario', function() {
expect(updatedUsuario.name).to.equal('Updated Usuario');
expect(updatedUsuario.info).to.equal('This is the updated usuario!!!');
});
});
describe('DELETE /api/usuarios/:id', function() {
it('should respond with 204 on successful removal', function(done) {
request(app)
.delete('/api/usuarios/' + newUsuario._id)
.expect(204)
.end((err, res) => {
if (err) {
return done(err);
}
done();
});
});
describe('GET /api/usuarios/yo', function () {
var usuario;
it('should respond with 404 when usuario does not exist', function(done) {
beforeEach(function (done) {
request(app)
.delete('/api/usuarios/' + newUsuario._id)
.expect(404)
.get('/api/usuarios/yo')
.set('authorization', 'Bearer ' + token)
.expect(200)
.expect('Content-Type', /json/)
.end((err, res) => {
if (err) {
return done(err);
}
expect(res.body.nombreCompleto).to.equal('Test Gutierrez');
expect(res.body.nombreUsuario).to.equal('test');
done();
});
});
......
......@@ -12,9 +12,7 @@ export function respondWithResult(res, statusCode) {
else {
entity.rows = res.inclusiones.length > 0 ? filtro.filtrar(entity.rows, res.inclusiones) : entity.rows;
entity.count = entity.rows.length;
console.log(res.offset);
console.log(res.limit);
entity.rows = entity.rows.slice(res.offset, res.offset + res.limit);
entity.rows = res.offset && res.limit ? entity.rows.slice(res.offset, res.offset + res.limit) : entity.rows;
res.status(statusCode).json(entity);
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment