Commit 1ef6e711 authored by D’jalmar Gutierrez Titirico's avatar D’jalmar Gutierrez Titirico 🚲

Se definieron los tests para los tags y los postulantes, aun no se termina de definir

ya que se esta a la espera de la solucion de algunos bugs de parte del ORM
parent 4a5bdbb5
......@@ -3,12 +3,14 @@
var app = require('../..');
import request from 'supertest';
import {Postulante} from '../../sqldb';
import {Tag} from '../../sqldb';
import {Cargo} from '../../sqldb';
describe('Postulante API:', function() {
var nuevoPostulante;
var token;
before(function(done) {
before(function (done) {
Postulante.destroy({where: {}}).then(()=> {
request(app)
.post('/api/autenticar/ldap')
......@@ -25,8 +27,8 @@ describe('Postulante API:', function() {
});
});
describe('GET /api/postulantes', function() {
it('Debe obtener un objeto con la cantidad de los postulantes y un array con todos los postulantes', function(done){
describe('GET /api/postulantes', function () {
it('Debe obtener un objeto con la cantidad de los postulantes y un array con todos los postulantes', function (done) {
request(app)
.get('/api/postulantes')
.set('authorization', 'Bearer ' + token)
......@@ -40,7 +42,7 @@ describe('Postulante API:', function() {
})
});
describe('POST /api/postulantes', function() {
describe('POST /api/postulantes', function () {
it('Debe crear un nuevo postulante', function (done) {
request(app)
.post('/api/postulantes')
......@@ -58,7 +60,7 @@ describe('Postulante API:', function() {
})
});
describe('GET /api/postulantes/:id', function() {
describe('GET /api/postulantes/:id', function () {
it('Debe obtener un postulante por el id', function (done) {
request(app)
.get('/api/postulantes/' + nuevoPostulante._id)
......@@ -74,7 +76,7 @@ describe('Postulante API:', function() {
})
});
describe('PUT /api/postulantes/:id', function() {
describe('PUT /api/postulantes/:id', function () {
it('Debe actualizar un postulante', function (done) {
nuevoPostulante.nombres = "Ana";
nuevoPostulante.apellidos = "Lopez Perez";
......@@ -94,9 +96,9 @@ describe('Postulante API:', function() {
})
});
describe('DELETE /api/postulantes/:id', function() {
describe('DELETE /api/postulantes/:id', function () {
it('Debe responder con 204 en la eliminacion', function(done) {
it('Debe responder con 204 en la eliminacion', function (done) {
request(app)
.delete('/api/postulantes/' + nuevoPostulante._id)
.set('authorization', 'Bearer ' + token)
......@@ -109,7 +111,7 @@ describe('Postulante API:', function() {
});
});
it('Debe responder con 404 si postulante no existe', function(done) {
it('Debe responder con 404 si postulante no existe', function (done) {
request(app)
.delete('/api/postulantes/' + nuevoPostulante._id)
.set('authorization', 'Bearer ' + token)
......@@ -123,5 +125,68 @@ describe('Postulante API:', function() {
});
});
describe('GET /api/postulantes/?filtro', function () {
var postulantes;
var tags;
before(function (done) {
Postulante.destroy({where: {}}).then(()=> {
Postulante.bulkCreate([{
nombres: "Juan Jose",
apellidos: "Perez Gomez",
ci: "6867562"
}, {
nombres: "juan",
apellidos: "Perez",
ci: "6867561"
}, {
nombres: "Ana",
apellidos: "Lujan Ramirez",
ci: "6867558"
}], {returning: true}).then(resultado => {
postulantes = resultado;
Tag.destroy({where: {}}).then(()=> {
Tag.bulkCreate([
{nombre: "Java"},
{nombre: "javascipt"},
{nombre: "python"},
{nombre: "postgres"},
{nombre: "c++"},
{nombre: "c#"},
{nombre: "PHP"}
], {returning: true}).then(result=> {
tags = result;
var promise = Promise.resolve();
postulantes.forEach(postulante=> {
var i = 0;
promise = promise.then(()=> {
postulante.setTags([
tags[i],
tags[i+1],
tags[i+2],
tags[i+3]])
.then(()=> {
i++;
});
})
})
done();
})
})
})
});
});
it("Deberia filtrar los postulantes con determinados tags", function (done) {
request(app)
.get('/api/postulante?palabras=juan&en=nombres&en=apellidos')
.set('authorization', 'Bearer ' + token)
.expect(200)
.expect('Content-Type', /json/)
.end((err, res)=> {
console.log(res.body);
expect(true).to.equal(true);
done();
});
})
})
});
......@@ -118,7 +118,7 @@ describe('Tag API:', function() {
});
describe('GET /api/tags?buscar=palabra&en=nombre', function () {
var tagss;
var tags;
beforeEach(function (done) {
Tag.destroy({where: {}}).then(()=> {
Tag.bulkCreate([{
......@@ -131,8 +131,8 @@ describe('Tag API:', function() {
nombre: "json"
}, {
nombre: "joomla"
}],{returning: true}).then(tags=> {
tagss = tags;
}],{returning: true}).then(resultado=> {
tags = resultado;
done();
})
});
......@@ -147,20 +147,19 @@ describe('Tag API:', function() {
.end((err, res)=> {
expect(res.body.count).to.equal(4);
expect(res.body.rows).to.be.instanceOf(Array);
done();
});
});
it("deberia realizar busqueda por id", function (done) {
request(app)
.get('/api/tags?palabras=' + tagss[0]._id + '&en=_id')
.get('/api/tags?palabras=' + tags[0]._id + '&en=_id')
.set('authorization', 'Bearer ' + token)
.expect(200)
.expect('Content-Type', /json/)
.end((err, res)=> {
expect(res.body.count).to.equal(1);
expect(res.body.rows[0]._id).to.equal(tagss[0]._id);
expect(res.body.rows[0]._id).to.equal(tags[0]._id);
done();
});
})
......
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