Merge branch 'hotfix/survey-answers' into develop

This commit is contained in:
Ramon Wenger 2020-10-14 18:54:46 +02:00
commit c39c35332e
1 changed files with 9 additions and 8 deletions

View File

@ -1,17 +1,18 @@
const extractAnswerFromQuestion = (previous, question) => {
if (!question.correctAnswer) {
return [...previous];
}
let answer = question.correctAnswer;
if (question.getType() === 'matrix') {
const correctAnswer = question.correctAnswer;
const questionRows = question.getRows();
const keys = questionRows.map(question => {
const text = question.value;
if (/[,.!?]/.test(text.slice(-1))) {
return text.slice(0, -1);
}
return text;
}); // get the keys as they appear in the question, without punctuation at the end
const keys = questionRows.map(question => question.value); // get the keys as they appear in the question
answer = keys.map(key => `${key}: ${correctAnswer[key]}`); // return an array, it gets converted to a string further up
answer = keys.map(key => {
let keyWithoutPunctuation = /[,.!?]/.test(key.slice(-1)) ? key.slice(0, -1) : key; // the last character might be a period, comma, question or exclamation mark. If not, we just return the key as-is
let answer = correctAnswer[key] || correctAnswer[keyWithoutPunctuation]; // the key might be with or without the punctuation, can be inconsistent depending on the survey
return `${keyWithoutPunctuation}: ${answer}`; // return the key without punctuation, as we add the colon
}); // return an array, it gets converted to a string further up
}
return [...previous, {title: question.title, answer, type: question.getType()}];
};