ProjectUpdateHandlerTests.coffee 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. sinon = require('sinon')
  2. chai = require('chai').should()
  3. modulePath = "../../../../app/js/Features/Project/ProjectUpdateHandler.js"
  4. SandboxedModule = require('sandboxed-module')
  5. describe 'ProjectUpdateHandler', ->
  6. beforeEach ->
  7. @ProjectModel = class Project
  8. @ProjectModel.update = sinon.stub().callsArg(3)
  9. @handler = SandboxedModule.require modulePath, requires:
  10. '../../models/Project':{Project:@ProjectModel}
  11. 'logger-sharelatex' : { log: sinon.stub() }
  12. describe 'marking a project as recently updated', ->
  13. it 'should send an update to mongo', (done)->
  14. project_id = "project_id"
  15. @handler.markAsUpdated project_id, (err)=>
  16. args = @ProjectModel.update.args[0]
  17. args[0]._id.should.equal project_id
  18. date = args[1].lastUpdated+""
  19. now = Date.now()+""
  20. date.substring(0,5).should.equal now.substring(0,5)
  21. done()
  22. describe "markAsOpened", ->
  23. it 'should send an update to mongo', (done)->
  24. project_id = "project_id"
  25. @handler.markAsOpened project_id, (err)=>
  26. args = @ProjectModel.update.args[0]
  27. args[0]._id.should.equal project_id
  28. date = args[1].lastOpened+""
  29. now = Date.now()+""
  30. date.substring(0,5).should.equal now.substring(0,5)
  31. done()
  32. describe "markAsInactive", ->
  33. it 'should send an update to mongo', (done)->
  34. project_id = "project_id"
  35. @handler.markAsInactive project_id, (err)=>
  36. args = @ProjectModel.update.args[0]
  37. args[0]._id.should.equal project_id
  38. args[1].active.should.equal false
  39. done()
  40. describe "markAsActive", ->
  41. it 'should send an update to mongo', (done)->
  42. project_id = "project_id"
  43. @handler.markAsActive project_id, (err)=>
  44. args = @ProjectModel.update.args[0]
  45. args[0]._id.should.equal project_id
  46. args[1].active.should.equal true
  47. done()