mirror of
https://github.com/overleaf/overleaf.git
synced 2024-09-23 02:55:13 -04:00
f771119cb1
[web] make copy changes to trial onboarding email GitOrigin-RevId: 027ba8d471c0cac56dff7c56135d091a96817cf3
55 lines
1.5 KiB
JavaScript
55 lines
1.5 KiB
JavaScript
const SandboxedModule = require('sandboxed-module')
|
|
const sinon = require('sinon')
|
|
const { expect } = require('chai')
|
|
const modulePath =
|
|
'../../../../app/src/Features/Subscription/SubscriptionEmailHandler'
|
|
|
|
describe('SubscriptionEmailHandler', function () {
|
|
beforeEach(function () {
|
|
this.userId = '123456789abcde'
|
|
this.email = 'test@test.com'
|
|
|
|
this.SubscriptionEmailHandler = SandboxedModule.require(modulePath, {
|
|
requires: {
|
|
'../Email/EmailHandler': (this.EmailHandler = {
|
|
promises: {
|
|
sendEmail: sinon.stub().resolves({}),
|
|
},
|
|
}),
|
|
'../User/UserGetter': (this.UserGetter = {
|
|
promises: {
|
|
getUser: sinon
|
|
.stub()
|
|
.resolves({ _id: this.userId, email: 'test@test.com' }),
|
|
},
|
|
}),
|
|
'./PlansLocator': (this.PlansLocator = {
|
|
findLocalPlanInSettings: sinon.stub().returns({
|
|
name: 'foo',
|
|
features: { collaborators: 42 },
|
|
}),
|
|
}),
|
|
},
|
|
})
|
|
})
|
|
|
|
it('sends trail onboarding email', async function () {
|
|
await this.SubscriptionEmailHandler.sendTrialOnboardingEmail(
|
|
this.userId,
|
|
'foo-plan-code'
|
|
)
|
|
|
|
expect(this.PlansLocator.findLocalPlanInSettings).to.have.been.calledWith(
|
|
'foo-plan-code'
|
|
)
|
|
expect(this.EmailHandler.promises.sendEmail.lastCall.args).to.deep.equal([
|
|
'trialOnboarding',
|
|
{
|
|
to: this.email,
|
|
sendingUser_id: this.userId,
|
|
planName: 'foo',
|
|
features: { collaborators: 42 },
|
|
},
|
|
])
|
|
})
|
|
})
|