diff --git a/api/db/seeds/data/common/tooling/target-profile-tooling.js b/api/db/seeds/data/common/tooling/target-profile-tooling.js index 27677d7432e..52a5f8ac39a 100644 --- a/api/db/seeds/data/common/tooling/target-profile-tooling.js +++ b/api/db/seeds/data/common/tooling/target-profile-tooling.js @@ -47,6 +47,7 @@ async function createTargetProfile({ comment, imageUrl, outdated, + areKnowledgeElementsResettable, attachedOrganizationIds = [], configTargetProfile, }) { @@ -79,6 +80,7 @@ async function createTargetProfile({ comment, imageUrl, outdated, + areKnowledgeElementsResettable, attachedOrganizationIds, }); const cappedTubesDTO = _createTargetProfileTubes({ databaseBuilder, targetProfileId, configTargetProfile }); @@ -229,6 +231,7 @@ function _createTargetProfile({ comment, imageUrl, outdated, + areKnowledgeElementsResettable, attachedOrganizationIds, }) { databaseBuilder.factory.buildTargetProfile({ @@ -242,6 +245,7 @@ function _createTargetProfile({ comment, imageUrl, outdated, + areKnowledgeElementsResettable, }); attachedOrganizationIds.map((organizationId) => databaseBuilder.factory.buildTargetProfileShare({ diff --git a/api/db/seeds/data/team-evaluation/users/eval-campaign-with-badges.js b/api/db/seeds/data/team-evaluation/users/eval-campaign-with-badges.js index f061396d176..000bf791648 100644 --- a/api/db/seeds/data/team-evaluation/users/eval-campaign-with-badges.js +++ b/api/db/seeds/data/team-evaluation/users/eval-campaign-with-badges.js @@ -233,6 +233,8 @@ export default async function initUser(databaseBuilder) { code: 'EVALBADGE', targetProfileId: targetProfileId, idPixLabel: null, + customResultPageText: + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris eget tortor ut diam dictum viverra quis at purus. Morbi id quam a massa blandit gravida.', configCampaign: { participantCount: 0 }, }); diff --git a/api/db/seeds/data/team-evaluation/users/eval-campaign-with-stages.js b/api/db/seeds/data/team-evaluation/users/eval-campaign-with-stages.js index 362d3acc44d..371b3199b4d 100644 --- a/api/db/seeds/data/team-evaluation/users/eval-campaign-with-stages.js +++ b/api/db/seeds/data/team-evaluation/users/eval-campaign-with-stages.js @@ -147,6 +147,7 @@ export default async function initUser(databaseBuilder) { ownerOrganizationId: TEAM_EVALUATION_OFFSET_ID, isSimplifiedAccess: false, description: 'Profil cible avec des paliers par seuils', + areKnowledgeElementsResettable: true, configTargetProfile: { frameworks: [ { @@ -218,6 +219,7 @@ export default async function initUser(databaseBuilder) { organizationId: TEAM_EVALUATION_OFFSET_ID, ownerId: TEAM_EVALUATION_OFFSET_ID, name: 'Campagne avec des paliers par niveaux - niveau à 0 ', + title: 'Campagne avec des paliers par niveaux - niveau à 0 ', code: 'EVALSTAG1', targetProfileId: targetProfile1.targetProfileId, idPixLabel: null, @@ -228,6 +230,7 @@ export default async function initUser(databaseBuilder) { organizationId: TEAM_EVALUATION_OFFSET_ID, ownerId: TEAM_EVALUATION_OFFSET_ID, name: 'Campagne avec des paliers par niveaux - niveau à 0 et un "Premier Acquis"', + title: 'Campagne avec des paliers par niveaux - niveau à 0 et un "Premier Acquis"', code: 'EVALSTAG2', targetProfileId: targetProfile2.targetProfileId, idPixLabel: null, @@ -238,16 +241,22 @@ export default async function initUser(databaseBuilder) { organizationId: TEAM_EVALUATION_OFFSET_ID, ownerId: TEAM_EVALUATION_OFFSET_ID, name: 'Campagne avec des paliers par niveau - niveau à 0 et paliers de niveaux', + title: 'Campagne avec des paliers par niveau - niveau à 0 et paliers de niveaux', code: 'EVALSTAG3', targetProfileId: targetProfile3.targetProfileId, idPixLabel: null, - configCampaign: { participantCount: 0 }, + customResultPageText: + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris eget tortor ut diam dictum viverra quis at purus. Morbi id quam a massa blandit gravida.', + customResultPageButtonUrl: 'https://pix.org', + customResultPageButtonText: 'Cliquez ici', + configCampaign: { participantCount: 1 }, }); const campaign4 = await tooling.campaign.createAssessmentCampaign({ databaseBuilder, organizationId: TEAM_EVALUATION_OFFSET_ID, ownerId: TEAM_EVALUATION_OFFSET_ID, name: 'Campagne avec des paliers par seuil - seuil à 0', + title: 'Campagne avec des paliers par seuil - seuil à 0', code: 'EVALSTAG4', targetProfileId: targetProfile4.targetProfileId, idPixLabel: null, @@ -258,6 +267,7 @@ export default async function initUser(databaseBuilder) { organizationId: TEAM_EVALUATION_OFFSET_ID, ownerId: TEAM_EVALUATION_OFFSET_ID, name: 'Campagne avec des paliers par seuil - seuil à 0 et un "Premier Acquis"', + title: 'Campagne avec des paliers par seuil - seuil à 0 et un "Premier Acquis"', code: 'EVALSTAG5', targetProfileId: targetProfile5.targetProfileId, idPixLabel: null, @@ -268,9 +278,11 @@ export default async function initUser(databaseBuilder) { organizationId: TEAM_EVALUATION_OFFSET_ID, ownerId: TEAM_EVALUATION_OFFSET_ID, name: "Campagne d'évaluation SCO - seuil à 0 et paliers de seuil", + title: "Campagne d'évaluation SCO - seuil à 0 et paliers de seuil", code: 'EVALSTAG6', targetProfileId: targetProfile6.targetProfileId, idPixLabel: null, + multipleSendings: true, configCampaign: { participantCount: 0 }, }); @@ -299,11 +311,12 @@ export default async function initUser(databaseBuilder) { campaignId: campaign3.campaignId, userId: user.id, organizationLearnerId: organizationLearner.id, - masteryRate: 0.7, + masteryRate: 0.2, pixScore: 500, - validatedSkillsCount: 5, + validatedSkillsCount: 2, isCertifiable: true, status: 'TO_SHARE', + createdAt: dayjs(), }); const campaignParticipation4 = databaseBuilder.factory.buildCampaignParticipation({ campaignId: campaign4.campaignId, @@ -333,7 +346,8 @@ export default async function initUser(databaseBuilder) { pixScore: 500, validatedSkillsCount: 5, isCertifiable: true, - status: 'TO_SHARE', + status: 'SHARED', + sharedAt: new Date('2020-01-01'), }); const allCampaignParticipations = [ @@ -348,11 +362,20 @@ export default async function initUser(databaseBuilder) { // 3. Build stage-acquisitions [ { stages: stages1, campaignParticipation: campaignParticipation1 }, - { stages: stages2, campaignParticipation: campaignParticipation2 }, + { + stages: stages2, + campaignParticipation: campaignParticipation2, + }, { stages: stages3, campaignParticipation: campaignParticipation3 }, - { stages: stages4, campaignParticipation: campaignParticipation4 }, + { + stages: stages4, + campaignParticipation: campaignParticipation4, + }, { stages: stages5, campaignParticipation: campaignParticipation5 }, - { stages: stages6, campaignParticipation: campaignParticipation6 }, + { + stages: stages6, + campaignParticipation: campaignParticipation6, + }, ].forEach(({ stages, campaignParticipation }) => { stages.stageIds.forEach((stageId) => { databaseBuilder.factory.buildStageAcquisition({ @@ -374,6 +397,8 @@ export default async function initUser(databaseBuilder) { userId: user.id, type: 'CAMPAIGN', campaignParticipationId: campaignParticipation.id, + isImproving: true, + createdAt: dayjs(), }); // 2. Build assessment result @@ -382,7 +407,9 @@ export default async function initUser(databaseBuilder) { }); // 3. Knowledge elements configuration (we need some acquired KEs to have stages) - for (const { answerData, keData } of answersAndKEFromAdvancedProfile) { + for (let i = 0; i < answersAndKEFromAdvancedProfile.length; i++) { + const { answerData, keData } = answersAndKEFromAdvancedProfile[i]; + const answer = databaseBuilder.factory.buildAnswer({ assessmentId: assessment.id, answerData, @@ -393,7 +420,8 @@ export default async function initUser(databaseBuilder) { answerId: answer.id, userId: user.id, ...keData, - createdAt: dayjs().subtract(1, 'day'), + status: i % 2 ? 'invalidated' : 'validated', + createdAt: new Date('2020-01-01'), }); } });