PageRenderTime 334ms CodeModel.GetById 27ms RepoModel.GetById 0ms app.codeStats 0ms

/test/testapi.js

https://bitbucket.org/bilboteam2018/borrador_backend01
JavaScript | 82 lines | 60 code | 13 blank | 9 comment | 1 complexity | 69b398eae3c7270f2cbfa697620909f1 MD5 | raw file
  1. var mocha=require('mocha');
  2. var chai=require('chai');
  3. var chaihttp=require('chai-http');
  4. chai.use(chaihttp);
  5. var should = chai.should();
  6. var server = require('../server');//lanza el server sin necesidad de tener la api iniciada//
  7. // Es lo que se llama test unitario autocontenido//
  8. //First, F-Fast, I-Independant, R-Repitable S-Self_validating, T-Timely//
  9. //se prueban unidades de software, classes etc//
  10. //First test es una swich//
  11. // Se comprueba con la llamada a esta http nos devuelve los resultados del test//
  12. describe('First test',
  13. function(){
  14. it('Test tahat DuckDuckGo works',
  15. function(done){
  16. chai.request('http://www.duckduckgo.com')
  17. .get('/')
  18. .end(
  19. function(err, res){
  20. console.log("Request has ended");
  21. console.log(err);
  22. //console.log(res);//
  23. res.should.have.status(200);//se guarda la respuesta como código 200 para saber que lo ha hecho bien//
  24. //el codigo de rectorno ok es 200, se comprueba que ho hace bien y no hay falsos positivos//
  25. done();// se usa para que sepa el final de las aserciones//
  26. }
  27. )
  28. }
  29. )
  30. }
  31. );
  32. describe('Test de API de usuarios TechU',
  33. function(){
  34. it('Test de API de usuarios TechU',
  35. function(done){
  36. chai.request('http://localhost:3000')
  37. .get('/apitechu/v1')
  38. .end(
  39. function(err, res){
  40. console.log("Request has ended");
  41. //console.log(res);//
  42. res.should.have.status(200);//se guarda la respuesta como código 200 para saber que lo ha hecho bien//
  43. res.body.msg.should.be.eql("Respuesta desde Pechu") ; //el codigo de rectorno ok es 200, se comprueba que ho hace bien y no hay falsos positivos//
  44. done();// se usa para que sepa el final de las aserciones//
  45. }
  46. )
  47. }
  48. ),
  49. it('Prueba que la API devuelve una lista de usuarios correcta',
  50. function(done){
  51. chai.request('http://localhost:3000')
  52. .get('/apitechu/v1/users')
  53. .end(
  54. function(err, res){
  55. console.log("Request has ended");
  56. //console.log(res);//
  57. res.should.have.status(200);//se guarda la respuesta como código 200 para saber que lo ha hecho bien//
  58. res.body.should.be.a("array");//a, es un tipo primitivo, el formaton en este caso es un array//
  59. for (user of res.body){
  60. user.should.have.property('email');
  61. user.should.have.property('password');
  62. }
  63. done();
  64. }
  65. )
  66. }
  67. )
  68. }
  69. );