Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
P-Jeremy authored and alexandrecoin committed Oct 9, 2024
1 parent 90efab3 commit c72ea6d
Show file tree
Hide file tree
Showing 5 changed files with 42 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ const getCertificationCandidateSubscription = async function ({
let nonEligibleSubscription = null;
const certifiableBadgeAcquisitions = await certificationBadgesService.findStillValidBadgeAcquisitions({
userId: certificationCandidate.userId,
limitDate: certificationCandidate.reconciledAt,
});

if (center.isHabilitated(certificationCandidate.complementaryCertification.key)) {
Expand All @@ -40,7 +41,6 @@ const getCertificationCandidateSubscription = async function ({
);

if (isSubscriptionEligible) {
// ON APPELLE CA DES SUBSCRIPTIONS MAIS CA N'A RIEN D'UN MODELE SUBSCRIPTION
eligibleSubscriptions = certificationCandidate.subscriptions.map((subscription) => {
return {
label: subscription.type === 'COMPLEMENTARY' ? certificationCandidate.complementaryCertification.label : null,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ const { Serializer } = jsonapiSerializer;

const serialize = function (certificationCandidateSubscription) {
return new Serializer('certification-candidate-subscription', {
attributes: ['sessionId', 'eligibleSubscription', 'nonEligibleSubscription', 'sessionVersion'],
attributes: ['sessionId', 'eligibleSubscriptions', 'nonEligibleSubscription', 'sessionVersion'],
}).serialize(certificationCandidateSubscription);
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,23 +17,20 @@ describe('Certification | Enrolment | Acceptance | Application | Routes | subscr
key: ComplementaryCertificationKeys.CLEA,
label: 'CléA Numérique',
});
const pixPlusDroitComplementaryCertification = databaseBuilder.factory.buildComplementaryCertification({
key: ComplementaryCertificationKeys.PIX_PLUS_DROIT,
label: 'Pix+ Droit',
});

databaseBuilder.factory.buildComplementaryCertificationHabilitation({
certificationCenterId: certificationCenter.id,
complementaryCertificationId: cleaComplementaryCertification.id,
});
databaseBuilder.factory.buildComplementaryCertificationHabilitation({
certificationCenterId: certificationCenter.id,
complementaryCertificationId: pixPlusDroitComplementaryCertification.id,
});

const session = databaseBuilder.factory.buildSession({
certificationCenterId: certificationCenter.id,
});

const candidate = databaseBuilder.factory.buildCertificationCandidate({
sessionId: session.id,
userId,
reconciledAt: new Date('2021-01-01'),
});

databaseBuilder.factory.buildCoreSubscription({ certificationCandidateId: candidate.id });
Expand All @@ -42,6 +39,29 @@ describe('Certification | Enrolment | Acceptance | Application | Routes | subscr
certificationCandidateId: candidate.id,
complementaryCertificationId: cleaComplementaryCertification.id,
});

const campaignId = databaseBuilder.factory.buildCampaign().id;

const campaignParticipationId = databaseBuilder.factory.buildCampaignParticipation({
campaignId,
isCertifiable: true,
userId,
}).id;

const badgeId = databaseBuilder.factory.buildBadge({ isCertifiable: true }).id;

databaseBuilder.factory.buildComplementaryCertificationBadge({
badgeId,
complementaryCertificationId: cleaComplementaryCertification.id,
});

databaseBuilder.factory.buildBadgeAcquisition({
userId,
badgeId,
campaignParticipationId,
createdAt: new Date('2020-01-01'),
});

await databaseBuilder.commit();

const options = {
Expand All @@ -61,7 +81,7 @@ describe('Certification | Enrolment | Acceptance | Application | Routes | subscr
attributes: {
'session-id': session.id,
'session-version': session.version,
'eligible-subscription': null,
'eligible-subscriptions': [],
'non-eligible-subscription': {
id: cleaComplementaryCertification.id,
label: 'CléA Numérique',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ describe('Certification | Enrolment | Unit | Domain | UseCase | get-certificatio
userId,
sessionId,
subscriptions: [domainBuilder.buildCoreSubscription()],
reconciledAt: new Date('2024-10-09'),
};

sessionRepository = {
Expand Down Expand Up @@ -144,7 +145,7 @@ describe('Certification | Enrolment | Unit | Domain | UseCase | get-certificatio
centerRepository.getById.withArgs({ id: 777 }).resolves(center);

certificationBadgesService.findStillValidBadgeAcquisitions
.withArgs({ userId })
.withArgs({ userId, limitDate: certificationCandidateData.reconciledAt })
.resolves([certifiableBadgeAcquisition]);

// when
Expand Down Expand Up @@ -219,7 +220,7 @@ describe('Certification | Enrolment | Unit | Domain | UseCase | get-certificatio
centerRepository.getById.withArgs({ id: 777 }).resolves(center);

certificationBadgesService.findStillValidBadgeAcquisitions
.withArgs({ userId })
.withArgs({ userId, limitDate: certificationCandidateData.reconciledAt })
.resolves([certifiableBadgeAcquisition]);

// when
Expand Down Expand Up @@ -299,7 +300,7 @@ describe('Certification | Enrolment | Unit | Domain | UseCase | get-certificatio
centerRepository.getById.withArgs({ id: 777 }).resolves(center);

certificationBadgesService.findStillValidBadgeAcquisitions
.withArgs({ userId })
.withArgs({ userId, limitDate: certificationCandidateData.reconciledAt })
.resolves([certifiableBadgeAcquisition]);

// when
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,8 @@ describe('Certification | Enrolment | Unit | Serializer | certification-candidat
const certificationCandidateSubscription = domainBuilder.buildCertificationCandidateSubscription({
id: 123,
sessionId: 456,
eligibleSubscription: domainBuilder.buildComplementaryCertification({
key: 'FIRST_COMPLEMENTARY',
label: 'First Complementary Certification',
}),
eligibleSubscriptions: [{ type: 'COMPLEMENTARY', label: 'First Complementary Certification' }],
sessionVersion: 2,

nonEligibleSubscription: domainBuilder.buildComplementaryCertification({
key: 'SECOND_COMPLEMENTARY',
label: 'Second Complementary Certification',
Expand All @@ -24,11 +20,12 @@ describe('Certification | Enrolment | Unit | Serializer | certification-candidat
id: '123',
type: 'certification-candidate-subscriptions',
attributes: {
'eligible-subscription': {
id: 1,
key: 'FIRST_COMPLEMENTARY',
label: 'First Complementary Certification',
},
'eligible-subscriptions': [
{
type: 'COMPLEMENTARY',
label: 'First Complementary Certification',
},
],
'non-eligible-subscription': {
id: 1,
key: 'SECOND_COMPLEMENTARY',
Expand Down

0 comments on commit c72ea6d

Please sign in to comment.