UNPKG

10.1 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/test/check-answer-correctness.qcm-drag.js"],"names":["test","getConfig","assertCorrect","assertIncorrect","assertIncorrectEmptyAnswer","config","ref","version","createQuestion","matchOrder","answers","type","content","forEach","bool","toString","t","question"],"mappings":"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","sourcesContent":["// @flow\nimport test from 'ava';\nimport {getConfig} from '../config';\nimport type {AcceptedAnswers, Config, QCMDragQuestion} from '../types';\nimport {\n assertCorrect,\n assertIncorrect,\n assertIncorrectEmptyAnswer\n} from './helpers/assert-check-answer-correctness';\n\nconst config: Config = getConfig({ref: 'microlearning', version: 'latest'});\n\nfunction createQuestion(matchOrder: boolean, answers: AcceptedAnswers): QCMDragQuestion {\n return {\n type: 'qcmDrag',\n content: {\n matchOrder,\n answers\n }\n };\n}\n\n[true, false].forEach((bool: boolean) => {\n test(`should return true when the given answer is in the accepted answers (matchOrder=${bool.toString()})`, t => {\n const question = createQuestion(bool, [\n ['answer1', 'answer3'],\n ['answer2', 'answer4'],\n ['answer1', 'answer4']\n ]);\n\n assertCorrect(t, config, question, ['answer1', 'answer3']);\n assertCorrect(t, config, question, ['answer2', 'answer4']);\n assertCorrect(t, config, question, ['answer1', 'answer4']);\n });\n\n test(`should return true even when the given answer does not have the same case as the accepted answers (matchOrder=${bool.toString()})`, t => {\n const question = createQuestion(bool, [['answer2']]);\n\n assertCorrect(t, config, question, ['ANSWER2']);\n });\n\n test(`should return false when the given answer is not in the accepted answers (matchOrder=${bool.toString()})`, t => {\n const question = createQuestion(bool, [\n ['answer1', 'answer3'],\n ['answer2', 'answer4'],\n ['answer1', 'answer4']\n ]);\n\n assertIncorrect(t, config, question, ['answer1', 'answer2'], [true, false]);\n if (bool) {\n assertIncorrect(t, config, question, ['answer2', 'answer1'], [true, false]);\n assertIncorrect(t, config, question, ['answer3', 'answer4'], [false, true]);\n } else {\n assertIncorrect(t, config, question, ['answer2', 'answer1'], [false, true]);\n assertIncorrect(t, config, question, ['answer3', 'answer4'], [true, false]);\n }\n });\n\n test(`should return false when the given answer has more elements that the accepted answers (matchOrder=${bool.toString()})`, t => {\n const question = createQuestion(bool, [\n ['answer1', 'answer3'],\n ['answer2', 'answer4'],\n ['answer1', 'answer4']\n ]);\n\n assertIncorrect(t, config, question, ['answer1', 'answer3', 'answer2'], [true, true, false]);\n if (bool) {\n assertIncorrect(t, config, question, ['answer1', 'answer5', 'answer3'], [true, false, false]);\n } else {\n assertIncorrect(t, config, question, ['answer1', 'answer5', 'answer3'], [true, false, true]);\n }\n });\n\n test(`should return false when the given answer has less elements that the accepted answers (matchOrder=${bool.toString()})`, t => {\n const question = createQuestion(bool, [\n ['answer1', 'answer3'],\n ['answer2', 'answer4'],\n ['answer1', 'answer4']\n ]);\n\n assertIncorrect(t, config, question, ['answer1'], [true]);\n assertIncorrect(t, config, question, ['answer2'], [true]);\n assertIncorrect(t, config, question, ['answer5'], [false]);\n assertIncorrect(t, config, question, [], []);\n });\n\n test(`should return false when the given answer is different but looks like the accepted answers (matchOrder=${bool.toString()})`, t => {\n const question = createQuestion(bool, [['answer2']]);\n\n assertIncorrect(t, config, question, ['answe2r'], [false]);\n });\n});\n\ntest('should return false when the given answer is in the accepted answers but values but in a different order (matchOrder=true)', t => {\n const question = createQuestion(true, [\n ['answer1', 'answer3'],\n ['answer2', 'answer4'],\n ['answer1', 'answer4']\n ]);\n\n assertIncorrect(t, config, question, ['answer3', 'answer1'], [false, false]);\n assertIncorrect(t, config, question, ['answer4', 'answer2'], [false, false]);\n assertIncorrect(t, config, question, ['answer4', 'answer1'], [false, false]);\n});\n\ntest('should return true when the given answer is in the accepted answers but values but in a different order (matchOrder=false)', t => {\n const question = createQuestion(false, [\n ['answer1', 'answer3'],\n ['answer2', 'answer4'],\n ['answer1', 'answer4']\n ]);\n\n assertCorrect(t, config, question, ['answer3', 'answer1']);\n assertCorrect(t, config, question, ['answer4', 'answer2']);\n assertCorrect(t, config, question, ['answer4', 'answer1']);\n});\n\ntest('should return false when there are no correct answers', t => {\n const question = createQuestion(false, []);\n\n assertIncorrectEmptyAnswer(t, config, question, []);\n assertIncorrectEmptyAnswer(t, config, question, ['foo']);\n});\n"],"file":"check-answer-correctness.qcm-drag.js"}
\No newline at end of file