Skip to content

Commit f6a76bd

Browse files
authored
Merge pull request #356 from 1024pix/pf-495-save-pix-value-for-each-skills
[FEATURE] Sauvegarder la valeur des Pix quand on répond à une question (PF-495).
2 parents fd43d51 + 24e0c9d commit f6a76bd

25 files changed

+211
-235
lines changed

api/db/migrations/20190205153549_update_pix-score_column_in_knowledge_element_table.js

+57
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/lib/application/answers/answer-controller.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ module.exports = {
6868

6969
const updatedAnswer = answerSerializer.deserializeToBookshelfAnswer(request.payload);
7070
return answerRepository
71-
.findByChallengeAndAssessment(updatedAnswer.get('challengeId'), updatedAnswer.get('assessmentId'))
71+
.findByChallengeAndAssessment({ challengeId: updatedAnswer.get('challengeId'), assessmentId: updatedAnswer.get('assessmentId') })
7272
.then((existingAnswer) => {
7373

7474
if (!existingAnswer) {
@@ -92,7 +92,7 @@ module.exports = {
9292

9393
findByChallengeAndAssessment(request) {
9494
return answerRepository
95-
.findByChallengeAndAssessment(request.url.query.challenge, request.url.query.assessment)
95+
.findByChallengeAndAssessment({ challengeId: request.url.query.challenge, assessmentId: request.url.query.assessment })
9696
.then(answerSerializer.serializeFromBookshelfAnswer)
9797
.catch((err) => {
9898
logger.error(err);

api/lib/domain/models/Skill.js

+2
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,14 @@ class Skill {
55
id,
66
// attributes
77
name,
8+
pixValue,
89
// includes
910
// references
1011
} = {}) {
1112
this.id = id;
1213
// attributes
1314
this.name = name;
15+
this.pixValue = pixValue;
1416
// includes
1517
// references
1618
}

api/lib/domain/models/SmartPlacementKnowledgeElement.js

+9-7
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class SmartPlacementKnowledgeElement {
2929
createdAt,
3030
source,
3131
status,
32-
pixScore,
32+
earnedPix,
3333
// includes
3434
// references
3535
answerId,
@@ -41,7 +41,7 @@ class SmartPlacementKnowledgeElement {
4141
this.createdAt = createdAt;
4242
this.source = source;
4343
this.status = status;
44-
this.pixScore = pixScore;
44+
this.earnedPix = earnedPix;
4545
// includes
4646
// references
4747
this.answerId = answerId;
@@ -59,14 +59,14 @@ class SmartPlacementKnowledgeElement {
5959

6060
static createKnowledgeElementsForAnswer({
6161
answer,
62-
associatedChallenge,
62+
challenge,
6363
previouslyFailedSkills,
6464
previouslyValidatedSkills,
6565
targetSkills,
6666
}) {
6767

6868
const directKnowledgeElements = _createDirectKnowledgeElements({
69-
answer, associatedChallenge, previouslyFailedSkills, previouslyValidatedSkills, targetSkills,
69+
answer, challenge, previouslyFailedSkills, previouslyValidatedSkills, targetSkills,
7070
});
7171

7272
return _enrichDirectKnowledgeElementsWithInferredKnowledgeElements({
@@ -84,15 +84,15 @@ SmartPlacementKnowledgeElement.StatusType = SmartPlacementKnowledgeElementStatus
8484

8585
function _createDirectKnowledgeElements({
8686
answer,
87-
associatedChallenge,
87+
challenge,
8888
previouslyFailedSkills,
8989
previouslyValidatedSkills,
9090
targetSkills,
9191
}) {
9292

9393
const status = answer.isOk() ? VALIDATED_STATUS : INVALIDATED_STATUS;
9494

95-
return associatedChallenge.skills
95+
return challenge.skills
9696
.filter(_skillIsInTargetedSkills({ targetSkills }))
9797
.filter(_skillIsNotAlreadyAssessed({ previouslyFailedSkills, previouslyValidatedSkills }))
9898
.map((skill) => {
@@ -195,10 +195,12 @@ function _createInferredInvalidatedKnowledgeElement({ answer, skillToInfer }) {
195195
}
196196

197197
function _createKnowledgeElementsForSkill({ skill, source, status, answer }) {
198+
const pixValue = (status === VALIDATED_STATUS) ? skill.pixValue : 0;
199+
198200
return new SmartPlacementKnowledgeElement({
199201
answerId: answer.id,
200202
assessmentId: answer.assessmentId,
201-
pixScore: 0,
203+
earnedPix: pixValue,
202204
skillId: skill.id,
203205
source,
204206
status,

0 commit comments

Comments
 (0)