ProjectFeaturesTests.coffee 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. joinProject = (user_id, project_id, callback) ->
  7. request.post {
  8. url: "/project/#{project_id}/join"
  9. qs: {user_id}
  10. auth:
  11. user: settings.apis.web.user
  12. pass: settings.apis.web.pass
  13. sendImmediately: true
  14. json: true
  15. jar: false
  16. }, callback
  17. describe "ProjectFeatures", ->
  18. before (done) ->
  19. @timeout(90000)
  20. @owner = new User()
  21. async.series [
  22. (cb) => @owner.login cb
  23. ], done
  24. describe "with private project", ->
  25. before (done) ->
  26. @owner.createProject "private-project", (error, project_id) =>
  27. return done(error) if error?
  28. @project_id = project_id
  29. done()
  30. describe "with an upgraded account", ->
  31. before (done) ->
  32. @owner.upgradeFeatures done
  33. after (done) ->
  34. @owner.defaultFeatures done
  35. it "should have premium features", (done) ->
  36. joinProject @owner._id, @project_id, (error, response, body) ->
  37. expect(body.project.features.compileGroup).to.equal "priority"
  38. expect(body.project.features.versioning).to.equal true
  39. expect(body.project.features.templates).to.equal true
  40. expect(body.project.features.dropbox).to.equal true
  41. done()
  42. describe "with an basic account", ->
  43. before (done) ->
  44. @owner.downgradeFeatures done
  45. after (done) ->
  46. @owner.defaultFeatures done
  47. it "should have basic features", (done) ->
  48. joinProject @owner._id, @project_id, (error, response, body) ->
  49. expect(body.project.features.compileGroup).to.equal "standard"
  50. expect(body.project.features.versioning).to.equal false
  51. expect(body.project.features.templates).to.equal false
  52. expect(body.project.features.dropbox).to.equal false
  53. done()