ProjectLastUpdatedTests.coffee 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. expect = require("chai").expect
  2. async = require("async")
  3. User = require "./helpers/User"
  4. request = require "./helpers/request"
  5. settings = require "settings-sharelatex"
  6. Project = require("../../../app/js/models/Project").Project
  7. markAsUpdated = (project_id, user_id, timestamp, callback) ->
  8. request.post {
  9. url: "/project/#{project_id}/last_updated"
  10. json: {
  11. user_id,
  12. timestamp
  13. }
  14. auth:
  15. user: settings.apis.web.user
  16. pass: settings.apis.web.pass
  17. sendImmediately: true
  18. jar: false
  19. }, callback
  20. describe "ProjectLastUpdated", ->
  21. before (done) ->
  22. @timeout(90000)
  23. @owner = new User()
  24. @timestamp = Date.now()
  25. @user_id = "abcdef1234567890abcdef12"
  26. async.series [
  27. (cb) => @owner.login cb
  28. (cb) => @owner.createProject "private-project", (error, @project_id) => cb(error)
  29. ], done
  30. describe "with user_id and timestamp", ->
  31. it 'should update the project', (done) ->
  32. markAsUpdated @project_id, @user_id, @timestamp, (error, response, body) =>
  33. return done(error) if error?
  34. expect(response.statusCode).to.equal 200
  35. Project.findOne _id: @project_id, (error, project) =>
  36. return done(error) if error?
  37. expect(project.lastUpdated.getTime()).to.equal @timestamp
  38. expect(project.lastUpdatedBy.toString()).to.equal @user_id
  39. done()