Advertisement
Guest User

Untitled

a guest
Nov 29th, 2015
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. var utils = {
  2. buildRequest: buildRequest,
  3. makeRequest: makeRequest
  4. };
  5.  
  6. module.exports = {
  7. getData: getData,
  8. buildRequest: buildRequest,
  9. makeRequest: makeRequest,
  10. utils: utils
  11. };
  12.  
  13. function buildRequest(resource) {
  14. return 'request';
  15. }
  16.  
  17. function getData(resource, callback) {
  18. var request = utils.buildRequest(resource);
  19. utils.makeRequest(request, callback);
  20. }
  21.  
  22. function makeRequest(request, onCompleteFn) {
  23. // do some IO get some data or receive an error
  24. var someFakeData = {};
  25. onCompleteFn(someFakeData);
  26. }
  27.  
  28. ------
  29.  
  30. var assert = require('chai').assert;
  31. var resources = require('./resources.js');
  32. var sinon = require('sinon');
  33.  
  34.  
  35. describe('resources.js', function() {
  36. describe('getData()', function() {
  37. it('calls makeRequest with a built request', function() {
  38. resources.utils.makeRequest = sinon.spy();
  39. var resource = 'a resource';
  40. var request = resources.buildRequest(resource);
  41.  
  42. var callback = sinon.spy();
  43. resources.getData(resource, callback);
  44. assert.isTrue(
  45. resources.utils.makeRequest.withArgs(
  46. request, callback).calledOnce
  47. );
  48.  
  49. });
  50. });
  51. });
  52.  
  53. -----
  54.  
  55. $ mocha *.spec.js
  56.  
  57.  
  58. resources.js
  59. getData()
  60. ✓ calls makeRequest with a built request
  61.  
  62.  
  63. 1 passing (13ms)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement