PageRenderTime 42ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/test/testapi.js

https://bitbucket.org/irenerb/practica1_pass_api_rest_irb
JavaScript | 72 lines | 40 code | 6 blank | 26 comment | 1 complexity | f8029584c646c519365005a04736650a MD5 | raw file
  1. var mocha = require('mocha');
  2. var chai = require('chai');
  3. var chaihttp = require('chai-http');
  4. // ejecuta el fichero server.js (aunque definimos 'var' no funciona como variable, sino como arrancador)
  5. var server = require('../server.js');
  6. // para indicar a chai que queremos hacer peticiones http
  7. chai.use(chaihttp);
  8. var should = chai.should();
  9. /*
  10. // ejemplo test = ¿responde la url...?
  11. describe('First test',
  12. function() {
  13. it('Tests that duckduckgo works',
  14. function(done) {
  15. chai.request('https://www.duckduckgo.com')
  16. .get('/')
  17. .end(
  18. function(err, res) {
  19. console.log('Request has ended');
  20. //console.log(res);
  21. console.log(err);
  22. res.should.have.status(200);
  23. done();
  24. }
  25. );
  26. }
  27. );
  28. }
  29. );
  30. */
  31. describe('Test de API Usuarios',
  32. function() {
  33. //it-1
  34. it('Prueba que la API de usuarios responde correctamente.',
  35. function(done) {
  36. chai.request('http://localhost:3000')
  37. .get('/apitechu/v1')
  38. .end(
  39. function(err, res) {
  40. res.should.have.status(200);
  41. res.body.msg.should.be.eql("Bienvenido a la API de Tech U - IreneR")
  42. done();
  43. }
  44. )
  45. }
  46. ),
  47. //it-2 Segundo test dentro de API test
  48. it('Prueba que la API devuelve una lista de usuarios correctos.',
  49. function(done) {
  50. chai.request('http://localhost:3000')
  51. .get('/apitechu/v1/users')
  52. .end(
  53. function(err, res) {
  54. res.should.have.status(200);
  55. res.body.should.be.a("array");
  56. for (user of res.body) {
  57. user.should.have.property('email');
  58. user.should.have.property('password');
  59. }
  60. done();
  61. }
  62. )
  63. }
  64. )
  65. }
  66. );