Merge pull request #11147 from overleaf/ii-subscriptions-pages-react-split-test

[web] React subscription split test

GitOrigin-RevId: 6656b3895030bc677483a3e30d5e998f5f7d1458
This commit is contained in:
ilkin-overleaf
2023-01-13 09:04:52 +00:00
committed by Copybot
parent 7d661ee573
commit 7e68b4f0d5
22 changed files with 529 additions and 54 deletions
@@ -399,7 +399,7 @@ describe('SubscriptionController', function () {
}
)
this.res.render = (url, variables) => {
url.should.equal('subscriptions/successful_subscription')
url.should.equal('subscriptions/successful-subscription')
assert.deepEqual(variables, {
title: 'thank_you',
personalSubscription: 'foo',
@@ -70,12 +70,19 @@ describe('UserMembershipController', function () {
addUser: sinon.stub().yields(null, this.newUser),
removeUser: sinon.stub().yields(null),
}
this.SplitTestHandler = {
promises: {
getAssignment: sinon.stub().resolves({ variant: 'default' }),
},
getAssignment: sinon.stub().yields(null, { variant: 'default' }),
}
return (this.UserMembershipController = SandboxedModule.require(
modulePath,
{
requires: {
'./UserMembershipErrors': { UserIsManagerError },
'../Authentication/SessionManager': this.SessionManager,
'../SplitTests/SplitTestHandler': this.SplitTestHandler,
'./UserMembershipHandler': this.UserMembershipHandler,
},
}
@@ -88,21 +95,20 @@ describe('UserMembershipController', function () {
return (this.req.entityConfig = EntityConfigs.group)
})
it('get users', function (done) {
return this.UserMembershipController.index(this.req, {
it('get users', async function () {
return await this.UserMembershipController.index(this.req, {
render: () => {
sinon.assert.calledWithMatch(
this.UserMembershipHandler.getUsers,
this.subscription,
{ modelName: 'Subscription' }
)
return done()
},
})
})
it('render group view', function (done) {
return this.UserMembershipController.index(this.req, {
it('render group view', async function () {
return await this.UserMembershipController.index(this.req, {
render: (viewPath, viewParams) => {
expect(viewPath).to.equal('user_membership/index')
expect(viewParams.users).to.deep.equal(this.users)
@@ -111,14 +117,13 @@ describe('UserMembershipController', function () {
expect(viewParams.paths.addMember).to.equal(
`/manage/groups/${this.subscription._id}/invites`
)
return done()
},
})
})
it('render group managers view', function (done) {
it('render group managers view', async function () {
this.req.entityConfig = EntityConfigs.groupManagers
return this.UserMembershipController.index(this.req, {
return await this.UserMembershipController.index(this.req, {
render: (viewPath, viewParams) => {
expect(viewPath).to.equal('user_membership/index')
expect(viewParams.groupSize).to.equal(undefined)
@@ -127,22 +132,20 @@ describe('UserMembershipController', function () {
'managers_management'
)
expect(viewParams.paths.exportMembers).to.be.undefined
return done()
},
})
})
it('render institution view', function (done) {
it('render institution view', async function () {
this.req.entity = this.institution
this.req.entityConfig = EntityConfigs.institution
return this.UserMembershipController.index(this.req, {
return await this.UserMembershipController.index(this.req, {
render: (viewPath, viewParams) => {
expect(viewPath).to.equal('user_membership/index')
expect(viewParams.name).to.equal('Test Institution Name')
expect(viewParams.groupSize).to.equal(undefined)
expect(viewParams.translations.title).to.equal('institution_account')
expect(viewParams.paths.exportMembers).to.be.undefined
return done()
},
})
})