Skip to content

Commit 301a28e

Browse files
[BUGFIX] Ne plus retourner de 500 sur le reset d'une compétence avec un assessment de type campagne anonymisé (PIX-17092)
#11763
2 parents 0b2e1ba + e49e2bc commit 301a28e

File tree

2 files changed

+33
-8
lines changed

2 files changed

+33
-8
lines changed

api/src/shared/domain/models/Assessment.js

+15-6
Original file line numberDiff line numberDiff line change
@@ -128,12 +128,21 @@ class Assessment {
128128
break;
129129
}
130130
case Assessment.types.CAMPAIGN: {
131-
this.campaignCode = campaign.code;
132-
this.showProgressBar = campaign.isAssessment;
133-
this.hasCheckpoints = campaign.isAssessment;
134-
this.showLevelup = campaign.isAssessment;
135-
this.showQuestionCounter = campaign.isAssessment;
136-
this.title = campaign.title;
131+
// if campaign participation is anonymized, assessment of type campaign do not have related campaign
132+
if (!campaign) {
133+
this.showProgressBar = false;
134+
this.hasCheckpoints = false;
135+
this.showLevelup = false;
136+
this.showQuestionCounter = false;
137+
this.title = '';
138+
} else {
139+
this.campaignCode = campaign.code;
140+
this.showProgressBar = campaign.isAssessment;
141+
this.hasCheckpoints = campaign.isAssessment;
142+
this.showLevelup = campaign.isAssessment;
143+
this.showQuestionCounter = campaign.isAssessment;
144+
this.title = campaign.title;
145+
}
137146
break;
138147
}
139148

api/tests/shared/unit/domain/models/Assessment_test.js

+18-2
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ describe('Unit | Domain | Models | Assessment', function () {
6060
{
6161
// eslint-disable-next-line mocha/no-setup-in-describe
6262
type: Assessment.types.CAMPAIGN,
63+
// eslint-disable-next-line mocha/no-setup-in-describe
64+
describeInfos: CampaignTypes.ASSESSMENT,
6365
hasCheckpoints: true,
6466
showProgressBar: true,
6567
showLevelup: true,
@@ -71,6 +73,8 @@ describe('Unit | Domain | Models | Assessment', function () {
7173
{
7274
// eslint-disable-next-line mocha/no-setup-in-describe
7375
type: Assessment.types.CAMPAIGN,
76+
// eslint-disable-next-line mocha/no-setup-in-describe
77+
describeInfos: CampaignTypes.EXAM,
7478
hasCheckpoints: false,
7579
showProgressBar: false,
7680
showLevelup: false,
@@ -79,8 +83,20 @@ describe('Unit | Domain | Models | Assessment', function () {
7983
// eslint-disable-next-line mocha/no-setup-in-describe
8084
attributes: { campaign: domainBuilder.buildCampaign({ title: 'Ma Campagne', type: CampaignTypes.EXAM }) },
8185
},
82-
].forEach(({ type, attributes, showProgressBar, showLevelup, hasCheckpoints, expectedTitle }) => {
83-
describe(type, function () {
86+
{
87+
// eslint-disable-next-line mocha/no-setup-in-describe
88+
type: Assessment.types.CAMPAIGN,
89+
describeInfos: 'Anonymized assessment',
90+
hasCheckpoints: false,
91+
showProgressBar: false,
92+
expectedTitle: '',
93+
showLevelup: false,
94+
showQuestionCounter: false,
95+
96+
attributes: { campaign: null },
97+
},
98+
].forEach(({ type, describeInfos, attributes, showProgressBar, showLevelup, hasCheckpoints, expectedTitle }) => {
99+
describe(`${type} ${describeInfos}`, function () {
84100
let assessment;
85101

86102
before(function () {

0 commit comments

Comments
 (0)