Guest User

Untitled

a guest
Feb 25th, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.00 KB | None | 0 0
  1. const server = require('../index.js');
  2. const sinon = require('sinon');
  3. const superagent = require('superagent');
  4. const chai = require('chai');
  5. const expect = chai.expect;
  6.  
  7. describe('the spy', function() {
  8. var mockGet;
  9. beforeEach(function(){
  10. mockGet = sinon.spy(superagent, 'get');
  11. });
  12.  
  13. afterEach(function(){
  14. superagent.get.restore();
  15. });
  16.  
  17. it('should use the correct url', function(done){
  18. const epectedUrl = 'calapi.inadiutorium.cz/api/v0/en/calendars';
  19.  
  20. server.getStatusFromApi();
  21.  
  22. expect(mockGet.called).to.be.true;
  23. expect(mockGet.getCall(0).args[0]).to.be.equal(epectedUrl);
  24. done();
  25. });
  26. });
  27.  
  28. describe('url checker ', function() {
  29. let bodyToReturn = {};
  30. let promiseToReturn = Promise.resolve({status: 'ok', body: bodyToReturn});
  31.  
  32. beforeEach(function(){
  33. mockGet = sinon.stub(superagent, 'get');
  34. mockSet = sinon.stub();
  35. });
  36.  
  37. afterEach(function(){
  38. superagent.get.restore();
  39. });
  40.  
  41. it('should use the correct url', function(){
  42. mockSet.returns(promiseToReturn);
  43. var mockObject = {
  44. 'set' : mockSet
  45. }
  46.  
  47. mockGet.returns(mockObject);
  48. server.getStatusFromApi().then(res => expect(mockGet.called).to.be.true) ;
  49. expect(mockGet.getCall(0).args[0]).to.be.equal('calapi.inadiutorium.cz/api/v0/en/calendars');
  50. });
  51.  
  52. it('should set the proper headers', function(){
  53. mockSet.returns(promiseToReturn);
  54. var mockObject = {
  55. 'set' : mockSet
  56. }
  57.  
  58. mockGet.returns(mockObject);
  59. server.getStatusFromApi().then(res => expect(mockGet.called).to.be.true);
  60.  
  61. expect(mockSet.getCall(0).args[0]).to.be.equal('accept');
  62. expect(mockSet.getCall(0).args[1]).to.be.equal('json');
  63. });
  64.  
  65. it('should return an array of values', function() {
  66. let expectedArray = ['calendar1', 'calendar2'];
  67. promiseToReturn = Promise.resolve({status: 'ok', body: expectedArray});
  68.  
  69. bodyToReturn = expectedArray;
  70. mockSet.returns(promiseToReturn);
  71. var mockObject = {
  72. 'set' : mockSet
  73. };
  74.  
  75. mockGet.returns(mockObject);
  76. server.getStatusFromApi().then(function(res) {
  77. expect(res).to.be.deep.equal(expectedArray);
  78. });
  79.  
  80. });
  81. });
Add Comment
Please, Sign In to add comment