Merge pull request #23248 from overleaf/jdt-institutional-policies-include-past-affiliates

Policy checks apply for lapsed affiliates

GitOrigin-RevId: b4d42a2dc2d43b531886fb4eb8c4c6d990e324e7
This commit is contained in:
Jimmy Domagala-Tang
2025-02-07 09:06:41 +00:00
committed by Copybot
parent e43da5569c
commit a249c8e643
2 changed files with 47 additions and 8 deletions
@@ -124,6 +124,15 @@ describe('InstitutionsGetter', function () {
},
},
]
this.fullEmailCollection = [
this.licencedAffiliation,
this.licencedAffiliation,
this.licencedAffiliationPastReconfirmation,
this.confirmedAffiliation,
this.confirmedAffiliationPastReconfirmation,
this.unconfirmedDomainLicensedAffiliation,
this.unconfirmedEmailLicensedAffiliation,
]
})
describe('getCurrentInstitutionIds', function () {
@@ -158,16 +167,32 @@ describe('InstitutionsGetter', function () {
})
})
describe('getCurrentAndPastAffiliationIds', function () {
it('filters unconfirmed affiliations, preserves those past reconfirmation, and returns only 1 result per institution', async function () {
this.UserGetter.promises.getUserFullEmails.resolves(
this.fullEmailCollection
)
const institutions =
await this.InstitutionsGetter.promises.getCurrentAndPastAffiliationIds(
this.userId
)
expect(institutions).to.deep.equal([777, 888, 456, 135])
})
it('handles empty response', async function () {
this.UserGetter.promises.getUserFullEmails.resolves([])
const institutions =
await this.InstitutionsGetter.promises.getCurrentInstitutionIds(
this.userId
)
expect(institutions).to.deep.equal([])
})
})
describe('getCurrentInstitutionsWithLicence', function () {
it('returns one result per institution and filters out affiliations without license', async function () {
this.UserGetter.promises.getUserFullEmails.resolves([
this.licencedAffiliation,
this.licencedAffiliation,
this.licencedAffiliationPastReconfirmation,
this.confirmedAffiliation,
this.unconfirmedDomainLicensedAffiliation,
this.unconfirmedEmailLicensedAffiliation,
])
this.UserGetter.promises.getUserFullEmails.resolves(
this.fullEmailCollection
)
const institutions =
await this.InstitutionsGetter.promises.getCurrentInstitutionsWithLicence(
this.userId