PublishersGetterTests.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /* eslint-disable
  2. node/handle-callback-err,
  3. max-len,
  4. no-return-assign,
  5. no-unused-vars,
  6. */
  7. // TODO: This file was created by bulk-decaffeinate.
  8. // Fix any style issues and re-enable lint.
  9. /*
  10. * decaffeinate suggestions:
  11. * DS102: Remove unnecessary code created because of implicit returns
  12. * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
  13. */
  14. const SandboxedModule = require('sandboxed-module')
  15. const { expect } = require('chai')
  16. const sinon = require('sinon')
  17. const modulePath = require('path').join(
  18. __dirname,
  19. '../../../../app/src/Features/Publishers/PublishersGetter.js'
  20. )
  21. describe('PublishersGetter', function () {
  22. beforeEach(function () {
  23. this.publisher = {
  24. _id: 'mock-publsiher-id',
  25. slug: 'ieee',
  26. fetchV1Data: sinon.stub(),
  27. }
  28. this.PublishersGetter = SandboxedModule.require(modulePath, {
  29. requires: {
  30. '../User/UserGetter': this.UserGetter,
  31. '../UserMembership/UserMembershipsHandler': (this.UserMembershipsHandler = {
  32. getEntitiesByUser: sinon
  33. .stub()
  34. .callsArgWith(2, null, [this.publisher]),
  35. }),
  36. '../UserMembership/UserMembershipEntityConfigs': (this.UserMembershipEntityConfigs = {
  37. publisher: {
  38. modelName: 'Publisher',
  39. canCreate: true,
  40. fields: {
  41. primaryKey: 'slug',
  42. },
  43. },
  44. }),
  45. },
  46. })
  47. return (this.userId = '12345abcde')
  48. })
  49. describe('getManagedPublishers', function () {
  50. it('fetches v1 data before returning publisher list', function (done) {
  51. return this.PublishersGetter.getManagedPublishers(
  52. this.userId,
  53. (error, publishers) => {
  54. publishers.length.should.equal(1)
  55. return done()
  56. }
  57. )
  58. })
  59. })
  60. })