mirror of
https://github.com/overleaf/overleaf.git
synced 2024-10-24 21:12:38 -04:00
aa48d639a0
Don't Give Features To Group Admins GitOrigin-RevId: 3588aff773bdc4cf18d18ce52f2c1b73462d806e
74 lines
2.2 KiB
JavaScript
74 lines
2.2 KiB
JavaScript
const { expect } = require('chai')
|
|
const async = require('async')
|
|
const User = require('./helpers/User')
|
|
const Subscription = require('./helpers/Subscription')
|
|
|
|
describe('Subscriptions', function() {
|
|
describe('features', function() {
|
|
describe('individual subscriptions', function() {
|
|
beforeEach(function(done) {
|
|
this.adminUser = new User()
|
|
async.series(
|
|
[
|
|
cb => this.adminUser.ensureUserExists(cb),
|
|
cb => {
|
|
this.subscription = new Subscription({
|
|
adminId: this.adminUser._id,
|
|
groupPlan: false,
|
|
planCode: 'professional'
|
|
})
|
|
this.subscription.ensureExists(cb)
|
|
},
|
|
cb => this.subscription.refreshUsersFeatures(cb)
|
|
],
|
|
done
|
|
)
|
|
})
|
|
|
|
it('should give features to admin', function(done) {
|
|
this.adminUser.getFeatures((error, features) => {
|
|
expect(features.collaborators).to.equal(-1)
|
|
done(error)
|
|
})
|
|
})
|
|
})
|
|
|
|
describe('group subscriptions', function() {
|
|
beforeEach(function(done) {
|
|
this.adminUser = new User()
|
|
this.memberUser = new User()
|
|
async.series(
|
|
[
|
|
cb => this.adminUser.ensureUserExists(cb),
|
|
cb => this.memberUser.ensureUserExists(cb),
|
|
cb => {
|
|
this.subscription = new Subscription({
|
|
adminId: this.adminUser._id,
|
|
memberIds: [this.memberUser._id],
|
|
groupPlan: true,
|
|
planCode: 'professional'
|
|
})
|
|
this.subscription.ensureExists(cb)
|
|
},
|
|
cb => this.subscription.refreshUsersFeatures(cb)
|
|
],
|
|
done
|
|
)
|
|
})
|
|
|
|
it('should give features to member', function(done) {
|
|
this.memberUser.getFeatures((error, features) => {
|
|
expect(features.collaborators).to.equal(-1)
|
|
done(error)
|
|
})
|
|
})
|
|
|
|
it('should not give features to admin', function(done) {
|
|
this.adminUser.getFeatures((error, features) => {
|
|
expect(features.collaborators).to.equal(1)
|
|
done(error)
|
|
})
|
|
})
|
|
})
|
|
})
|
|
})
|