|
|
@@ -10,13 +10,14 @@ describe "EmailHandler", ->
|
|
|
|
|
|
beforeEach ->
|
|
|
|
|
|
- @settings = {}
|
|
|
- @EmailTemplator =
|
|
|
+ @settings =
|
|
|
+ email:{}
|
|
|
+ @EmailBuilder =
|
|
|
buildEmail:sinon.stub()
|
|
|
@EmailSender =
|
|
|
sendEmail:sinon.stub()
|
|
|
@EmailHandler = SandboxedModule.require modulePath, requires:
|
|
|
- "./EmailTemplator":@EmailTemplator
|
|
|
+ "./EmailBuilder":@EmailBuilder
|
|
|
"./EmailSender":@EmailSender
|
|
|
"settings-sharelatex":@settings
|
|
|
"logger-sharelatex": log:->
|
|
|
@@ -26,7 +27,7 @@ describe "EmailHandler", ->
|
|
|
describe "send email", ->
|
|
|
|
|
|
it "should use the correct options", (done)->
|
|
|
- @EmailTemplator.buildEmail.returns({html:@html})
|
|
|
+ @EmailBuilder.buildEmail.returns({html:@html})
|
|
|
@EmailSender.sendEmail.callsArgWith(1)
|
|
|
|
|
|
opts =
|
|
|
@@ -36,10 +37,8 @@ describe "EmailHandler", ->
|
|
|
args.html.should.equal @html
|
|
|
done()
|
|
|
|
|
|
-
|
|
|
-
|
|
|
it "should return the erroor", (done)->
|
|
|
- @EmailTemplator.buildEmail.returns({html:@html})
|
|
|
+ @EmailBuilder.buildEmail.returns({html:@html})
|
|
|
@EmailSender.sendEmail.callsArgWith(1, "error")
|
|
|
|
|
|
opts =
|
|
|
@@ -48,3 +47,30 @@ describe "EmailHandler", ->
|
|
|
@EmailHandler.sendEmail "welcome", opts, (err)=>
|
|
|
err.should.equal "error"
|
|
|
done()
|
|
|
+
|
|
|
+ it "should not send an email if lifecycle is not enabled", (done)->
|
|
|
+ @settings.email.lifecycle = false
|
|
|
+ @EmailBuilder.buildEmail.returns({type:"lifecycle"})
|
|
|
+ @EmailHandler.sendEmail "welcome", {}, =>
|
|
|
+ @EmailSender.sendEmail.called.should.equal false
|
|
|
+ done()
|
|
|
+
|
|
|
+ it "should send an email if lifecycle is not enabled but the type is notification", (done)->
|
|
|
+ @settings.email.lifecycle = false
|
|
|
+ @EmailBuilder.buildEmail.returns({type:"notification"})
|
|
|
+ @EmailSender.sendEmail.callsArgWith(1)
|
|
|
+ opts =
|
|
|
+ to: "bob@bob.com"
|
|
|
+ @EmailHandler.sendEmail "welcome", opts, =>
|
|
|
+ @EmailSender.sendEmail.called.should.equal true
|
|
|
+ done()
|
|
|
+
|
|
|
+ it "should send lifecycle email if it is enabled", (done)->
|
|
|
+ @settings.email.lifecycle = true
|
|
|
+ @EmailBuilder.buildEmail.returns({type:"lifecycle"})
|
|
|
+ @EmailSender.sendEmail.callsArgWith(1)
|
|
|
+ opts =
|
|
|
+ to: "bob@bob.com"
|
|
|
+ @EmailHandler.sendEmail "welcome", opts, =>
|
|
|
+ @EmailSender.sendEmail.called.should.equal true
|
|
|
+ done()
|