PageRenderTime 39ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 0ms

/test/testapi.js

https://bitbucket.org/davidgarciagomez/practicaapirest
JavaScript | 74 lines | 62 code | 6 blank | 6 comment | 1 complexity | 028b3f13dbcb82be7e5a38599d2f796a MD5 | raw file
  1. var mocha = require("mocha");
  2. var chai = require("chai");
  3. var chaihttp = require("chai-http");
  4. //Aumentamos la fncionalidad de chai, con este plugin para poder lanzar peticiones
  5. //http
  6. chai.use(chaihttp);
  7. var should = chai.should();
  8. //Preparo el entorno para que podamos probarlo.
  9. var server = require('../server');
  10. describe('First test suite',//Suite de test unitario
  11. function(){//Funcion manejadora de una suite
  12. it ('Test that DuckDuckGo works', //Test unitario
  13. function(done){
  14. chai.request('http://www.DuckDuckGo.com')//Usamos Chai para hacer la api, asi establecemos el dominio base
  15. .get('/')// Establecemos una pureba para get al metodo /
  16. .end(//Una vez que se ha hecho la petición, se lanza el end y en el vemos el restultado.
  17. function(err, res){//Aqui vamos a esablecer las aserciones en funcion del resultado de la petición.
  18. console.log("Resquest has ended");
  19. console.log(err);
  20. //console.log(res);
  21. res.should.have.status(200);
  22. done();//Le decimos al framework que hemos terminado para evaluar las aserciones.
  23. }
  24. )
  25. }
  26. )
  27. }
  28. );
  29. describe('Test de API TechU',//Suite de test unitario
  30. function(){//Funcion manejadora de una suite
  31. it ('Prueba que la API funciona correctamente', //Test unitario
  32. function(done){
  33. chai.request('http://localhost:3000')//Usamos Chai para hacer la api, asi establecemos el dominio base
  34. .get('/apitechu/v1')// Establecemos una pureba para get al metodo /
  35. .end(//Una vez que se ha hecho la petición, se lanza el end y en el vemos el restultado.
  36. function(err, res){//Aqui vamos a esablecer las aserciones en funcion del resultado de la petición.
  37. console.log("Resquest has ended");
  38. console.log(err);
  39. //console.log(res);
  40. res.should.have.status(200);
  41. res.body.msg.should.be.eql("hola desde apitechu/v1");
  42. done();//Le decimos al framework que hemos terminado para evaluar las aserciones.
  43. }
  44. )
  45. }
  46. ),
  47. it ('Prueba que la API devuelve una lista de usuarios correctos', //Test unitario
  48. function(done){
  49. chai.request('http://localhost:3000')//Usamos Chai para hacer la api, asi establecemos el dominio base
  50. .get('/apitechu/v1/users')// Establecemos una pureba para get al metodo /
  51. .end(//Una vez que se ha hecho la petición, se lanza el end y en el vemos el restultado.
  52. function(err, res){//Aqui vamos a esablecer las aserciones en funcion del resultado de la petición.
  53. console.log("Resquest has ended");
  54. console.log(err);
  55. //console.log(res);
  56. res.should.have.status(200);
  57. res.body.should.be.a('array');
  58. for (users of res.body){
  59. users.should.have.property('email');
  60. users.should.have.property('password');
  61. }
  62. done();//Le decimos al framework que hemos terminado para evaluar las aserciones.
  63. }
  64. )
  65. }
  66. )
  67. }
  68. );