ProjectCollabratecDetailsTest.coffee 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. ObjectId = require("mongojs").ObjectId
  2. Path = require "path"
  3. SandboxedModule = require "sandboxed-module"
  4. assert = require "assert"
  5. chai = require "chai"
  6. sinon = require "sinon"
  7. sinonChai = require "sinon-chai"
  8. chai.use sinonChai
  9. expect = chai.expect
  10. modulePath = Path.join __dirname, "../../../../app/js/Features/Project/ProjectCollabratecDetailsHandler"
  11. describe "ProjectCollabratecDetailsHandler", ->
  12. beforeEach ->
  13. @ProjectModel = {}
  14. @ProjectCollabratecDetailsHandler = SandboxedModule.require modulePath, requires:
  15. "../../models/Project": { Project: @ProjectModel }
  16. @callback = sinon.stub()
  17. describe "initializeCollabratecProject", ->
  18. describe "when update succeeds", ->
  19. beforeEach ->
  20. @ProjectModel.update = sinon.stub().yields()
  21. @ProjectCollabratecDetailsHandler.initializeCollabratecProject "project-id", "name", "user-id", "collabratec-document-id", "collabratec-private-group-id", @callback
  22. it "should update project model", ->
  23. update = $set: {
  24. name: "name",
  25. collabratecUsers: [ {
  26. user_id: "user-id",
  27. collabratec_document_id: "collabratec-document-id",
  28. collabratec_privategroup_id: "collabratec-private-group-id"
  29. } ]
  30. }
  31. expect(@ProjectModel.update).to.have.been.calledWith { _id: "project-id" }, update, @callback
  32. describe "when update has error", ->
  33. beforeEach ->
  34. @ProjectModel.update = sinon.stub().yields("error")
  35. @ProjectCollabratecDetailsHandler.initializeCollabratecProject "project-id", "name", "user-id", "collabratec-document-id", "collabratec-private-group-id", @callback
  36. it "should callback with error", ->
  37. expect(@callback).to.have.been.calledWith("error")