mirror of
https://github.com/overleaf/overleaf.git
synced 2025-04-14 16:53:27 +00:00
Move email sending into registration controller
This commit is contained in:
parent
27d59eeac9
commit
cb948fede2
5 changed files with 20 additions and 15 deletions
|
@ -11,6 +11,7 @@ AuthenticationManager = require("../Authentication/AuthenticationManager")
|
|||
ReferalAllocator = require("../Referal/ReferalAllocator")
|
||||
UserUpdater = require("./UserUpdater")
|
||||
SubscriptionDomainAllocator = require("../Subscription/SubscriptionDomainAllocator")
|
||||
EmailHandler = require("../Email/EmailHandler")
|
||||
|
||||
module.exports =
|
||||
|
||||
|
@ -91,6 +92,12 @@ module.exports =
|
|||
metrics.inc "user.register.success"
|
||||
ReferalAllocator.allocate req.session.referal_id, user._id, req.session.referal_source, req.session.referal_medium
|
||||
SubscriptionDomainAllocator.autoAllocate(user)
|
||||
|
||||
EmailHandler.sendEmail "welcome", {
|
||||
first_name:user.first_name
|
||||
to: user.email
|
||||
}, () ->
|
||||
|
||||
AuthenticationController.establishUserSession req, user, (error) ->
|
||||
return callback(error) if error?
|
||||
req.session.justRegistered = true
|
||||
|
|
|
@ -4,7 +4,6 @@ UserCreator = require("./UserCreator")
|
|||
AuthenticationManager = require("../Authentication/AuthenticationManager")
|
||||
NewsLetterManager = require("../Newsletter/NewsletterManager")
|
||||
async = require("async")
|
||||
EmailHandler = require("../Email/EmailHandler")
|
||||
logger = require("logger-sharelatex")
|
||||
|
||||
module.exports =
|
||||
|
@ -56,11 +55,6 @@ module.exports =
|
|||
(cb)->
|
||||
NewsLetterManager.subscribe user, ->
|
||||
cb() #this can be slow, just fire it off
|
||||
(cb)->
|
||||
emailOpts =
|
||||
first_name:user.first_name
|
||||
to: user.email
|
||||
EmailHandler.sendEmail "welcome", emailOpts, cb
|
||||
], (err)->
|
||||
logger.log user: user, "registered"
|
||||
callback(err, user)
|
||||
|
|
|
@ -40,6 +40,8 @@ describe "UserController", ->
|
|||
autoAllocate:sinon.stub()
|
||||
@UserUpdater =
|
||||
changeEmailAddress:sinon.stub()
|
||||
@EmailHandler =
|
||||
sendEmail:sinon.stub().callsArgWith(2)
|
||||
@UserController = SandboxedModule.require modulePath, requires:
|
||||
"./UserLocator": @UserLocator
|
||||
"./UserDeleter": @UserDeleter
|
||||
|
@ -51,6 +53,7 @@ describe "UserController", ->
|
|||
"../Authentication/AuthenticationManager": @AuthenticationManager
|
||||
"../Referal/ReferalAllocator":@ReferalAllocator
|
||||
"../Subscription/SubscriptionDomainAllocator":@SubscriptionDomainAllocator
|
||||
"../Email/EmailHandler": @EmailHandler
|
||||
"logger-sharelatex": {log:->}
|
||||
|
||||
|
||||
|
@ -223,7 +226,14 @@ describe "UserController", ->
|
|||
@res.send = (opts)=>
|
||||
@SubscriptionDomainAllocator.autoAllocate.calledWith(@user).should.equal true
|
||||
done()
|
||||
@UserController.register @req, @res
|
||||
@UserController.register @req, @res
|
||||
|
||||
it "should send a welcome email", (done)->
|
||||
@UserRegistrationHandler.registerNewUser.callsArgWith(1, null, @user)
|
||||
@res.send = (opts)=>
|
||||
@EmailHandler.sendEmail.calledWith("welcome").should.equal true
|
||||
done()
|
||||
@UserController.register @req, @res
|
||||
|
||||
|
||||
describe "changePassword", ->
|
||||
|
|
|
@ -28,6 +28,7 @@ describe "UserDeleter", ->
|
|||
"../Newsletter/NewsletterManager": @NewsletterManager
|
||||
"../Subscription/SubscriptionHandler": @SubscriptionHandler
|
||||
"../Project/ProjectDeleter": @ProjectDeleter
|
||||
"logger-sharelatex": @logger = { log: sinon.stub() }
|
||||
|
||||
describe "deleteUser", ->
|
||||
|
||||
|
|
|
@ -20,14 +20,12 @@ describe "UserRegistrationHandler", ->
|
|||
setUserPassword: sinon.stub().callsArgWith(2)
|
||||
@NewsLetterManager =
|
||||
subscribe: sinon.stub().callsArgWith(1)
|
||||
@EmailHandler =
|
||||
sendEmail:sinon.stub().callsArgWith(2)
|
||||
@handler = SandboxedModule.require modulePath, requires:
|
||||
"../../models/User": {User:@User}
|
||||
"./UserCreator": @UserCreator
|
||||
"../Authentication/AuthenticationManager":@AuthenticationManager
|
||||
"../Newsletter/NewsletterManager":@NewsLetterManager
|
||||
"../Email/EmailHandler": @EmailHandler
|
||||
"logger-sharelatex": @logger = { log: sinon.stub() }
|
||||
|
||||
@passingRequest = {email:"something@email.com", password:"123"}
|
||||
|
||||
|
@ -125,11 +123,6 @@ describe "UserRegistrationHandler", ->
|
|||
@NewsLetterManager.subscribe.calledWith(@user).should.equal true
|
||||
done()
|
||||
|
||||
it "should send a welcome email", (done)->
|
||||
@handler.registerNewUser @passingRequest, (err)=>
|
||||
@EmailHandler.sendEmail.calledWith("welcome").should.equal true
|
||||
done()
|
||||
|
||||
|
||||
it "should call the ReferalAllocator", (done)->
|
||||
done()
|
||||
|
|
Loading…
Add table
Reference in a new issue