UserPagesControllerTests.coffee 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. should = require('chai').should()
  2. SandboxedModule = require('sandboxed-module')
  3. assert = require('assert')
  4. path = require('path')
  5. sinon = require('sinon')
  6. modulePath = path.join __dirname, "../../../../app/js/Features/User/UserPagesController"
  7. expect = require("chai").expect
  8. describe "UserPagesController", ->
  9. beforeEach ->
  10. @settings = {}
  11. @UserPagesController = SandboxedModule.require modulePath, requires:
  12. "settings-sharelatex":@settings
  13. "logger-sharelatex": log:->
  14. @req =
  15. query:{}
  16. session:{}
  17. @res = {}
  18. describe "registerPage", ->
  19. it "should render the register page", (done)->
  20. @res.render = (page)=>
  21. page.should.equal "user/register"
  22. done()
  23. @UserPagesController.registerPage @req, @res
  24. it "should set the redirect", (done)->
  25. redirect = "/go/here/please"
  26. @req.query.redir = redirect
  27. @res.render = (page, opts)=>
  28. opts.redir.should.equal redirect
  29. done()
  30. @UserPagesController.registerPage @req, @res
  31. it "should set sharedProjectData", (done)->
  32. @req.query.project_name = "myProject"
  33. @req.query.user_first_name = "user_first_name_here"
  34. @res.render = (page, opts)=>
  35. opts.sharedProjectData.project_name.should.equal "myProject"
  36. opts.sharedProjectData.user_first_name.should.equal "user_first_name_here"
  37. done()
  38. @UserPagesController.registerPage @req, @res
  39. it "should set newTemplateData", (done)->
  40. @req.session.templateData =
  41. templateName : "templateName"
  42. @res.render = (page, opts)=>
  43. opts.newTemplateData.templateName.should.equal "templateName"
  44. done()
  45. @UserPagesController.registerPage @req, @res
  46. it "should not set the newTemplateData if there is nothing in the session", (done)->
  47. @res.render = (page, opts)=>
  48. assert.equal opts.newTemplateData.templateName, undefined
  49. done()
  50. @UserPagesController.registerPage @req, @res
  51. describe "loginForm", ->
  52. it "should render the login page", (done)->
  53. @res.render = (page)=>
  54. page.should.equal "user/login"
  55. done()
  56. @UserPagesController.loginPage @req, @res
  57. it "should set the redirect", (done)->
  58. redirect = "/go/here/please"
  59. @req.query.redir = redirect
  60. @res.render = (page, opts)=>
  61. opts.redir.should.equal redirect
  62. done()
  63. @UserPagesController.loginPage @req, @res