diff --git a/api/src/prescription/campaign-participation/domain/usecases/get-campaign-assessment-participation.js b/api/src/prescription/campaign-participation/domain/usecases/get-campaign-assessment-participation.js index bdf34d35d2b..5b924966a27 100644 --- a/api/src/prescription/campaign-participation/domain/usecases/get-campaign-assessment-participation.js +++ b/api/src/prescription/campaign-participation/domain/usecases/get-campaign-assessment-participation.js @@ -14,10 +14,12 @@ const getCampaignAssessmentParticipation = withTransaction(async function ({ throw new UserNotAuthorizedToAccessEntityError('User does not belong to the organization that owns the campaign'); } + const campaign = await campaignRepository.get(campaignId); const campaignAssessmentParticipation = await campaignAssessmentParticipationRepository.getByCampaignIdAndCampaignParticipationId({ campaignId, campaignParticipationId, + buildProgression: campaign.isTypeAssessment, }); const acquiredBadgesByCampaignParticipations = diff --git a/api/src/prescription/campaign-participation/infrastructure/repositories/campaign-assessment-participation-repository.js b/api/src/prescription/campaign-participation/infrastructure/repositories/campaign-assessment-participation-repository.js index c0d9cdd21c3..083afd6288a 100644 --- a/api/src/prescription/campaign-participation/infrastructure/repositories/campaign-assessment-participation-repository.js +++ b/api/src/prescription/campaign-participation/infrastructure/repositories/campaign-assessment-participation-repository.js @@ -8,10 +8,14 @@ import * as knowledgeElementRepository from '../../../../shared/infrastructure/r import * as campaignRepository from '../../../campaign/infrastructure/repositories/campaign-repository.js'; import { CampaignAssessmentParticipation } from '../../domain/models/CampaignAssessmentParticipation.js'; -const getByCampaignIdAndCampaignParticipationId = async function ({ campaignId, campaignParticipationId }) { +const getByCampaignIdAndCampaignParticipationId = async function ({ + campaignId, + campaignParticipationId, + buildProgression, +}) { const result = await _fetchCampaignAssessmentAttributesFromCampaignParticipation(campaignId, campaignParticipationId); - return _buildCampaignAssessmentParticipation(result); + return _buildCampaignAssessmentParticipation(result, buildProgression); }; export { getByCampaignIdAndCampaignParticipationId }; @@ -66,8 +70,15 @@ function _assessmentRankByCreationDate() { ]); } -async function _buildCampaignAssessmentParticipation(result) { - const { targetedSkillsCount, testedSkillsCount } = await _setSkillsCount(result); +async function _buildCampaignAssessmentParticipation(result, buildProgression) { + let targetedSkillsCount, + testedSkillsCount = null; + + if (buildProgression) { + const userSkills = await _setSkillsCount(result); + targetedSkillsCount = userSkills.targetedSkillsCount; + testedSkillsCount = userSkills.testedSkillsCount; + } return new CampaignAssessmentParticipation({ ...result,