Home Reference Source

application/__tests__/services/draft-service-test.js

  1. jest.unmock('./../../services/draft-service');
  2. jest.unmock('./../../services/base-service');
  3. jest.unmock('./../../services/error-service');
  4. jest.unmock('./../../util/mock-fetch');
  5. jest.unmock('./../../util/strings');
  6.  
  7. jest.unmock('./../../alt');
  8.  
  9. import React from 'react';
  10. import ReactDOM from 'react-dom';
  11. import TestUtils from 'react-addons-test-utils';
  12. import Immutable from 'immutable';
  13. import sinon from 'sinon';
  14. import AltTestingUtils from 'alt-utils/lib/AltTestingUtils';
  15.  
  16. import alt from './../../alt';
  17. import {DraftService, DraftsStore} from './../../services/draft-service';
  18. import fetch from './../../util/mock-fetch';
  19.  
  20. describe('DraftService', () => {
  21.  
  22. it('fetches draft', (done) => {
  23. sinon.stub(window, 'fetch').returns(fetch([{
  24. id: 1,
  25. user_id: 2,
  26. content_id: 3,
  27. content: 'this is a test'
  28. }]));
  29.  
  30. DraftService.fetchOne('foo').then(() => {
  31. expect(DraftsStore.getState().draft.get('id')).toEqual(1);
  32. expect(DraftsStore.getState().draft.get('user_id')).toEqual(2);
  33.  
  34. window.fetch.restore();
  35. done();
  36. });
  37. });
  38.  
  39. it('creates draft', (done) => {
  40. sinon.stub(window, 'fetch').returns(fetch([{
  41. id: 1,
  42. user_id: 2,
  43. content_id: 3,
  44. content: 'this is a test'
  45. }]));
  46.  
  47. DraftService.create('srn:tsn:test', {'content': 'fraz'}).then(() => {
  48. expect(window.fetch.called).toEqual(true);
  49. expect(window.fetch.getCalls()[0].args[0]).toEqual('/v3/draft?content=srn%3Atsn%3Atest');
  50. window.fetch.restore();
  51. done();
  52. });
  53. });
  54.  
  55. });