@coorpacademy/progression-engine
Version:
41 lines (40 loc) • 2.09 kB
JavaScript
;
exports.__esModule = true;
exports.assertCorrect = assertCorrect;
exports.assertIncorrect = assertIncorrect;
exports.assertIncorrectEmptyAnswer = assertIncorrectEmptyAnswer;
var _zip2 = _interopRequireDefault(require("lodash/fp/zip"));
var _trim2 = _interopRequireDefault(require("lodash/fp/trim"));
var _pipe2 = _interopRequireDefault(require("lodash/fp/pipe"));
var _map2 = _interopRequireDefault(require("lodash/fp/map"));
var _checkAnswerCorrectness = _interopRequireDefault(require("../../check-answer-correctness"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
// eslint-disable-next-line flowtype/no-weak-types
function assertCorrect(t, config, question, givenAnswer) {
const result = (0, _checkAnswerCorrectness.default)(config, question, givenAnswer);
t.true(result.isCorrect, 'Answer should have been considered as correct');
t.deepEqual(result.corrections, givenAnswer.map(answer => ({
answer: (0, _trim2.default)(answer),
isCorrect: true
})), 'All sub-answers should be considered correct');
}
function assertIncorrect(t,
// eslint-disable-line flowtype/no-weak-types
config, question, givenAnswer, expectedCorrections) {
t.is(givenAnswer.length, expectedCorrections.length, 'Expected corrections should have the same length as givenAnswer');
const result = (0, _checkAnswerCorrectness.default)(config, question, givenAnswer);
t.false(result.isCorrect, 'Answer should have been considered as incorrect');
t.deepEqual(result.corrections, (0, _pipe2.default)((0, _zip2.default)(givenAnswer), (0, _map2.default)(([answer, isCorrect]) => ({
answer: (0, _trim2.default)(answer),
isCorrect
})))(expectedCorrections), 'Some sub-answers were not correctly marked as correct');
}
function assertIncorrectEmptyAnswer(t,
// eslint-disable-line flowtype/no-weak-types
config, question, givenAnswer) {
t.deepEqual((0, _checkAnswerCorrectness.default)(config, question, givenAnswer), {
isCorrect: false,
corrections: []
});
}
//# sourceMappingURL=assert-check-answer-correctness.js.map