Merge pull request #3718 from overleaf/jel-emailHasLicence
Update emailHasLicence for reconfirmation and SAML GitOrigin-RevId: 58daf538d9f0a7db46bb3c1e21f8ca04df095446
This commit is contained in:
@@ -1025,11 +1025,12 @@ describe('UserEmails', function() {
|
||||
password: userHelper.getDefaultPassword()
|
||||
})
|
||||
const institutionId = MockV1Api.createInstitution({
|
||||
commonsAccount: true,
|
||||
ssoEnabled: false,
|
||||
maxConfirmationMonths
|
||||
})
|
||||
const domain = 'example-affiliation.com'
|
||||
MockV1Api.addInstitutionDomain(institutionId, domain)
|
||||
MockV1Api.addInstitutionDomain(institutionId, domain, { confirmed: true })
|
||||
|
||||
email1 = `leonard@${domain}`
|
||||
email2 = `mccoy@${domain}`
|
||||
@@ -1053,24 +1054,37 @@ describe('UserEmails', function() {
|
||||
)
|
||||
})
|
||||
|
||||
it('should flag inReconfirmNotificationPeriod for all affiliations in period', async function() {
|
||||
const response = await userHelper.request.get('/user/emails')
|
||||
expect(response.statusCode).to.equal(200)
|
||||
const fullEmails = JSON.parse(response.body)
|
||||
expect(fullEmails.length).to.equal(4)
|
||||
expect(fullEmails[0].affiliation).to.not.exist
|
||||
expect(
|
||||
fullEmails[1].affiliation.inReconfirmNotificationPeriod
|
||||
).to.equal(true)
|
||||
expect(fullEmails[1].affiliation.pastReconfirmDate).to.equal(false)
|
||||
expect(
|
||||
fullEmails[2].affiliation.inReconfirmNotificationPeriod
|
||||
).to.equal(true)
|
||||
expect(fullEmails[2].affiliation.pastReconfirmDate).to.equal(false)
|
||||
expect(
|
||||
fullEmails[3].affiliation.inReconfirmNotificationPeriod
|
||||
).to.equal(true)
|
||||
expect(fullEmails[3].affiliation.pastReconfirmDate).to.equal(true)
|
||||
describe('when all affiliations in notification period or past reconfirm date', function() {
|
||||
it('should flag inReconfirmNotificationPeriod for all affiliations in period', async function() {
|
||||
const response = await userHelper.request.get('/user/emails')
|
||||
expect(response.statusCode).to.equal(200)
|
||||
const fullEmails = JSON.parse(response.body)
|
||||
expect(fullEmails.length).to.equal(4)
|
||||
expect(fullEmails[0].affiliation).to.not.exist
|
||||
expect(
|
||||
fullEmails[1].affiliation.inReconfirmNotificationPeriod
|
||||
).to.equal(true)
|
||||
expect(
|
||||
fullEmails[2].affiliation.inReconfirmNotificationPeriod
|
||||
).to.equal(true)
|
||||
expect(
|
||||
fullEmails[3].affiliation.inReconfirmNotificationPeriod
|
||||
).to.equal(true)
|
||||
})
|
||||
|
||||
it('should set pastReconfirmDate and emailHasInstitutionLicence:false for lapsed confirmations', async function() {
|
||||
const response = await userHelper.request.get('/user/emails')
|
||||
expect(response.statusCode).to.equal(200)
|
||||
const fullEmails = JSON.parse(response.body)
|
||||
expect(fullEmails.length).to.equal(4)
|
||||
expect(fullEmails[0].affiliation).to.not.exist
|
||||
expect(fullEmails[1].affiliation.pastReconfirmDate).to.equal(false)
|
||||
expect(fullEmails[1].emailHasInstitutionLicence).to.equal(true)
|
||||
expect(fullEmails[2].affiliation.pastReconfirmDate).to.equal(false)
|
||||
expect(fullEmails[2].emailHasInstitutionLicence).to.equal(true)
|
||||
expect(fullEmails[3].affiliation.pastReconfirmDate).to.equal(true)
|
||||
expect(fullEmails[3].emailHasInstitutionLicence).to.equal(false)
|
||||
})
|
||||
})
|
||||
|
||||
describe('should flag emails before their confirmation expires, but within the notification period', function() {
|
||||
|
||||
@@ -212,7 +212,13 @@ class MockV1Api extends AbstractMockApi {
|
||||
|
||||
affiliation.institution.confirmed = !!domainData.confirmed
|
||||
|
||||
if (institutionData.commonsAccount) {
|
||||
affiliation.licence = 'free'
|
||||
if (
|
||||
institutionData.commonsAccount &&
|
||||
(!institutionData.sso_enabled ||
|
||||
(institutionData.sso_enabled &&
|
||||
affiliation.cached_entitlement === true))
|
||||
) {
|
||||
affiliation.licence = 'pro_plus'
|
||||
}
|
||||
return affiliation
|
||||
|
||||
Reference in New Issue
Block a user