| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- sinon = require('sinon')
- assertCalledWith = sinon.assert.calledWith
- ObjectId = require("../../../../app/js/infrastructure/mongojs").ObjectId
- modulePath = "../../../../app/js/Features/UserMembership/UserMembershipsHandler"
- SandboxedModule = require("sandboxed-module")
- describe 'UserMembershipsHandler', ->
- beforeEach ->
- @user = _id: ObjectId()
- @Institution =
- updateMany: sinon.stub().yields(null)
- @Subscription =
- updateMany: sinon.stub().yields(null)
- @Publisher =
- updateMany: sinon.stub().yields(null)
- @UserMembershipsHandler = SandboxedModule.require modulePath, requires:
- '../../models/Institution': Institution: @Institution
- '../../models/Subscription': Subscription: @Subscription
- '../../models/Publisher': Publisher: @Publisher
- describe 'remove user', ->
- it 'remove user from all entities', (done) ->
- @UserMembershipsHandler.removeUserFromAllEntities @user._id, (error) =>
- assertCalledWith(
- @Institution.updateMany,
- {},
- { "$pull": { managerIds: @user._id } }
- )
- assertCalledWith(
- @Subscription.updateMany,
- {},
- { "$pull": { manager_ids: @user._id } }
- )
- assertCalledWith(
- @Publisher.updateMany,
- {},
- { "$pull": { managerIds: @user._id } }
- )
- done()
|