PublishersGetterTests.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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. require('chai').should()
  16. const { expect } = require('chai')
  17. const sinon = require('sinon')
  18. const modulePath = require('path').join(
  19. __dirname,
  20. '../../../../app/src/Features/Publishers/PublishersGetter.js'
  21. )
  22. describe('PublishersGetter', function() {
  23. beforeEach(function() {
  24. this.publisher = {
  25. _id: 'mock-publsiher-id',
  26. slug: 'ieee',
  27. fetchV1Data: sinon.stub()
  28. }
  29. this.PublishersGetter = SandboxedModule.require(modulePath, {
  30. globals: {
  31. console: console
  32. },
  33. requires: {
  34. '../User/UserGetter': this.UserGetter,
  35. '../UserMembership/UserMembershipsHandler': (this.UserMembershipsHandler = {
  36. getEntitiesByUser: sinon
  37. .stub()
  38. .callsArgWith(2, null, [this.publisher])
  39. }),
  40. '../UserMembership/UserMembershipEntityConfigs': (this.UserMembershipEntityConfigs = {
  41. publisher: {
  42. modelName: 'Publisher',
  43. canCreate: true,
  44. fields: {
  45. primaryKey: 'slug'
  46. }
  47. }
  48. }),
  49. 'logger-sharelatex': {
  50. log() {},
  51. err() {}
  52. }
  53. }
  54. })
  55. return (this.userId = '12345abcde')
  56. })
  57. describe('getManagedPublishers', function() {
  58. it('fetches v1 data before returning publisher list', function(done) {
  59. return this.PublishersGetter.getManagedPublishers(
  60. this.userId,
  61. (error, publishers) => {
  62. publishers.length.should.equal(1)
  63. return done()
  64. }
  65. )
  66. })
  67. })
  68. })