Преглед изворни кода

moved register page to new UserPagesController

Henry Oswald пре 12 година
родитељ
комит
fa36891faf

+ 20 - 0
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 || ""

+ 0 - 18
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',

+ 2 - 1
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)

+ 69 - 0
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
+
+
+
+
+