From e42b9cc780e9f44a90ce403fb3cda3851b5ba2c6 Mon Sep 17 00:00:00 2001 From: AndreiaPena Date: Thu, 6 Feb 2025 14:38:25 +0100 Subject: [PATCH 1/2] =?UTF-8?q?=F0=9F=94=A5=20api:=20remove=20unused=20rea?= =?UTF-8?q?d-model?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../GeneralCertificationInformation.js | 45 ------------------- 1 file changed, 45 deletions(-) delete mode 100644 api/src/shared/domain/read-models/GeneralCertificationInformation.js diff --git a/api/src/shared/domain/read-models/GeneralCertificationInformation.js b/api/src/shared/domain/read-models/GeneralCertificationInformation.js deleted file mode 100644 index 903d1a5e2cc..00000000000 --- a/api/src/shared/domain/read-models/GeneralCertificationInformation.js +++ /dev/null @@ -1,45 +0,0 @@ -class GeneralCertificationInformation { - constructor({ - certificationCourseId, - - sessionId, - createdAt, - completedAt, - isPublished, - isCancelled, - - firstName, - lastName, - birthdate, - birthplace, - birthCountry, - birthPostalCode, - birthINSEECode, - sex, - userId, - - certificationIssueReports, - }) { - this.certificationCourseId = certificationCourseId; - - this.sessionId = sessionId; - this.createdAt = createdAt; - this.completedAt = completedAt; - this.isPublished = isPublished; - this.isCancelled = isCancelled; - - this.firstName = firstName; - this.lastName = lastName; - this.birthdate = birthdate; - this.birthplace = birthplace; - this.birthPostalCode = birthPostalCode; - this.birthINSEECode = birthINSEECode; - this.birthCountry = birthCountry; - this.sex = sex; - this.userId = userId; - - this.certificationIssueReports = certificationIssueReports; - } -} - -export { GeneralCertificationInformation }; From 3a49145ce0293ee643cf8f9d0a5140cb3c0866d4 Mon Sep 17 00:00:00 2001 From: AndreiaPena Date: Thu, 6 Feb 2025 14:38:57 +0100 Subject: [PATCH 2/2] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20api:=20make=20isCancel?= =?UTF-8?q?led=20deprecated?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../results/domain/models/PrivateCertificate.js | 15 ++++++++++----- .../repositories/certificate-repository.js | 2 ++ .../repositories/certificate-repository_test.js | 5 +++-- .../unit/domain/models/PrivateCertificate_test.js | 12 ++++++++++-- 4 files changed, 25 insertions(+), 9 deletions(-) diff --git a/api/src/certification/results/domain/models/PrivateCertificate.js b/api/src/certification/results/domain/models/PrivateCertificate.js index aa63313716b..455af44a95e 100644 --- a/api/src/certification/results/domain/models/PrivateCertificate.js +++ b/api/src/certification/results/domain/models/PrivateCertificate.js @@ -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'; /** @@ -74,6 +74,10 @@ class PrivateCertificate { this.version = version; } + /** + * @param {Object} props + * @param {boolean} props.isCancelled - will be removed + */ static buildFrom({ id, firstName, @@ -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; } diff --git a/api/src/certification/results/infrastructure/repositories/certificate-repository.js b/api/src/certification/results/infrastructure/repositories/certificate-repository.js index 360b76cabb6..fed70376774 100644 --- a/api/src/certification/results/infrastructure/repositories/certificate-repository.js +++ b/api/src/certification/results/infrastructure/repositories/certificate-repository.js @@ -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') @@ -159,6 +160,7 @@ function _selectCertificationAttestations() { } function _selectPrivateCertificates() { + // isCancelled will be removed return _getCertificateQuery().select({ id: 'certification-courses.id', firstName: 'certification-courses.firstName', diff --git a/api/tests/certification/results/integration/infrastructure/repositories/certificate-repository_test.js b/api/tests/certification/results/integration/infrastructure/repositories/certificate-repository_test.js index 95373d953d9..89a6eb6b241 100644 --- a/api/tests/certification/results/integration/infrastructure/repositories/certificate-repository_test.js +++ b/api/tests/certification/results/integration/infrastructure/repositories/certificate-repository_test.js @@ -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, @@ -2708,6 +2708,7 @@ function _buildRejected(certificationAttestationData) { } function _buildCancelled(certificationAttestationData) { + // isCancelled will be removed databaseBuilder.factory.buildCertificationCourse({ id: certificationAttestationData.id, firstName: certificationAttestationData.firstName, @@ -2725,7 +2726,7 @@ function _buildCancelled(certificationAttestationData) { databaseBuilder.factory.buildAssessmentResult.last({ certificationCourseId: certificationAttestationData.id, pixScore: certificationAttestationData.pixScore, - status: 'validated', + status: AssessmentResult.status.CANCELLED, }); } diff --git a/api/tests/certification/results/unit/domain/models/PrivateCertificate_test.js b/api/tests/certification/results/unit/domain/models/PrivateCertificate_test.js index 2cf9707f7ee..222fa2a7a9f 100644 --- a/api/tests/certification/results/unit/domain/models/PrivateCertificate_test.js +++ b/api/tests/certification/results/unit/domain/models/PrivateCertificate_test.js @@ -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 () { @@ -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);