Skip to content

Commit

Permalink
[TECH] Utiliser le status annulée de l'assessment-result pour l'accès…
Browse files Browse the repository at this point in the history
… aux certifications (PIX-16459).

 #11358
  • Loading branch information
pix-service-auto-merge authored Feb 6, 2025
2 parents a0801c7 + 3a49145 commit 0cb5fff
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 54 deletions.
15 changes: 10 additions & 5 deletions api/src/certification/results/domain/models/PrivateCertificate.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { status as assessmentResultStatuses } from '../../../../shared/domain/models/AssessmentResult.js';
import { AssessmentResult } from '../../../../shared/domain/models/index.js';
import { JuryComment, JuryCommentContexts } from '../../../shared/domain/models/JuryComment.js';

/**
Expand Down Expand Up @@ -74,6 +74,10 @@ class PrivateCertificate {
this.version = version;
}

/**
* @param {Object} props
* @param {boolean} props.isCancelled - will be removed
*/
static buildFrom({
id,
firstName,
Expand Down Expand Up @@ -130,10 +134,11 @@ class PrivateCertificate {
}

function _computeStatus(assessmentResultStatus, isCancelled) {
if (isCancelled) return status.CANCELLED;
if (assessmentResultStatus === assessmentResultStatuses.VALIDATED) return status.VALIDATED;
if (assessmentResultStatus === assessmentResultStatuses.REJECTED) return status.REJECTED;
if (assessmentResultStatus === assessmentResultStatuses.ERROR) return status.ERROR;
// isCancelled will be removed
if (isCancelled || assessmentResultStatus === AssessmentResult.status.CANCELLED) return status.CANCELLED;
if (assessmentResultStatus === AssessmentResult.status.VALIDATED) return status.VALIDATED;
if (assessmentResultStatus === AssessmentResult.status.REJECTED) return status.REJECTED;
if (assessmentResultStatus === AssessmentResult.status.ERROR) return status.ERROR;
return status.STARTED;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ const findPrivateCertificatesByUserId = async function ({ userId }) {
};

const getPrivateCertificate = async function (id, { locale } = {}) {
// isCancelled will be removed
const certificationCourseDTO = await _selectPrivateCertificates()
.where('certification-courses.id', '=', id)
.groupBy('certification-courses.id', 'sessions.id', 'assessment-results.id')
Expand Down Expand Up @@ -159,6 +160,7 @@ function _selectCertificationAttestations() {
}

function _selectPrivateCertificates() {
// isCancelled will be removed
return _getCertificateQuery().select({
id: 'certification-courses.id',
firstName: 'certification-courses.firstName',
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import * as certificateRepository from '../../../../../../src/certification/resu
import { AutoJuryCommentKeys } from '../../../../../../src/certification/shared/domain/models/JuryComment.js';
import { SESSIONS_VERSIONS } from '../../../../../../src/certification/shared/domain/models/SessionVersion.js';
import { NotFoundError } from '../../../../../../src/shared/domain/errors.js';
import { status } from '../../../../../../src/shared/domain/models/AssessmentResult.js';
import { AssessmentResult, status } from '../../../../../../src/shared/domain/models/AssessmentResult.js';
import {
catchErr,
databaseBuilder,
Expand Down Expand Up @@ -2708,6 +2708,7 @@ function _buildRejected(certificationAttestationData) {
}

function _buildCancelled(certificationAttestationData) {
// isCancelled will be removed
databaseBuilder.factory.buildCertificationCourse({
id: certificationAttestationData.id,
firstName: certificationAttestationData.firstName,
Expand All @@ -2725,7 +2726,7 @@ function _buildCancelled(certificationAttestationData) {
databaseBuilder.factory.buildAssessmentResult.last({
certificationCourseId: certificationAttestationData.id,
pixScore: certificationAttestationData.pixScore,
status: 'validated',
status: AssessmentResult.status.CANCELLED,
});
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
import { PrivateCertificate } from '../../../../../../src/certification/results/domain/models/PrivateCertificate.js';
import { AutoJuryCommentKeys } from '../../../../../../src/certification/shared/domain/models/JuryComment.js';
import { SESSIONS_VERSIONS } from '../../../../../../src/certification/shared/domain/models/SessionVersion.js';
import { status as assessmentResultStatuses } from '../../../../../../src/shared/domain/models/AssessmentResult.js';
import {
AssessmentResult,
status as assessmentResultStatuses,
} from '../../../../../../src/shared/domain/models/AssessmentResult.js';
import { domainBuilder, expect } from '../../../../../test-helper.js';

describe('Unit | Domain | Models | PrivateCertificate', function () {
Expand Down Expand Up @@ -33,7 +36,12 @@ describe('Unit | Domain | Models | PrivateCertificate', function () {

it('builds a cancelled PrivateCertificate', async function () {
// when
const privateCertificate = PrivateCertificate.buildFrom({ ...commonData, isCancelled: true });
// isCancelled will be removed
const privateCertificate = PrivateCertificate.buildFrom({
...commonData,
assessmentResultStatus: AssessmentResult.status.CANCELLED,
isCancelled: true,
});

// then
const expectedPrivateCertificate = domainBuilder.buildPrivateCertificate.cancelled(commonData);
Expand Down

0 comments on commit 0cb5fff

Please sign in to comment.