UNPKG

@coorpacademy/progression-engine

Version:

41 lines (40 loc) 2.09 kB
"use strict"; 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