From fa36891faf3357a1ad3723a406fd3d1eba9d78dc Mon Sep 17 00:00:00 2001 From: Henry Oswald Date: Wed, 9 Apr 2014 12:17:50 +0100 Subject: [PATCH] moved register page to new UserPagesController --- .../Features/User/UserPagesController.coffee | 20 ++++++ .../coffee/controllers/UserController.coffee | 18 ----- services/web/app/coffee/router.coffee | 3 +- .../User/UserPagesControllerTests.coffee | 69 +++++++++++++++++++ 4 files changed, 91 insertions(+), 19 deletions(-) create mode 100644 services/web/app/coffee/Features/User/UserPagesController.coffee create mode 100644 services/web/test/UnitTests/coffee/User/UserPagesControllerTests.coffee diff --git a/services/web/app/coffee/Features/User/UserPagesController.coffee b/services/web/app/coffee/Features/User/UserPagesController.coffee new file mode 100644 index 0000000000..6bbb9afca6 --- /dev/null +++ b/services/web/app/coffee/Features/User/UserPagesController.coffee @@ -0,0 +1,20 @@ + + +module.exports = + + registerPage : (req, res)-> + + sharedProjectData = + project_name:req.query.project_name + user_first_name:req.query.user_first_name + + newTemplateData = {} + if req.session.templateData? + newTemplateData.templateName = req.session.templateData.templateName + + res.render 'user/register', + title: 'Register' + redir: req.query.redir + sharedProjectData: sharedProjectData + newTemplateData: newTemplateData + new_email:req.query.new_email || "" \ No newline at end of file diff --git a/services/web/app/coffee/controllers/UserController.coffee b/services/web/app/coffee/controllers/UserController.coffee index f21ca0a2d5..45af440419 100644 --- a/services/web/app/coffee/controllers/UserController.coffee +++ b/services/web/app/coffee/controllers/UserController.coffee @@ -20,24 +20,6 @@ uuid = require("node-uuid") module.exports = - registerForm : (req, res)-> - - sharedProjectData = - project_name:req.query.project_name - user_first_name:req.query.user_first_name - - newTemplateData = {} - if req.session.templateData? - newTemplateData.templateName = req.session.templateData.templateName - - res.render 'user/register', - title: 'Register' - redir: req.query.redir - sharedProjectData: sharedProjectData - newTemplateData: newTemplateData - new_email:req.query.new_email || "" - - loginForm : (req, res)-> res.render 'user/login', title: 'Login', diff --git a/services/web/app/coffee/router.coffee b/services/web/app/coffee/router.coffee index 229843281d..3cffb9ca8e 100644 --- a/services/web/app/coffee/router.coffee +++ b/services/web/app/coffee/router.coffee @@ -24,6 +24,7 @@ AuthenticationController = require('./Features/Authentication/AuthenticationCont TagsController = require("./Features/Tags/TagsController") CollaboratorsController = require('./Features/Collaborators/CollaboratorsController') PersonalInfoController = require('./Features/User/UserController') +UserPagesController = require('./Features/User/UserPagesController') DocumentController = require('./Features/Documents/DocumentController') CompileManager = require("./Features/Compile/CompileManager") CompileController = require("./Features/Compile/CompileController") @@ -64,7 +65,7 @@ module.exports = class Router app.get '/advisor', InfoController.advisor app.get '/dropbox', InfoController.dropbox - app.get '/register', UserController.registerForm + app.get '/register', UserPagesController.registerPage app.post '/register', UserController.apiRegister SubscriptionRouter.apply(app) diff --git a/services/web/test/UnitTests/coffee/User/UserPagesControllerTests.coffee b/services/web/test/UnitTests/coffee/User/UserPagesControllerTests.coffee new file mode 100644 index 0000000000..853ff1479b --- /dev/null +++ b/services/web/test/UnitTests/coffee/User/UserPagesControllerTests.coffee @@ -0,0 +1,69 @@ +should = require('chai').should() +SandboxedModule = require('sandboxed-module') +assert = require('assert') +path = require('path') +sinon = require('sinon') +modulePath = path.join __dirname, "../../../../app/js/Features/User/UserPagesController" +expect = require("chai").expect + +describe "UserPagesController", -> + + beforeEach -> + + @settings = {} + @UserPagesController = SandboxedModule.require modulePath, requires: + "settings-sharelatex":@settings + "logger-sharelatex": log:-> + + @req = + query:{} + session:{} + @res = {} + + + describe "registerPage", -> + + it "should render the register page", (done)-> + @res.render = (page)=> + page.should.equal "user/register" + done() + @UserPagesController.registerPage @req, @res + + it "should set the redirect", (done)-> + redirect = "/go/here/please" + @req.query.redir = redirect + @res.render = (page, opts)=> + opts.redir.should.equal redirect + done() + @UserPagesController.registerPage @req, @res + + it "should set sharedProjectData", (done)-> + @req.query.project_name = "myProject" + @req.query.user_first_name = "user_first_name_here" + + @res.render = (page, opts)=> + opts.sharedProjectData.project_name.should.equal "myProject" + opts.sharedProjectData.user_first_name.should.equal "user_first_name_here" + done() + @UserPagesController.registerPage @req, @res + + it "should set newTemplateData", (done)-> + @req.session.templateData = + templateName : "templateName" + + @res.render = (page, opts)=> + opts.newTemplateData.templateName.should.equal "templateName" + done() + @UserPagesController.registerPage @req, @res + + + it "should not set the newTemplateData if there is nothing in the session", (done)-> + @res.render = (page, opts)=> + assert.equal opts.newTemplateData.templateName, undefined + done() + @UserPagesController.registerPage @req, @res + + + + +