SettingsTests.coffee 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. should = require('chai').should()
  2. async = require("async")
  3. User = require "./helpers/User"
  4. MockV1Api = require './helpers/MockV1Api'
  5. describe 'SettingsPage', ->
  6. before (done) ->
  7. @user = new User()
  8. @v1Id = 1234
  9. @v1User =
  10. id: @v1Id
  11. email: @user.email
  12. password: @user.password
  13. profile:
  14. id: @v1Id
  15. email: @user.email
  16. async.series [
  17. @user.ensureUserExists.bind(@user)
  18. @user.login.bind(@user)
  19. (cb) => @user.mongoUpdate {$set: {'overleaf.id': @v1Id}}, cb
  20. (cb) =>
  21. MockV1Api.setUser @v1Id, @v1User
  22. cb()
  23. @user.activateSudoMode.bind(@user)
  24. ], done
  25. it 'load settings page', (done) ->
  26. @user.getUserSettingsPage (err, statusCode) ->
  27. statusCode.should.equal 200
  28. done()
  29. it 'update main email address', (done) ->
  30. newEmail = 'foo@bar.com'
  31. @user.updateSettings email: newEmail, (error) =>
  32. should.not.exist error
  33. @user.get (error, user) ->
  34. user.email.should.equal newEmail
  35. user.emails.length.should.equal 1
  36. user.emails[0].email.should.equal newEmail
  37. done()