Merge pull request #2593 from overleaf/ta-affiliation-licence-check

Check Licence on Affiliations Rather Than Institutions

GitOrigin-RevId: 7effe7f564ff953e60ed77bcdf92f3cb177d4aee
This commit is contained in:
Simon Detheridge
2020-02-19 04:20:39 +00:00
committed by Copybot
parent 19266bbc8a
commit b812109cb7
6 changed files with 54 additions and 27 deletions
@@ -22,7 +22,7 @@ const modulePath = require('path').join(
describe('InstitutionsFeatures', function() {
beforeEach(function() {
this.InstitutionsGetter = { getConfirmedInstitutions: sinon.stub() }
this.InstitutionsGetter = { getConfirmedAffiliations: sinon.stub() }
this.PlansLocator = { findLocalPlanInSettings: sinon.stub() }
this.institutionPlanCode = 'institution_plan_code'
this.InstitutionsFeatures = SandboxedModule.require(modulePath, {
@@ -47,7 +47,7 @@ describe('InstitutionsFeatures', function() {
describe('hasLicence', function() {
it('should handle error', function(done) {
this.InstitutionsGetter.getConfirmedInstitutions.yields(new Error('Nope'))
this.InstitutionsGetter.getConfirmedAffiliations.yields(new Error('Nope'))
return this.InstitutionsFeatures.hasLicence(
this.userId,
(error, hasLicence) => {
@@ -58,10 +58,10 @@ describe('InstitutionsFeatures', function() {
})
it('should return false if user has no confirmed affiliations', function(done) {
const institutions = []
this.InstitutionsGetter.getConfirmedInstitutions.yields(
const affiliations = []
this.InstitutionsGetter.getConfirmedAffiliations.yields(
null,
institutions
affiliations
)
return this.InstitutionsFeatures.hasLicence(
this.userId,
@@ -74,10 +74,10 @@ describe('InstitutionsFeatures', function() {
})
it('should return false if user has no paid affiliations', function(done) {
const institutions = [{ licence: 'free' }]
this.InstitutionsGetter.getConfirmedInstitutions.yields(
const affiliations = [{ licence: 'free' }]
this.InstitutionsGetter.getConfirmedAffiliations.yields(
null,
institutions
affiliations
)
return this.InstitutionsFeatures.hasLicence(
this.userId,
@@ -90,15 +90,15 @@ describe('InstitutionsFeatures', function() {
})
it('should return true if user has confirmed paid affiliation', function(done) {
const institutions = [
const affiliations = [
{ licence: 'pro_plus' },
{ licence: 'free' },
{ licence: 'pro' },
{ licence: null }
]
this.InstitutionsGetter.getConfirmedInstitutions.yields(
this.InstitutionsGetter.getConfirmedAffiliations.yields(
null,
institutions
affiliations
)
return this.InstitutionsFeatures.hasLicence(
this.userId,
@@ -143,6 +143,7 @@ describe('UserGetter', function() {
role: 'Prof',
department: 'Maths',
inferred: false,
licence: 'pro_plus',
institution: { name: 'University Name', isUniversity: true }
}
]
@@ -159,7 +160,8 @@ describe('UserGetter', function() {
institution: affiliationsData[0].institution,
inferred: affiliationsData[0].inferred,
department: affiliationsData[0].department,
role: affiliationsData[0].role
role: affiliationsData[0].role,
licence: affiliationsData[0].licence
}
},
{