Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const server = require('../index.js');
- const sinon = require('sinon');
- const superagent = require('superagent');
- const chai = require('chai');
- const expect = chai.expect;
- describe('the spy', function() {
- var mockGet;
- beforeEach(function(){
- mockGet = sinon.spy(superagent, 'get');
- });
- afterEach(function(){
- superagent.get.restore();
- });
- it('should use the correct url', function(done){
- const epectedUrl = 'calapi.inadiutorium.cz/api/v0/en/calendars';
- server.getStatusFromApi();
- expect(mockGet.called).to.be.true;
- expect(mockGet.getCall(0).args[0]).to.be.equal(epectedUrl);
- done();
- });
- });
- describe('url checker ', function() {
- let bodyToReturn = {};
- let promiseToReturn = Promise.resolve({status: 'ok', body: bodyToReturn});
- beforeEach(function(){
- mockGet = sinon.stub(superagent, 'get');
- mockSet = sinon.stub();
- });
- afterEach(function(){
- superagent.get.restore();
- });
- it('should use the correct url', function(){
- mockSet.returns(promiseToReturn);
- var mockObject = {
- 'set' : mockSet
- }
- mockGet.returns(mockObject);
- server.getStatusFromApi().then(res => expect(mockGet.called).to.be.true) ;
- expect(mockGet.getCall(0).args[0]).to.be.equal('calapi.inadiutorium.cz/api/v0/en/calendars');
- });
- it('should set the proper headers', function(){
- mockSet.returns(promiseToReturn);
- var mockObject = {
- 'set' : mockSet
- }
- mockGet.returns(mockObject);
- server.getStatusFromApi().then(res => expect(mockGet.called).to.be.true);
- expect(mockSet.getCall(0).args[0]).to.be.equal('accept');
- expect(mockSet.getCall(0).args[1]).to.be.equal('json');
- });
- it('should return an array of values', function() {
- let expectedArray = ['calendar1', 'calendar2'];
- promiseToReturn = Promise.resolve({status: 'ok', body: expectedArray});
- bodyToReturn = expectedArray;
- mockSet.returns(promiseToReturn);
- var mockObject = {
- 'set' : mockSet
- };
- mockGet.returns(mockObject);
- server.getStatusFromApi().then(function(res) {
- expect(res).to.be.deep.equal(expectedArray);
- });
- });
- });
Add Comment
Please, Sign In to add comment