@coorpacademy/player-web 4.9.10 → 4.9.12-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/map-state-to-props/answer.js +2 -1
- package/es/map-state-to-props/answer.js.map +1 -1
- package/es/map-state-to-props/test/answer.js +2 -1
- package/es/map-state-to-props/test/answer.js.map +1 -1
- package/lib/map-state-to-props/answer.js +2 -1
- package/lib/map-state-to-props/answer.js.map +1 -1
- package/lib/map-state-to-props/test/answer.js +2 -1
- package/lib/map-state-to-props/test/answer.js.map +1 -1
- package/package.json +3 -3
|
@@ -136,7 +136,8 @@ const templateSelectProps = (options, store) => {
|
|
|
136
136
|
type: choice.type,
|
|
137
137
|
name: choice.name,
|
|
138
138
|
onChange: _pipe(updateTemplateAnswer(answers, index, maxLength), editAnswerAction_(state, slide)),
|
|
139
|
-
options: _isEmpty(answer) ? [temporaryOption].concat(selectOptions) : selectOptions
|
|
139
|
+
options: _isEmpty(answer) ? [temporaryOption].concat(selectOptions) : selectOptions,
|
|
140
|
+
'aria-label': translate('Select an answer')
|
|
140
141
|
};
|
|
141
142
|
};
|
|
142
143
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"answer.js","names":["getChoices","getQuestionType","getAnswerValues","editAnswer","editAnswerAction","options","dispatch","newValue","qcmProps","store","getChoices_","editAnswerAction_","state","slide","answers","_editAnswerAction","props","type","choice","title","label","selected","onClick","qcmDragProps","indexInAnswer","order","qcmGraphicProps","image","updateTemplateAnswer","_answers","index","max","value","undefined","a","templateTextProps","translate","name","placeholder","onChange","templateSelectProps","answer","temporaryOption","validOption","selectOptions","items","map","item","text","maxLength","concat","templateProps","templateTextProps_","templateSelectProps_","template","question","content","basicProps","toAnswer","values","maxValue","position","sliderProps","step","min","stateValue","currentValue","indexValue","handleChange","sliderPosition","explanation","minLabel","unitLabel","maxLabel","createGetAnswerProps","qcmProps_","qcmGraphicProps_","qcmDragProps_","basicProps_","templateProps_","sliderProps_","Error","createGetHelp"],"sources":["../../src/map-state-to-props/answer.js"],"sourcesContent":["import {\n pipe,\n includes,\n toInteger,\n head,\n map,\n get,\n divide,\n multiply,\n __,\n round,\n size,\n constant,\n times,\n set,\n isEmpty,\n isNil,\n rangeStep,\n toString as _toString,\n indexOf\n} from 'lodash/fp';\nimport {getChoices, getQuestionType, getAnswerValues, editAnswer} from '@coorpacademy/player-store';\n\nconst editAnswerAction = (options, {dispatch}) =>\n constant(newValue => {\n return dispatch(editAnswer(newValue));\n });\n\nconst qcmProps = (options, store) => {\n const getChoices_ = getChoices();\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const answers = getAnswerValues(slide, state);\n const _editAnswerAction = editAnswerAction_(state, slide);\n\n const props = {\n type: 'qcm',\n answers: map(\n choice => ({\n title: choice.label,\n selected: includes(choice.label, answers),\n onClick: () => _editAnswerAction(choice)\n }),\n getChoices_(slide, state)\n )\n };\n\n return props;\n };\n};\n\nconst qcmDragProps = (options, store) => {\n const getChoices_ = getChoices();\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const answers = getAnswerValues(slide, state);\n return {\n type: 'qcmDrag',\n answers: map(choice => {\n const indexInAnswer = indexOf(choice.label, answers);\n return {\n title: choice.label,\n selected: indexInAnswer !== -1,\n order: indexInAnswer,\n onClick: () => editAnswerAction_(state, slide)(choice)\n };\n }, getChoices_(slide, state))\n };\n };\n};\n\nconst qcmGraphicProps = (options, store) => {\n const getChoices_ = getChoices();\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const answers = getAnswerValues(slide, state);\n return {\n type: 'qcmGraphic',\n answers: map(\n choice => ({\n title: choice.label,\n image: get('media.src.0.url', choice),\n selected: includes(choice.label, answers),\n onClick: () => editAnswerAction_(state, slide)(choice)\n }),\n getChoices_(slide, state)\n )\n };\n };\n};\n\nconst updateTemplateAnswer = (_answers, index, max) => value => {\n const answers = !_answers ? times(constant(undefined), max) : _answers;\n return map(a => (isNil(a) ? '' : a), set(index, value, answers));\n};\n\nconst templateTextProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide, choice, index) => {\n const {translate} = options;\n const answers = getAnswerValues(slide, state);\n return {\n type: choice.type,\n name: choice.name,\n placeholder: translate('Type here'),\n value: get(index, answers),\n onChange: pipe(updateTemplateAnswer(answers, index), editAnswerAction_(state, slide))\n };\n };\n};\n\nconst templateSelectProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide, choice, index) => {\n const {translate} = options;\n const answers = getAnswerValues(slide, state);\n const answer = get(index, answers);\n const temporaryOption = {\n name: translate('Select an answer'),\n value: '',\n validOption: false,\n selected: true\n };\n const selectOptions = choice.items.map(item => {\n return {\n name: item.text,\n value: item.text,\n validOption: true,\n selected: item.text === answer\n };\n });\n const maxLength = get('question.content.choices.length', slide);\n\n return {\n type: choice.type,\n name: choice.name,\n onChange: pipe(\n updateTemplateAnswer(answers, index, maxLength),\n editAnswerAction_(state, slide)\n ),\n options: isEmpty(answer) ? [temporaryOption].concat(selectOptions) : selectOptions\n };\n };\n};\n\nconst templateProps = (options, store) => {\n const getChoices_ = getChoices();\n const templateTextProps_ = templateTextProps(options, store);\n const templateSelectProps_ = templateSelectProps(options, store);\n\n return (state, slide) => {\n return {\n type: 'template',\n template: slide.question.content.template,\n answers: getChoices_(slide, state).map((choice, index) =>\n choice.type === 'text'\n ? templateTextProps_(state, slide, choice, index)\n : templateSelectProps_(state, slide, choice, index)\n )\n };\n };\n};\n\nconst basicProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const {translate} = options;\n return {\n type: 'freeText',\n placeholder: translate('Type here'),\n value: pipe(getAnswerValues, head)(slide, state),\n onChange: editAnswerAction_(state, slide)\n };\n };\n};\n\nconst toAnswer = values => {\n const maxValue = size(values) - 1;\n return position => {\n return pipe(multiply(maxValue), round, get(__, values), _toString)(position);\n };\n};\n\nconst sliderProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const values = rangeStep(\n slide.question.content.step || 1,\n slide.question.content.min,\n slide.question.content.max + 1\n );\n\n const stateValue = pipe(getAnswerValues, head)(slide, state);\n const currentValue = toInteger(stateValue);\n\n const indexValue = indexOf(currentValue, values);\n const handleChange = editAnswerAction_(state, slide);\n const sliderPosition = divide(indexValue, size(values) - 1);\n\n return {\n type: 'slider',\n placeholder: slide.question.explanation,\n minLabel: `${slide.question.content.min} ${slide.question.content.unitLabel}`,\n maxLabel: `${slide.question.content.max} ${slide.question.content.unitLabel}`,\n title: `${currentValue} ${slide.question.content.unitLabel}`,\n value: sliderPosition,\n onChange: pipe(toAnswer(values), handleChange)\n };\n };\n};\n\nconst createGetAnswerProps = (options, store) => {\n const qcmProps_ = qcmProps(options, store);\n const qcmGraphicProps_ = qcmGraphicProps(options, store);\n const qcmDragProps_ = qcmDragProps(options, store);\n const basicProps_ = basicProps(options, store);\n const templateProps_ = templateProps(options, store);\n const sliderProps_ = sliderProps(options, store);\n\n return (state, slide) => {\n if (!slide) {\n return;\n }\n const type = getQuestionType(slide);\n switch (type) {\n case 'qcm':\n return qcmProps_(state, slide);\n\n case 'qcmGraphic':\n return qcmGraphicProps_(state, slide);\n\n case 'qcmDrag':\n return qcmDragProps_(state, slide);\n\n case 'basic':\n return basicProps_(state, slide);\n\n case 'template':\n return templateProps_(state, slide);\n\n case 'slider':\n return sliderProps_(state, slide);\n\n default:\n throw new Error(`${type} is not an handled question.type`);\n }\n };\n};\n\nconst createGetHelp = (options, store) => slide => {\n const {translate} = options;\n return get('question.explanation', slide) || translate('Select something below');\n};\n\nexport {createGetAnswerProps, createGetHelp};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"answer.js","names":["getChoices","getQuestionType","getAnswerValues","editAnswer","editAnswerAction","options","dispatch","newValue","qcmProps","store","getChoices_","editAnswerAction_","state","slide","answers","_editAnswerAction","props","type","choice","title","label","selected","onClick","qcmDragProps","indexInAnswer","order","qcmGraphicProps","image","updateTemplateAnswer","_answers","index","max","value","undefined","a","templateTextProps","translate","name","placeholder","onChange","templateSelectProps","answer","temporaryOption","validOption","selectOptions","items","map","item","text","maxLength","concat","templateProps","templateTextProps_","templateSelectProps_","template","question","content","basicProps","toAnswer","values","maxValue","position","sliderProps","step","min","stateValue","currentValue","indexValue","handleChange","sliderPosition","explanation","minLabel","unitLabel","maxLabel","createGetAnswerProps","qcmProps_","qcmGraphicProps_","qcmDragProps_","basicProps_","templateProps_","sliderProps_","Error","createGetHelp"],"sources":["../../src/map-state-to-props/answer.js"],"sourcesContent":["import {\n pipe,\n includes,\n toInteger,\n head,\n map,\n get,\n divide,\n multiply,\n __,\n round,\n size,\n constant,\n times,\n set,\n isEmpty,\n isNil,\n rangeStep,\n toString as _toString,\n indexOf\n} from 'lodash/fp';\nimport {getChoices, getQuestionType, getAnswerValues, editAnswer} from '@coorpacademy/player-store';\n\nconst editAnswerAction = (options, {dispatch}) =>\n constant(newValue => {\n return dispatch(editAnswer(newValue));\n });\n\nconst qcmProps = (options, store) => {\n const getChoices_ = getChoices();\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const answers = getAnswerValues(slide, state);\n const _editAnswerAction = editAnswerAction_(state, slide);\n\n const props = {\n type: 'qcm',\n answers: map(\n choice => ({\n title: choice.label,\n selected: includes(choice.label, answers),\n onClick: () => _editAnswerAction(choice)\n }),\n getChoices_(slide, state)\n )\n };\n\n return props;\n };\n};\n\nconst qcmDragProps = (options, store) => {\n const getChoices_ = getChoices();\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const answers = getAnswerValues(slide, state);\n return {\n type: 'qcmDrag',\n answers: map(choice => {\n const indexInAnswer = indexOf(choice.label, answers);\n return {\n title: choice.label,\n selected: indexInAnswer !== -1,\n order: indexInAnswer,\n onClick: () => editAnswerAction_(state, slide)(choice)\n };\n }, getChoices_(slide, state))\n };\n };\n};\n\nconst qcmGraphicProps = (options, store) => {\n const getChoices_ = getChoices();\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const answers = getAnswerValues(slide, state);\n return {\n type: 'qcmGraphic',\n answers: map(\n choice => ({\n title: choice.label,\n image: get('media.src.0.url', choice),\n selected: includes(choice.label, answers),\n onClick: () => editAnswerAction_(state, slide)(choice)\n }),\n getChoices_(slide, state)\n )\n };\n };\n};\n\nconst updateTemplateAnswer = (_answers, index, max) => value => {\n const answers = !_answers ? times(constant(undefined), max) : _answers;\n return map(a => (isNil(a) ? '' : a), set(index, value, answers));\n};\n\nconst templateTextProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide, choice, index) => {\n const {translate} = options;\n const answers = getAnswerValues(slide, state);\n return {\n type: choice.type,\n name: choice.name,\n placeholder: translate('Type here'),\n value: get(index, answers),\n onChange: pipe(updateTemplateAnswer(answers, index), editAnswerAction_(state, slide))\n };\n };\n};\n\nconst templateSelectProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide, choice, index) => {\n const {translate} = options;\n const answers = getAnswerValues(slide, state);\n const answer = get(index, answers);\n const temporaryOption = {\n name: translate('Select an answer'),\n value: '',\n validOption: false,\n selected: true\n };\n const selectOptions = choice.items.map(item => {\n return {\n name: item.text,\n value: item.text,\n validOption: true,\n selected: item.text === answer\n };\n });\n const maxLength = get('question.content.choices.length', slide);\n\n return {\n type: choice.type,\n name: choice.name,\n onChange: pipe(\n updateTemplateAnswer(answers, index, maxLength),\n editAnswerAction_(state, slide)\n ),\n options: isEmpty(answer) ? [temporaryOption].concat(selectOptions) : selectOptions,\n 'aria-label': translate('Select an answer')\n };\n };\n};\n\nconst templateProps = (options, store) => {\n const getChoices_ = getChoices();\n const templateTextProps_ = templateTextProps(options, store);\n const templateSelectProps_ = templateSelectProps(options, store);\n\n return (state, slide) => {\n return {\n type: 'template',\n template: slide.question.content.template,\n answers: getChoices_(slide, state).map((choice, index) =>\n choice.type === 'text'\n ? templateTextProps_(state, slide, choice, index)\n : templateSelectProps_(state, slide, choice, index)\n )\n };\n };\n};\n\nconst basicProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const {translate} = options;\n return {\n type: 'freeText',\n placeholder: translate('Type here'),\n value: pipe(getAnswerValues, head)(slide, state),\n onChange: editAnswerAction_(state, slide)\n };\n };\n};\n\nconst toAnswer = values => {\n const maxValue = size(values) - 1;\n return position => {\n return pipe(multiply(maxValue), round, get(__, values), _toString)(position);\n };\n};\n\nconst sliderProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const values = rangeStep(\n slide.question.content.step || 1,\n slide.question.content.min,\n slide.question.content.max + 1\n );\n\n const stateValue = pipe(getAnswerValues, head)(slide, state);\n const currentValue = toInteger(stateValue);\n\n const indexValue = indexOf(currentValue, values);\n const handleChange = editAnswerAction_(state, slide);\n const sliderPosition = divide(indexValue, size(values) - 1);\n\n return {\n type: 'slider',\n placeholder: slide.question.explanation,\n minLabel: `${slide.question.content.min} ${slide.question.content.unitLabel}`,\n maxLabel: `${slide.question.content.max} ${slide.question.content.unitLabel}`,\n title: `${currentValue} ${slide.question.content.unitLabel}`,\n value: sliderPosition,\n onChange: pipe(toAnswer(values), handleChange)\n };\n };\n};\n\nconst createGetAnswerProps = (options, store) => {\n const qcmProps_ = qcmProps(options, store);\n const qcmGraphicProps_ = qcmGraphicProps(options, store);\n const qcmDragProps_ = qcmDragProps(options, store);\n const basicProps_ = basicProps(options, store);\n const templateProps_ = templateProps(options, store);\n const sliderProps_ = sliderProps(options, store);\n\n return (state, slide) => {\n if (!slide) {\n return;\n }\n const type = getQuestionType(slide);\n switch (type) {\n case 'qcm':\n return qcmProps_(state, slide);\n\n case 'qcmGraphic':\n return qcmGraphicProps_(state, slide);\n\n case 'qcmDrag':\n return qcmDragProps_(state, slide);\n\n case 'basic':\n return basicProps_(state, slide);\n\n case 'template':\n return templateProps_(state, slide);\n\n case 'slider':\n return sliderProps_(state, slide);\n\n default:\n throw new Error(`${type} is not an handled question.type`);\n }\n };\n};\n\nconst createGetHelp = (options, store) => slide => {\n const {translate} = options;\n return get('question.explanation', slide) || translate('Select something below');\n};\n\nexport {createGetAnswerProps, createGetHelp};\n"],"mappings":"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"}
|
|
@@ -71,7 +71,7 @@ test('should create edited qcm props', t => {
|
|
|
71
71
|
t.true(_isFunction(props.answers[0].onClick));
|
|
72
72
|
});
|
|
73
73
|
test('should create edited template props', t => {
|
|
74
|
-
t.plan(
|
|
74
|
+
t.plan(24);
|
|
75
75
|
const state = {
|
|
76
76
|
ui: {
|
|
77
77
|
answers: {
|
|
@@ -104,6 +104,7 @@ test('should create edited template props', t => {
|
|
|
104
104
|
t.true(_isFunction(props.answers[0].onChange));
|
|
105
105
|
t.is(props.answers[1].type, 'select');
|
|
106
106
|
t.is(props.answers[1].name, 'sel31191');
|
|
107
|
+
t.is(props.answers[1]['aria-label'], '__Select an answer');
|
|
107
108
|
t.true(_isFunction(props.answers[1].onChange));
|
|
108
109
|
const selectOptions = props.answers[1].options;
|
|
109
110
|
t.true(Array.isArray(selectOptions));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"answer.js","names":["test","mockTranslate","createGetAnswerProps","createGetHelp","basic","qcm","qcmDrag","qcmGraphic","template","slider","options","translate","store","dispatch","getAnswerProps","getHelp","t","plan","state","ui","current","progressionId","_getAnswerProps","thunk","true","props","is","type","answers","every","answer","selected","onClick","value","length","title","false","Array","isArray","name","placeholder","onChange","selectOptions","validOption","data","configs","entities","version","shuffleChoices","progressions","engine","ref","deepEqual","order","action","pass","minLabel","maxLabel","help","help1","help2"],"sources":["../../../src/map-state-to-props/test/answer.js"],"sourcesContent":["import test from 'ava';\nimport {omit, isFunction, identity, sortBy, pipe, map, pick} from 'lodash/fp';\n\nimport {mockTranslate} from '@coorpacademy/translate';\nimport {createGetAnswerProps, createGetHelp} from '../answer';\nimport basic from './fixtures/slides/basic';\nimport qcm from './fixtures/slides/qcm';\nimport qcmDrag from './fixtures/slides/qcm-drag';\nimport qcmGraphic from './fixtures/slides/qcm-graphic';\nimport template from './fixtures/slides/template';\nimport slider from './fixtures/slides/slider';\n\nconst options = {translate: mockTranslate};\nconst store = {dispatch: identity};\nconst getAnswerProps = createGetAnswerProps(options, store);\nconst getHelp = createGetHelp(options, store);\n\ntest('should create initial qcm props', t => {\n t.plan(3);\n\n const state = {\n ui: {\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, qcm);\n\n t.is(props.type, 'qcm');\n t.true(props.answers.every(answer => answer.selected === false));\n\n props.answers[0].onClick();\n});\n\ntest('should create edited qcm props', t => {\n const state = {\n ui: {\n answers: {1234: {value: ['Case 1', 'Case 3']}},\n current: {progressionId: '1234'}\n }\n };\n\n const props = getAnswerProps(state, qcm);\n\n t.is(props.type, 'qcm');\n t.is(props.answers.length, 4);\n t.is(props.answers[0].title, 'Case 1');\n t.true(props.answers[0].selected);\n t.is(props.answers[1].title, 'Case 2');\n t.false(props.answers[1].selected);\n t.is(props.answers[2].title, 'Case 3');\n t.true(props.answers[2].selected);\n t.is(props.answers[3].title, 'Case 4');\n t.false(props.answers[3].selected);\n t.true(isFunction(props.answers[0].onClick));\n});\n\ntest('should create edited template props', t => {\n t.plan(23);\n\n const state = {\n ui: {\n answers: {1234: {value: ['foo', 'exclusive']}},\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, template);\n t.is(props.type, 'template');\n t.is(props.template, 'The answer is {{inp81438}} {{sel31191}}');\n t.true(Array.isArray(props.answers));\n t.is(props.answers.length, 2);\n t.is(props.answers[0].type, 'text');\n t.is(props.answers[0].name, 'inp81438');\n t.is(props.answers[0].placeholder, '__Type here');\n t.is(props.answers[0].value, 'foo');\n t.true(isFunction(props.answers[0].onChange));\n t.is(props.answers[1].type, 'select');\n t.is(props.answers[1].name, 'sel31191');\n t.true(isFunction(props.answers[1].onChange));\n const selectOptions = props.answers[1].options;\n t.true(Array.isArray(selectOptions));\n t.is(selectOptions.length, 2);\n t.is(selectOptions[0].name, 'temporary');\n t.is(selectOptions[0].value, 'temporary');\n t.false(selectOptions[0].selected);\n t.true(selectOptions[0].validOption);\n t.is(selectOptions[1].name, 'exclusive');\n t.is(selectOptions[1].value, 'exclusive');\n t.true(selectOptions[1].selected);\n t.true(selectOptions[1].validOption);\n\n props.answers[1].onChange();\n});\n\ntest('should add an invalid `select an answer` choice for a select field in a template question if there are no answers for it', t => {\n t.plan(13);\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, template);\n const selectOptions = props.answers[1].options;\n\n t.is(selectOptions.length, 3);\n t.is(selectOptions[0].name, '__Select an answer');\n t.true(selectOptions[0].selected);\n t.false(selectOptions[0].validOption);\n t.is(selectOptions[1].name, 'temporary');\n t.is(selectOptions[1].value, 'temporary');\n t.false(selectOptions[1].selected);\n t.true(selectOptions[1].validOption);\n t.is(selectOptions[2].name, 'exclusive');\n t.is(selectOptions[2].value, 'exclusive');\n t.false(selectOptions[2].selected);\n t.true(selectOptions[2].validOption);\n\n props.answers[1].onChange();\n});\n\ntest('should create initial qcmGraphic props', t => {\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n const props = getAnswerProps(state, qcmGraphic);\n t.is(props.type, 'qcmGraphic');\n t.is(props.answers.length, 2);\n t.true(props.answers.every(answer => answer.selected === false));\n});\n\ntest('should create edited qcmGraphic props', t => {\n t.plan(5);\n const state = {\n data: {\n configs: {\n entities: {\n 'learner@2': {\n version: '2',\n shuffleChoices: true\n }\n }\n },\n progressions: {\n entities: {\n 1234: {\n engine: {\n ref: 'learner',\n version: '2'\n }\n }\n }\n }\n },\n ui: {\n answers: {1234: {value: ['Vrai']}},\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, qcmGraphic);\n\n t.is(props.type, 'qcmGraphic');\n t.is(props.answers.length, 2);\n\n const answers = pipe(map(pick(['title', 'selected'])), sortBy('title'))(props.answers);\n t.deepEqual(answers, [\n {title: 'Faux', selected: false},\n {title: 'Vrai', selected: true}\n ]);\n\n t.true(isFunction(props.answers[0].onClick));\n\n props.answers[0].onClick();\n});\n\ntest('should create initial qcmDrag props', t => {\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n const props = getAnswerProps(state, qcmDrag);\n t.is(props.type, 'qcmDrag');\n t.is(props.answers.length, 3);\n t.is(props.answers[0].title, \"L'ordinateur\");\n t.false(props.answers[0].selected);\n t.true(isFunction(props.answers[0].onClick));\n t.is(props.answers[1].title, 'La tablette');\n t.false(props.answers[1].selected);\n t.true(isFunction(props.answers[1].onClick));\n t.is(props.answers[2].title, 'Le smartphone');\n t.false(props.answers[2].selected);\n t.true(isFunction(props.answers[2].onClick));\n});\n\ntest('should create edited qcmDrag props', t => {\n t.plan(14);\n const state = {\n ui: {\n answers: {1234: {value: ['Le smartphone', \"L'ordinateur\"]}},\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, qcmDrag);\n\n t.is(props.type, 'qcmDrag');\n t.is(props.answers.length, 3);\n\n t.is(props.answers[0].title, \"L'ordinateur\");\n t.true(props.answers[0].selected);\n t.is(props.answers[0].order, 1);\n t.true(isFunction(props.answers[0].onClick));\n t.is(props.answers[1].title, 'La tablette');\n t.false(props.answers[1].selected);\n t.true(isFunction(props.answers[1].onClick));\n t.is(props.answers[2].title, 'Le smartphone');\n t.true(props.answers[2].selected);\n t.is(props.answers[2].order, 0);\n t.true(isFunction(props.answers[2].onClick));\n\n props.answers[2].onClick();\n});\n\ntest('should create initial slider props', t => {\n t.plan(8);\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n\n const dispatch = action => {\n t.pass();\n };\n\n const props = createGetAnswerProps(options, {dispatch})(state, slider);\n\n t.is(props.type, 'slider');\n t.is(props.placeholder, 'Déplacez le curseur.');\n t.is(props.minLabel, '0 an(s)');\n t.is(props.maxLabel, '1000 an(s)');\n t.is(props.title, '500 an(s)');\n t.is(props.value, 0.5);\n t.true(isFunction(props.onChange));\n\n props.onChange(0.87);\n});\n\ntest('should default slider step to 1', t => {\n t.plan(2);\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n\n const dispatch = action => {\n t.pass();\n };\n\n const props = createGetAnswerProps(options, {dispatch})(\n state,\n omit('question.content.step', slider)\n );\n\n t.true(isFunction(props.onChange));\n\n props.onChange(0.87);\n});\n\ntest('should create edited slider props', t => {\n const state = {\n ui: {\n answers: {1234: {value: ['300']}},\n current: {progressionId: '1234'}\n }\n };\n\n const props = getAnswerProps(state, slider);\n t.is(props.title, '300 an(s)');\n t.is(props.value, 0.3);\n});\n\ntest('should create initial basic props', t => {\n const state = {\n ui: {\n answers: {},\n current: {progressionId: null}\n }\n };\n const props = getAnswerProps(state, basic);\n t.is(props.type, 'freeText');\n});\n\ntest('should create edited basic props', t => {\n const state = {\n ui: {\n answers: {1234: {value: ['foo']}},\n current: {progressionId: '1234'}\n }\n };\n\n const props = getAnswerProps(state, basic);\n t.is(props.type, 'freeText');\n t.is(props.value, 'foo');\n t.true(isFunction(props.onChange));\n});\n\ntest('should provide an help subtitle depending on question.type', t => {\n const help = getHelp(qcmDrag);\n t.is(help, 'Cliquez sur les réponses dans le bon ordre.');\n const help1 = getHelp(template);\n t.is(help1, 'Type your answers');\n const help2 = getHelp(qcm);\n t.is(help2, '__Select something below');\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"answer.js","names":["test","mockTranslate","createGetAnswerProps","createGetHelp","basic","qcm","qcmDrag","qcmGraphic","template","slider","options","translate","store","dispatch","getAnswerProps","getHelp","t","plan","state","ui","current","progressionId","_getAnswerProps","thunk","true","props","is","type","answers","every","answer","selected","onClick","value","length","title","false","Array","isArray","name","placeholder","onChange","selectOptions","validOption","data","configs","entities","version","shuffleChoices","progressions","engine","ref","deepEqual","order","action","pass","minLabel","maxLabel","help","help1","help2"],"sources":["../../../src/map-state-to-props/test/answer.js"],"sourcesContent":["import test from 'ava';\nimport {omit, isFunction, identity, sortBy, pipe, map, pick} from 'lodash/fp';\n\nimport {mockTranslate} from '@coorpacademy/translate';\nimport {createGetAnswerProps, createGetHelp} from '../answer';\nimport basic from './fixtures/slides/basic';\nimport qcm from './fixtures/slides/qcm';\nimport qcmDrag from './fixtures/slides/qcm-drag';\nimport qcmGraphic from './fixtures/slides/qcm-graphic';\nimport template from './fixtures/slides/template';\nimport slider from './fixtures/slides/slider';\n\nconst options = {translate: mockTranslate};\nconst store = {dispatch: identity};\nconst getAnswerProps = createGetAnswerProps(options, store);\nconst getHelp = createGetHelp(options, store);\n\ntest('should create initial qcm props', t => {\n t.plan(3);\n\n const state = {\n ui: {\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, qcm);\n\n t.is(props.type, 'qcm');\n t.true(props.answers.every(answer => answer.selected === false));\n\n props.answers[0].onClick();\n});\n\ntest('should create edited qcm props', t => {\n const state = {\n ui: {\n answers: {1234: {value: ['Case 1', 'Case 3']}},\n current: {progressionId: '1234'}\n }\n };\n\n const props = getAnswerProps(state, qcm);\n\n t.is(props.type, 'qcm');\n t.is(props.answers.length, 4);\n t.is(props.answers[0].title, 'Case 1');\n t.true(props.answers[0].selected);\n t.is(props.answers[1].title, 'Case 2');\n t.false(props.answers[1].selected);\n t.is(props.answers[2].title, 'Case 3');\n t.true(props.answers[2].selected);\n t.is(props.answers[3].title, 'Case 4');\n t.false(props.answers[3].selected);\n t.true(isFunction(props.answers[0].onClick));\n});\n\ntest('should create edited template props', t => {\n t.plan(24);\n\n const state = {\n ui: {\n answers: {1234: {value: ['foo', 'exclusive']}},\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, template);\n t.is(props.type, 'template');\n t.is(props.template, 'The answer is {{inp81438}} {{sel31191}}');\n t.true(Array.isArray(props.answers));\n t.is(props.answers.length, 2);\n t.is(props.answers[0].type, 'text');\n t.is(props.answers[0].name, 'inp81438');\n t.is(props.answers[0].placeholder, '__Type here');\n t.is(props.answers[0].value, 'foo');\n t.true(isFunction(props.answers[0].onChange));\n t.is(props.answers[1].type, 'select');\n t.is(props.answers[1].name, 'sel31191');\n t.is(props.answers[1]['aria-label'], '__Select an answer');\n t.true(isFunction(props.answers[1].onChange));\n const selectOptions = props.answers[1].options;\n t.true(Array.isArray(selectOptions));\n t.is(selectOptions.length, 2);\n t.is(selectOptions[0].name, 'temporary');\n t.is(selectOptions[0].value, 'temporary');\n t.false(selectOptions[0].selected);\n t.true(selectOptions[0].validOption);\n t.is(selectOptions[1].name, 'exclusive');\n t.is(selectOptions[1].value, 'exclusive');\n t.true(selectOptions[1].selected);\n t.true(selectOptions[1].validOption);\n\n props.answers[1].onChange();\n});\n\ntest('should add an invalid `select an answer` choice for a select field in a template question if there are no answers for it', t => {\n t.plan(13);\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, template);\n const selectOptions = props.answers[1].options;\n\n t.is(selectOptions.length, 3);\n t.is(selectOptions[0].name, '__Select an answer');\n t.true(selectOptions[0].selected);\n t.false(selectOptions[0].validOption);\n t.is(selectOptions[1].name, 'temporary');\n t.is(selectOptions[1].value, 'temporary');\n t.false(selectOptions[1].selected);\n t.true(selectOptions[1].validOption);\n t.is(selectOptions[2].name, 'exclusive');\n t.is(selectOptions[2].value, 'exclusive');\n t.false(selectOptions[2].selected);\n t.true(selectOptions[2].validOption);\n\n props.answers[1].onChange();\n});\n\ntest('should create initial qcmGraphic props', t => {\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n const props = getAnswerProps(state, qcmGraphic);\n t.is(props.type, 'qcmGraphic');\n t.is(props.answers.length, 2);\n t.true(props.answers.every(answer => answer.selected === false));\n});\n\ntest('should create edited qcmGraphic props', t => {\n t.plan(5);\n const state = {\n data: {\n configs: {\n entities: {\n 'learner@2': {\n version: '2',\n shuffleChoices: true\n }\n }\n },\n progressions: {\n entities: {\n 1234: {\n engine: {\n ref: 'learner',\n version: '2'\n }\n }\n }\n }\n },\n ui: {\n answers: {1234: {value: ['Vrai']}},\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, qcmGraphic);\n\n t.is(props.type, 'qcmGraphic');\n t.is(props.answers.length, 2);\n\n const answers = pipe(map(pick(['title', 'selected'])), sortBy('title'))(props.answers);\n t.deepEqual(answers, [\n {title: 'Faux', selected: false},\n {title: 'Vrai', selected: true}\n ]);\n\n t.true(isFunction(props.answers[0].onClick));\n\n props.answers[0].onClick();\n});\n\ntest('should create initial qcmDrag props', t => {\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n const props = getAnswerProps(state, qcmDrag);\n t.is(props.type, 'qcmDrag');\n t.is(props.answers.length, 3);\n t.is(props.answers[0].title, \"L'ordinateur\");\n t.false(props.answers[0].selected);\n t.true(isFunction(props.answers[0].onClick));\n t.is(props.answers[1].title, 'La tablette');\n t.false(props.answers[1].selected);\n t.true(isFunction(props.answers[1].onClick));\n t.is(props.answers[2].title, 'Le smartphone');\n t.false(props.answers[2].selected);\n t.true(isFunction(props.answers[2].onClick));\n});\n\ntest('should create edited qcmDrag props', t => {\n t.plan(14);\n const state = {\n ui: {\n answers: {1234: {value: ['Le smartphone', \"L'ordinateur\"]}},\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, qcmDrag);\n\n t.is(props.type, 'qcmDrag');\n t.is(props.answers.length, 3);\n\n t.is(props.answers[0].title, \"L'ordinateur\");\n t.true(props.answers[0].selected);\n t.is(props.answers[0].order, 1);\n t.true(isFunction(props.answers[0].onClick));\n t.is(props.answers[1].title, 'La tablette');\n t.false(props.answers[1].selected);\n t.true(isFunction(props.answers[1].onClick));\n t.is(props.answers[2].title, 'Le smartphone');\n t.true(props.answers[2].selected);\n t.is(props.answers[2].order, 0);\n t.true(isFunction(props.answers[2].onClick));\n\n props.answers[2].onClick();\n});\n\ntest('should create initial slider props', t => {\n t.plan(8);\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n\n const dispatch = action => {\n t.pass();\n };\n\n const props = createGetAnswerProps(options, {dispatch})(state, slider);\n\n t.is(props.type, 'slider');\n t.is(props.placeholder, 'Déplacez le curseur.');\n t.is(props.minLabel, '0 an(s)');\n t.is(props.maxLabel, '1000 an(s)');\n t.is(props.title, '500 an(s)');\n t.is(props.value, 0.5);\n t.true(isFunction(props.onChange));\n\n props.onChange(0.87);\n});\n\ntest('should default slider step to 1', t => {\n t.plan(2);\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n\n const dispatch = action => {\n t.pass();\n };\n\n const props = createGetAnswerProps(options, {dispatch})(\n state,\n omit('question.content.step', slider)\n );\n\n t.true(isFunction(props.onChange));\n\n props.onChange(0.87);\n});\n\ntest('should create edited slider props', t => {\n const state = {\n ui: {\n answers: {1234: {value: ['300']}},\n current: {progressionId: '1234'}\n }\n };\n\n const props = getAnswerProps(state, slider);\n t.is(props.title, '300 an(s)');\n t.is(props.value, 0.3);\n});\n\ntest('should create initial basic props', t => {\n const state = {\n ui: {\n answers: {},\n current: {progressionId: null}\n }\n };\n const props = getAnswerProps(state, basic);\n t.is(props.type, 'freeText');\n});\n\ntest('should create edited basic props', t => {\n const state = {\n ui: {\n answers: {1234: {value: ['foo']}},\n current: {progressionId: '1234'}\n }\n };\n\n const props = getAnswerProps(state, basic);\n t.is(props.type, 'freeText');\n t.is(props.value, 'foo');\n t.true(isFunction(props.onChange));\n});\n\ntest('should provide an help subtitle depending on question.type', t => {\n const help = getHelp(qcmDrag);\n t.is(help, 'Cliquez sur les réponses dans le bon ordre.');\n const help1 = getHelp(template);\n t.is(help1, 'Type your answers');\n const help2 = getHelp(qcm);\n t.is(help2, '__Select something below');\n});\n"],"mappings":"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"}
|
|
@@ -157,7 +157,8 @@ const templateSelectProps = (options, store) => {
|
|
|
157
157
|
type: choice.type,
|
|
158
158
|
name: choice.name,
|
|
159
159
|
onChange: (0, _pipe2.default)(updateTemplateAnswer(answers, index, maxLength), editAnswerAction_(state, slide)),
|
|
160
|
-
options: (0, _isEmpty2.default)(answer) ? [temporaryOption].concat(selectOptions) : selectOptions
|
|
160
|
+
options: (0, _isEmpty2.default)(answer) ? [temporaryOption].concat(selectOptions) : selectOptions,
|
|
161
|
+
'aria-label': translate('Select an answer')
|
|
161
162
|
};
|
|
162
163
|
};
|
|
163
164
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"answer.js","names":["editAnswerAction","options","dispatch","newValue","editAnswer","qcmProps","store","getChoices_","getChoices","editAnswerAction_","state","slide","answers","getAnswerValues","_editAnswerAction","props","type","choice","title","label","selected","onClick","qcmDragProps","indexInAnswer","order","qcmGraphicProps","image","updateTemplateAnswer","_answers","index","max","value","undefined","a","templateTextProps","translate","name","placeholder","onChange","templateSelectProps","answer","temporaryOption","validOption","selectOptions","items","map","item","text","maxLength","concat","templateProps","templateTextProps_","templateSelectProps_","template","question","content","basicProps","toAnswer","values","maxValue","position","sliderProps","step","min","stateValue","currentValue","indexValue","handleChange","sliderPosition","explanation","minLabel","unitLabel","maxLabel","createGetAnswerProps","qcmProps_","qcmGraphicProps_","qcmDragProps_","basicProps_","templateProps_","sliderProps_","getQuestionType","Error","createGetHelp"],"sources":["../../src/map-state-to-props/answer.js"],"sourcesContent":["import {\n pipe,\n includes,\n toInteger,\n head,\n map,\n get,\n divide,\n multiply,\n __,\n round,\n size,\n constant,\n times,\n set,\n isEmpty,\n isNil,\n rangeStep,\n toString as _toString,\n indexOf\n} from 'lodash/fp';\nimport {getChoices, getQuestionType, getAnswerValues, editAnswer} from '@coorpacademy/player-store';\n\nconst editAnswerAction = (options, {dispatch}) =>\n constant(newValue => {\n return dispatch(editAnswer(newValue));\n });\n\nconst qcmProps = (options, store) => {\n const getChoices_ = getChoices();\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const answers = getAnswerValues(slide, state);\n const _editAnswerAction = editAnswerAction_(state, slide);\n\n const props = {\n type: 'qcm',\n answers: map(\n choice => ({\n title: choice.label,\n selected: includes(choice.label, answers),\n onClick: () => _editAnswerAction(choice)\n }),\n getChoices_(slide, state)\n )\n };\n\n return props;\n };\n};\n\nconst qcmDragProps = (options, store) => {\n const getChoices_ = getChoices();\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const answers = getAnswerValues(slide, state);\n return {\n type: 'qcmDrag',\n answers: map(choice => {\n const indexInAnswer = indexOf(choice.label, answers);\n return {\n title: choice.label,\n selected: indexInAnswer !== -1,\n order: indexInAnswer,\n onClick: () => editAnswerAction_(state, slide)(choice)\n };\n }, getChoices_(slide, state))\n };\n };\n};\n\nconst qcmGraphicProps = (options, store) => {\n const getChoices_ = getChoices();\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const answers = getAnswerValues(slide, state);\n return {\n type: 'qcmGraphic',\n answers: map(\n choice => ({\n title: choice.label,\n image: get('media.src.0.url', choice),\n selected: includes(choice.label, answers),\n onClick: () => editAnswerAction_(state, slide)(choice)\n }),\n getChoices_(slide, state)\n )\n };\n };\n};\n\nconst updateTemplateAnswer = (_answers, index, max) => value => {\n const answers = !_answers ? times(constant(undefined), max) : _answers;\n return map(a => (isNil(a) ? '' : a), set(index, value, answers));\n};\n\nconst templateTextProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide, choice, index) => {\n const {translate} = options;\n const answers = getAnswerValues(slide, state);\n return {\n type: choice.type,\n name: choice.name,\n placeholder: translate('Type here'),\n value: get(index, answers),\n onChange: pipe(updateTemplateAnswer(answers, index), editAnswerAction_(state, slide))\n };\n };\n};\n\nconst templateSelectProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide, choice, index) => {\n const {translate} = options;\n const answers = getAnswerValues(slide, state);\n const answer = get(index, answers);\n const temporaryOption = {\n name: translate('Select an answer'),\n value: '',\n validOption: false,\n selected: true\n };\n const selectOptions = choice.items.map(item => {\n return {\n name: item.text,\n value: item.text,\n validOption: true,\n selected: item.text === answer\n };\n });\n const maxLength = get('question.content.choices.length', slide);\n\n return {\n type: choice.type,\n name: choice.name,\n onChange: pipe(\n updateTemplateAnswer(answers, index, maxLength),\n editAnswerAction_(state, slide)\n ),\n options: isEmpty(answer) ? [temporaryOption].concat(selectOptions) : selectOptions\n };\n };\n};\n\nconst templateProps = (options, store) => {\n const getChoices_ = getChoices();\n const templateTextProps_ = templateTextProps(options, store);\n const templateSelectProps_ = templateSelectProps(options, store);\n\n return (state, slide) => {\n return {\n type: 'template',\n template: slide.question.content.template,\n answers: getChoices_(slide, state).map((choice, index) =>\n choice.type === 'text'\n ? templateTextProps_(state, slide, choice, index)\n : templateSelectProps_(state, slide, choice, index)\n )\n };\n };\n};\n\nconst basicProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const {translate} = options;\n return {\n type: 'freeText',\n placeholder: translate('Type here'),\n value: pipe(getAnswerValues, head)(slide, state),\n onChange: editAnswerAction_(state, slide)\n };\n };\n};\n\nconst toAnswer = values => {\n const maxValue = size(values) - 1;\n return position => {\n return pipe(multiply(maxValue), round, get(__, values), _toString)(position);\n };\n};\n\nconst sliderProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const values = rangeStep(\n slide.question.content.step || 1,\n slide.question.content.min,\n slide.question.content.max + 1\n );\n\n const stateValue = pipe(getAnswerValues, head)(slide, state);\n const currentValue = toInteger(stateValue);\n\n const indexValue = indexOf(currentValue, values);\n const handleChange = editAnswerAction_(state, slide);\n const sliderPosition = divide(indexValue, size(values) - 1);\n\n return {\n type: 'slider',\n placeholder: slide.question.explanation,\n minLabel: `${slide.question.content.min} ${slide.question.content.unitLabel}`,\n maxLabel: `${slide.question.content.max} ${slide.question.content.unitLabel}`,\n title: `${currentValue} ${slide.question.content.unitLabel}`,\n value: sliderPosition,\n onChange: pipe(toAnswer(values), handleChange)\n };\n };\n};\n\nconst createGetAnswerProps = (options, store) => {\n const qcmProps_ = qcmProps(options, store);\n const qcmGraphicProps_ = qcmGraphicProps(options, store);\n const qcmDragProps_ = qcmDragProps(options, store);\n const basicProps_ = basicProps(options, store);\n const templateProps_ = templateProps(options, store);\n const sliderProps_ = sliderProps(options, store);\n\n return (state, slide) => {\n if (!slide) {\n return;\n }\n const type = getQuestionType(slide);\n switch (type) {\n case 'qcm':\n return qcmProps_(state, slide);\n\n case 'qcmGraphic':\n return qcmGraphicProps_(state, slide);\n\n case 'qcmDrag':\n return qcmDragProps_(state, slide);\n\n case 'basic':\n return basicProps_(state, slide);\n\n case 'template':\n return templateProps_(state, slide);\n\n case 'slider':\n return sliderProps_(state, slide);\n\n default:\n throw new Error(`${type} is not an handled question.type`);\n }\n };\n};\n\nconst createGetHelp = (options, store) => slide => {\n const {translate} = options;\n return get('question.explanation', slide) || translate('Select something below');\n};\n\nexport {createGetAnswerProps, createGetHelp};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"answer.js","names":["editAnswerAction","options","dispatch","newValue","editAnswer","qcmProps","store","getChoices_","getChoices","editAnswerAction_","state","slide","answers","getAnswerValues","_editAnswerAction","props","type","choice","title","label","selected","onClick","qcmDragProps","indexInAnswer","order","qcmGraphicProps","image","updateTemplateAnswer","_answers","index","max","value","undefined","a","templateTextProps","translate","name","placeholder","onChange","templateSelectProps","answer","temporaryOption","validOption","selectOptions","items","map","item","text","maxLength","concat","templateProps","templateTextProps_","templateSelectProps_","template","question","content","basicProps","toAnswer","values","maxValue","position","sliderProps","step","min","stateValue","currentValue","indexValue","handleChange","sliderPosition","explanation","minLabel","unitLabel","maxLabel","createGetAnswerProps","qcmProps_","qcmGraphicProps_","qcmDragProps_","basicProps_","templateProps_","sliderProps_","getQuestionType","Error","createGetHelp"],"sources":["../../src/map-state-to-props/answer.js"],"sourcesContent":["import {\n pipe,\n includes,\n toInteger,\n head,\n map,\n get,\n divide,\n multiply,\n __,\n round,\n size,\n constant,\n times,\n set,\n isEmpty,\n isNil,\n rangeStep,\n toString as _toString,\n indexOf\n} from 'lodash/fp';\nimport {getChoices, getQuestionType, getAnswerValues, editAnswer} from '@coorpacademy/player-store';\n\nconst editAnswerAction = (options, {dispatch}) =>\n constant(newValue => {\n return dispatch(editAnswer(newValue));\n });\n\nconst qcmProps = (options, store) => {\n const getChoices_ = getChoices();\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const answers = getAnswerValues(slide, state);\n const _editAnswerAction = editAnswerAction_(state, slide);\n\n const props = {\n type: 'qcm',\n answers: map(\n choice => ({\n title: choice.label,\n selected: includes(choice.label, answers),\n onClick: () => _editAnswerAction(choice)\n }),\n getChoices_(slide, state)\n )\n };\n\n return props;\n };\n};\n\nconst qcmDragProps = (options, store) => {\n const getChoices_ = getChoices();\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const answers = getAnswerValues(slide, state);\n return {\n type: 'qcmDrag',\n answers: map(choice => {\n const indexInAnswer = indexOf(choice.label, answers);\n return {\n title: choice.label,\n selected: indexInAnswer !== -1,\n order: indexInAnswer,\n onClick: () => editAnswerAction_(state, slide)(choice)\n };\n }, getChoices_(slide, state))\n };\n };\n};\n\nconst qcmGraphicProps = (options, store) => {\n const getChoices_ = getChoices();\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const answers = getAnswerValues(slide, state);\n return {\n type: 'qcmGraphic',\n answers: map(\n choice => ({\n title: choice.label,\n image: get('media.src.0.url', choice),\n selected: includes(choice.label, answers),\n onClick: () => editAnswerAction_(state, slide)(choice)\n }),\n getChoices_(slide, state)\n )\n };\n };\n};\n\nconst updateTemplateAnswer = (_answers, index, max) => value => {\n const answers = !_answers ? times(constant(undefined), max) : _answers;\n return map(a => (isNil(a) ? '' : a), set(index, value, answers));\n};\n\nconst templateTextProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide, choice, index) => {\n const {translate} = options;\n const answers = getAnswerValues(slide, state);\n return {\n type: choice.type,\n name: choice.name,\n placeholder: translate('Type here'),\n value: get(index, answers),\n onChange: pipe(updateTemplateAnswer(answers, index), editAnswerAction_(state, slide))\n };\n };\n};\n\nconst templateSelectProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide, choice, index) => {\n const {translate} = options;\n const answers = getAnswerValues(slide, state);\n const answer = get(index, answers);\n const temporaryOption = {\n name: translate('Select an answer'),\n value: '',\n validOption: false,\n selected: true\n };\n const selectOptions = choice.items.map(item => {\n return {\n name: item.text,\n value: item.text,\n validOption: true,\n selected: item.text === answer\n };\n });\n const maxLength = get('question.content.choices.length', slide);\n\n return {\n type: choice.type,\n name: choice.name,\n onChange: pipe(\n updateTemplateAnswer(answers, index, maxLength),\n editAnswerAction_(state, slide)\n ),\n options: isEmpty(answer) ? [temporaryOption].concat(selectOptions) : selectOptions,\n 'aria-label': translate('Select an answer')\n };\n };\n};\n\nconst templateProps = (options, store) => {\n const getChoices_ = getChoices();\n const templateTextProps_ = templateTextProps(options, store);\n const templateSelectProps_ = templateSelectProps(options, store);\n\n return (state, slide) => {\n return {\n type: 'template',\n template: slide.question.content.template,\n answers: getChoices_(slide, state).map((choice, index) =>\n choice.type === 'text'\n ? templateTextProps_(state, slide, choice, index)\n : templateSelectProps_(state, slide, choice, index)\n )\n };\n };\n};\n\nconst basicProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const {translate} = options;\n return {\n type: 'freeText',\n placeholder: translate('Type here'),\n value: pipe(getAnswerValues, head)(slide, state),\n onChange: editAnswerAction_(state, slide)\n };\n };\n};\n\nconst toAnswer = values => {\n const maxValue = size(values) - 1;\n return position => {\n return pipe(multiply(maxValue), round, get(__, values), _toString)(position);\n };\n};\n\nconst sliderProps = (options, store) => {\n const editAnswerAction_ = editAnswerAction(options, store);\n\n return (state, slide) => {\n const values = rangeStep(\n slide.question.content.step || 1,\n slide.question.content.min,\n slide.question.content.max + 1\n );\n\n const stateValue = pipe(getAnswerValues, head)(slide, state);\n const currentValue = toInteger(stateValue);\n\n const indexValue = indexOf(currentValue, values);\n const handleChange = editAnswerAction_(state, slide);\n const sliderPosition = divide(indexValue, size(values) - 1);\n\n return {\n type: 'slider',\n placeholder: slide.question.explanation,\n minLabel: `${slide.question.content.min} ${slide.question.content.unitLabel}`,\n maxLabel: `${slide.question.content.max} ${slide.question.content.unitLabel}`,\n title: `${currentValue} ${slide.question.content.unitLabel}`,\n value: sliderPosition,\n onChange: pipe(toAnswer(values), handleChange)\n };\n };\n};\n\nconst createGetAnswerProps = (options, store) => {\n const qcmProps_ = qcmProps(options, store);\n const qcmGraphicProps_ = qcmGraphicProps(options, store);\n const qcmDragProps_ = qcmDragProps(options, store);\n const basicProps_ = basicProps(options, store);\n const templateProps_ = templateProps(options, store);\n const sliderProps_ = sliderProps(options, store);\n\n return (state, slide) => {\n if (!slide) {\n return;\n }\n const type = getQuestionType(slide);\n switch (type) {\n case 'qcm':\n return qcmProps_(state, slide);\n\n case 'qcmGraphic':\n return qcmGraphicProps_(state, slide);\n\n case 'qcmDrag':\n return qcmDragProps_(state, slide);\n\n case 'basic':\n return basicProps_(state, slide);\n\n case 'template':\n return templateProps_(state, slide);\n\n case 'slider':\n return sliderProps_(state, slide);\n\n default:\n throw new Error(`${type} is not an handled question.type`);\n }\n };\n};\n\nconst createGetHelp = (options, store) => slide => {\n const {translate} = options;\n return get('question.explanation', slide) || translate('Select something below');\n};\n\nexport {createGetAnswerProps, createGetHelp};\n"],"mappings":"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"}
|
|
@@ -91,7 +91,7 @@ const getHelp = (0, _answer.createGetHelp)(options, store);
|
|
|
91
91
|
t.true((0, _isFunction2.default)(props.answers[0].onClick));
|
|
92
92
|
});
|
|
93
93
|
(0, _ava.default)('should create edited template props', t => {
|
|
94
|
-
t.plan(
|
|
94
|
+
t.plan(24);
|
|
95
95
|
const state = {
|
|
96
96
|
ui: {
|
|
97
97
|
answers: {
|
|
@@ -124,6 +124,7 @@ const getHelp = (0, _answer.createGetHelp)(options, store);
|
|
|
124
124
|
t.true((0, _isFunction2.default)(props.answers[0].onChange));
|
|
125
125
|
t.is(props.answers[1].type, 'select');
|
|
126
126
|
t.is(props.answers[1].name, 'sel31191');
|
|
127
|
+
t.is(props.answers[1]['aria-label'], '__Select an answer');
|
|
127
128
|
t.true((0, _isFunction2.default)(props.answers[1].onChange));
|
|
128
129
|
const selectOptions = props.answers[1].options;
|
|
129
130
|
t.true(Array.isArray(selectOptions));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"answer.js","names":["options","translate","mockTranslate","store","dispatch","getAnswerProps","createGetAnswerProps","getHelp","createGetHelp","test","t","plan","state","ui","current","progressionId","_getAnswerProps","thunk","true","props","qcm","is","type","answers","every","answer","selected","onClick","value","length","title","false","template","Array","isArray","name","placeholder","onChange","selectOptions","validOption","qcmGraphic","data","configs","entities","version","shuffleChoices","progressions","engine","ref","deepEqual","qcmDrag","order","action","pass","slider","minLabel","maxLabel","basic","help","help1","help2"],"sources":["../../../src/map-state-to-props/test/answer.js"],"sourcesContent":["import test from 'ava';\nimport {omit, isFunction, identity, sortBy, pipe, map, pick} from 'lodash/fp';\n\nimport {mockTranslate} from '@coorpacademy/translate';\nimport {createGetAnswerProps, createGetHelp} from '../answer';\nimport basic from './fixtures/slides/basic';\nimport qcm from './fixtures/slides/qcm';\nimport qcmDrag from './fixtures/slides/qcm-drag';\nimport qcmGraphic from './fixtures/slides/qcm-graphic';\nimport template from './fixtures/slides/template';\nimport slider from './fixtures/slides/slider';\n\nconst options = {translate: mockTranslate};\nconst store = {dispatch: identity};\nconst getAnswerProps = createGetAnswerProps(options, store);\nconst getHelp = createGetHelp(options, store);\n\ntest('should create initial qcm props', t => {\n t.plan(3);\n\n const state = {\n ui: {\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, qcm);\n\n t.is(props.type, 'qcm');\n t.true(props.answers.every(answer => answer.selected === false));\n\n props.answers[0].onClick();\n});\n\ntest('should create edited qcm props', t => {\n const state = {\n ui: {\n answers: {1234: {value: ['Case 1', 'Case 3']}},\n current: {progressionId: '1234'}\n }\n };\n\n const props = getAnswerProps(state, qcm);\n\n t.is(props.type, 'qcm');\n t.is(props.answers.length, 4);\n t.is(props.answers[0].title, 'Case 1');\n t.true(props.answers[0].selected);\n t.is(props.answers[1].title, 'Case 2');\n t.false(props.answers[1].selected);\n t.is(props.answers[2].title, 'Case 3');\n t.true(props.answers[2].selected);\n t.is(props.answers[3].title, 'Case 4');\n t.false(props.answers[3].selected);\n t.true(isFunction(props.answers[0].onClick));\n});\n\ntest('should create edited template props', t => {\n t.plan(23);\n\n const state = {\n ui: {\n answers: {1234: {value: ['foo', 'exclusive']}},\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, template);\n t.is(props.type, 'template');\n t.is(props.template, 'The answer is {{inp81438}} {{sel31191}}');\n t.true(Array.isArray(props.answers));\n t.is(props.answers.length, 2);\n t.is(props.answers[0].type, 'text');\n t.is(props.answers[0].name, 'inp81438');\n t.is(props.answers[0].placeholder, '__Type here');\n t.is(props.answers[0].value, 'foo');\n t.true(isFunction(props.answers[0].onChange));\n t.is(props.answers[1].type, 'select');\n t.is(props.answers[1].name, 'sel31191');\n t.true(isFunction(props.answers[1].onChange));\n const selectOptions = props.answers[1].options;\n t.true(Array.isArray(selectOptions));\n t.is(selectOptions.length, 2);\n t.is(selectOptions[0].name, 'temporary');\n t.is(selectOptions[0].value, 'temporary');\n t.false(selectOptions[0].selected);\n t.true(selectOptions[0].validOption);\n t.is(selectOptions[1].name, 'exclusive');\n t.is(selectOptions[1].value, 'exclusive');\n t.true(selectOptions[1].selected);\n t.true(selectOptions[1].validOption);\n\n props.answers[1].onChange();\n});\n\ntest('should add an invalid `select an answer` choice for a select field in a template question if there are no answers for it', t => {\n t.plan(13);\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, template);\n const selectOptions = props.answers[1].options;\n\n t.is(selectOptions.length, 3);\n t.is(selectOptions[0].name, '__Select an answer');\n t.true(selectOptions[0].selected);\n t.false(selectOptions[0].validOption);\n t.is(selectOptions[1].name, 'temporary');\n t.is(selectOptions[1].value, 'temporary');\n t.false(selectOptions[1].selected);\n t.true(selectOptions[1].validOption);\n t.is(selectOptions[2].name, 'exclusive');\n t.is(selectOptions[2].value, 'exclusive');\n t.false(selectOptions[2].selected);\n t.true(selectOptions[2].validOption);\n\n props.answers[1].onChange();\n});\n\ntest('should create initial qcmGraphic props', t => {\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n const props = getAnswerProps(state, qcmGraphic);\n t.is(props.type, 'qcmGraphic');\n t.is(props.answers.length, 2);\n t.true(props.answers.every(answer => answer.selected === false));\n});\n\ntest('should create edited qcmGraphic props', t => {\n t.plan(5);\n const state = {\n data: {\n configs: {\n entities: {\n 'learner@2': {\n version: '2',\n shuffleChoices: true\n }\n }\n },\n progressions: {\n entities: {\n 1234: {\n engine: {\n ref: 'learner',\n version: '2'\n }\n }\n }\n }\n },\n ui: {\n answers: {1234: {value: ['Vrai']}},\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, qcmGraphic);\n\n t.is(props.type, 'qcmGraphic');\n t.is(props.answers.length, 2);\n\n const answers = pipe(map(pick(['title', 'selected'])), sortBy('title'))(props.answers);\n t.deepEqual(answers, [\n {title: 'Faux', selected: false},\n {title: 'Vrai', selected: true}\n ]);\n\n t.true(isFunction(props.answers[0].onClick));\n\n props.answers[0].onClick();\n});\n\ntest('should create initial qcmDrag props', t => {\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n const props = getAnswerProps(state, qcmDrag);\n t.is(props.type, 'qcmDrag');\n t.is(props.answers.length, 3);\n t.is(props.answers[0].title, \"L'ordinateur\");\n t.false(props.answers[0].selected);\n t.true(isFunction(props.answers[0].onClick));\n t.is(props.answers[1].title, 'La tablette');\n t.false(props.answers[1].selected);\n t.true(isFunction(props.answers[1].onClick));\n t.is(props.answers[2].title, 'Le smartphone');\n t.false(props.answers[2].selected);\n t.true(isFunction(props.answers[2].onClick));\n});\n\ntest('should create edited qcmDrag props', t => {\n t.plan(14);\n const state = {\n ui: {\n answers: {1234: {value: ['Le smartphone', \"L'ordinateur\"]}},\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, qcmDrag);\n\n t.is(props.type, 'qcmDrag');\n t.is(props.answers.length, 3);\n\n t.is(props.answers[0].title, \"L'ordinateur\");\n t.true(props.answers[0].selected);\n t.is(props.answers[0].order, 1);\n t.true(isFunction(props.answers[0].onClick));\n t.is(props.answers[1].title, 'La tablette');\n t.false(props.answers[1].selected);\n t.true(isFunction(props.answers[1].onClick));\n t.is(props.answers[2].title, 'Le smartphone');\n t.true(props.answers[2].selected);\n t.is(props.answers[2].order, 0);\n t.true(isFunction(props.answers[2].onClick));\n\n props.answers[2].onClick();\n});\n\ntest('should create initial slider props', t => {\n t.plan(8);\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n\n const dispatch = action => {\n t.pass();\n };\n\n const props = createGetAnswerProps(options, {dispatch})(state, slider);\n\n t.is(props.type, 'slider');\n t.is(props.placeholder, 'Déplacez le curseur.');\n t.is(props.minLabel, '0 an(s)');\n t.is(props.maxLabel, '1000 an(s)');\n t.is(props.title, '500 an(s)');\n t.is(props.value, 0.5);\n t.true(isFunction(props.onChange));\n\n props.onChange(0.87);\n});\n\ntest('should default slider step to 1', t => {\n t.plan(2);\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n\n const dispatch = action => {\n t.pass();\n };\n\n const props = createGetAnswerProps(options, {dispatch})(\n state,\n omit('question.content.step', slider)\n );\n\n t.true(isFunction(props.onChange));\n\n props.onChange(0.87);\n});\n\ntest('should create edited slider props', t => {\n const state = {\n ui: {\n answers: {1234: {value: ['300']}},\n current: {progressionId: '1234'}\n }\n };\n\n const props = getAnswerProps(state, slider);\n t.is(props.title, '300 an(s)');\n t.is(props.value, 0.3);\n});\n\ntest('should create initial basic props', t => {\n const state = {\n ui: {\n answers: {},\n current: {progressionId: null}\n }\n };\n const props = getAnswerProps(state, basic);\n t.is(props.type, 'freeText');\n});\n\ntest('should create edited basic props', t => {\n const state = {\n ui: {\n answers: {1234: {value: ['foo']}},\n current: {progressionId: '1234'}\n }\n };\n\n const props = getAnswerProps(state, basic);\n t.is(props.type, 'freeText');\n t.is(props.value, 'foo');\n t.true(isFunction(props.onChange));\n});\n\ntest('should provide an help subtitle depending on question.type', t => {\n const help = getHelp(qcmDrag);\n t.is(help, 'Cliquez sur les réponses dans le bon ordre.');\n const help1 = getHelp(template);\n t.is(help1, 'Type your answers');\n const help2 = getHelp(qcm);\n t.is(help2, '__Select something below');\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"answer.js","names":["options","translate","mockTranslate","store","dispatch","getAnswerProps","createGetAnswerProps","getHelp","createGetHelp","test","t","plan","state","ui","current","progressionId","_getAnswerProps","thunk","true","props","qcm","is","type","answers","every","answer","selected","onClick","value","length","title","false","template","Array","isArray","name","placeholder","onChange","selectOptions","validOption","qcmGraphic","data","configs","entities","version","shuffleChoices","progressions","engine","ref","deepEqual","qcmDrag","order","action","pass","slider","minLabel","maxLabel","basic","help","help1","help2"],"sources":["../../../src/map-state-to-props/test/answer.js"],"sourcesContent":["import test from 'ava';\nimport {omit, isFunction, identity, sortBy, pipe, map, pick} from 'lodash/fp';\n\nimport {mockTranslate} from '@coorpacademy/translate';\nimport {createGetAnswerProps, createGetHelp} from '../answer';\nimport basic from './fixtures/slides/basic';\nimport qcm from './fixtures/slides/qcm';\nimport qcmDrag from './fixtures/slides/qcm-drag';\nimport qcmGraphic from './fixtures/slides/qcm-graphic';\nimport template from './fixtures/slides/template';\nimport slider from './fixtures/slides/slider';\n\nconst options = {translate: mockTranslate};\nconst store = {dispatch: identity};\nconst getAnswerProps = createGetAnswerProps(options, store);\nconst getHelp = createGetHelp(options, store);\n\ntest('should create initial qcm props', t => {\n t.plan(3);\n\n const state = {\n ui: {\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, qcm);\n\n t.is(props.type, 'qcm');\n t.true(props.answers.every(answer => answer.selected === false));\n\n props.answers[0].onClick();\n});\n\ntest('should create edited qcm props', t => {\n const state = {\n ui: {\n answers: {1234: {value: ['Case 1', 'Case 3']}},\n current: {progressionId: '1234'}\n }\n };\n\n const props = getAnswerProps(state, qcm);\n\n t.is(props.type, 'qcm');\n t.is(props.answers.length, 4);\n t.is(props.answers[0].title, 'Case 1');\n t.true(props.answers[0].selected);\n t.is(props.answers[1].title, 'Case 2');\n t.false(props.answers[1].selected);\n t.is(props.answers[2].title, 'Case 3');\n t.true(props.answers[2].selected);\n t.is(props.answers[3].title, 'Case 4');\n t.false(props.answers[3].selected);\n t.true(isFunction(props.answers[0].onClick));\n});\n\ntest('should create edited template props', t => {\n t.plan(24);\n\n const state = {\n ui: {\n answers: {1234: {value: ['foo', 'exclusive']}},\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, template);\n t.is(props.type, 'template');\n t.is(props.template, 'The answer is {{inp81438}} {{sel31191}}');\n t.true(Array.isArray(props.answers));\n t.is(props.answers.length, 2);\n t.is(props.answers[0].type, 'text');\n t.is(props.answers[0].name, 'inp81438');\n t.is(props.answers[0].placeholder, '__Type here');\n t.is(props.answers[0].value, 'foo');\n t.true(isFunction(props.answers[0].onChange));\n t.is(props.answers[1].type, 'select');\n t.is(props.answers[1].name, 'sel31191');\n t.is(props.answers[1]['aria-label'], '__Select an answer');\n t.true(isFunction(props.answers[1].onChange));\n const selectOptions = props.answers[1].options;\n t.true(Array.isArray(selectOptions));\n t.is(selectOptions.length, 2);\n t.is(selectOptions[0].name, 'temporary');\n t.is(selectOptions[0].value, 'temporary');\n t.false(selectOptions[0].selected);\n t.true(selectOptions[0].validOption);\n t.is(selectOptions[1].name, 'exclusive');\n t.is(selectOptions[1].value, 'exclusive');\n t.true(selectOptions[1].selected);\n t.true(selectOptions[1].validOption);\n\n props.answers[1].onChange();\n});\n\ntest('should add an invalid `select an answer` choice for a select field in a template question if there are no answers for it', t => {\n t.plan(13);\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, template);\n const selectOptions = props.answers[1].options;\n\n t.is(selectOptions.length, 3);\n t.is(selectOptions[0].name, '__Select an answer');\n t.true(selectOptions[0].selected);\n t.false(selectOptions[0].validOption);\n t.is(selectOptions[1].name, 'temporary');\n t.is(selectOptions[1].value, 'temporary');\n t.false(selectOptions[1].selected);\n t.true(selectOptions[1].validOption);\n t.is(selectOptions[2].name, 'exclusive');\n t.is(selectOptions[2].value, 'exclusive');\n t.false(selectOptions[2].selected);\n t.true(selectOptions[2].validOption);\n\n props.answers[1].onChange();\n});\n\ntest('should create initial qcmGraphic props', t => {\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n const props = getAnswerProps(state, qcmGraphic);\n t.is(props.type, 'qcmGraphic');\n t.is(props.answers.length, 2);\n t.true(props.answers.every(answer => answer.selected === false));\n});\n\ntest('should create edited qcmGraphic props', t => {\n t.plan(5);\n const state = {\n data: {\n configs: {\n entities: {\n 'learner@2': {\n version: '2',\n shuffleChoices: true\n }\n }\n },\n progressions: {\n entities: {\n 1234: {\n engine: {\n ref: 'learner',\n version: '2'\n }\n }\n }\n }\n },\n ui: {\n answers: {1234: {value: ['Vrai']}},\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, qcmGraphic);\n\n t.is(props.type, 'qcmGraphic');\n t.is(props.answers.length, 2);\n\n const answers = pipe(map(pick(['title', 'selected'])), sortBy('title'))(props.answers);\n t.deepEqual(answers, [\n {title: 'Faux', selected: false},\n {title: 'Vrai', selected: true}\n ]);\n\n t.true(isFunction(props.answers[0].onClick));\n\n props.answers[0].onClick();\n});\n\ntest('should create initial qcmDrag props', t => {\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n const props = getAnswerProps(state, qcmDrag);\n t.is(props.type, 'qcmDrag');\n t.is(props.answers.length, 3);\n t.is(props.answers[0].title, \"L'ordinateur\");\n t.false(props.answers[0].selected);\n t.true(isFunction(props.answers[0].onClick));\n t.is(props.answers[1].title, 'La tablette');\n t.false(props.answers[1].selected);\n t.true(isFunction(props.answers[1].onClick));\n t.is(props.answers[2].title, 'Le smartphone');\n t.false(props.answers[2].selected);\n t.true(isFunction(props.answers[2].onClick));\n});\n\ntest('should create edited qcmDrag props', t => {\n t.plan(14);\n const state = {\n ui: {\n answers: {1234: {value: ['Le smartphone', \"L'ordinateur\"]}},\n current: {progressionId: '1234'}\n }\n };\n\n const _getAnswerProps = createGetAnswerProps(options, {\n dispatch: thunk => {\n t.true(isFunction(thunk));\n }\n });\n\n const props = _getAnswerProps(state, qcmDrag);\n\n t.is(props.type, 'qcmDrag');\n t.is(props.answers.length, 3);\n\n t.is(props.answers[0].title, \"L'ordinateur\");\n t.true(props.answers[0].selected);\n t.is(props.answers[0].order, 1);\n t.true(isFunction(props.answers[0].onClick));\n t.is(props.answers[1].title, 'La tablette');\n t.false(props.answers[1].selected);\n t.true(isFunction(props.answers[1].onClick));\n t.is(props.answers[2].title, 'Le smartphone');\n t.true(props.answers[2].selected);\n t.is(props.answers[2].order, 0);\n t.true(isFunction(props.answers[2].onClick));\n\n props.answers[2].onClick();\n});\n\ntest('should create initial slider props', t => {\n t.plan(8);\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n\n const dispatch = action => {\n t.pass();\n };\n\n const props = createGetAnswerProps(options, {dispatch})(state, slider);\n\n t.is(props.type, 'slider');\n t.is(props.placeholder, 'Déplacez le curseur.');\n t.is(props.minLabel, '0 an(s)');\n t.is(props.maxLabel, '1000 an(s)');\n t.is(props.title, '500 an(s)');\n t.is(props.value, 0.5);\n t.true(isFunction(props.onChange));\n\n props.onChange(0.87);\n});\n\ntest('should default slider step to 1', t => {\n t.plan(2);\n const state = {\n ui: {\n answers: {},\n current: {progressionId: '1234'}\n }\n };\n\n const dispatch = action => {\n t.pass();\n };\n\n const props = createGetAnswerProps(options, {dispatch})(\n state,\n omit('question.content.step', slider)\n );\n\n t.true(isFunction(props.onChange));\n\n props.onChange(0.87);\n});\n\ntest('should create edited slider props', t => {\n const state = {\n ui: {\n answers: {1234: {value: ['300']}},\n current: {progressionId: '1234'}\n }\n };\n\n const props = getAnswerProps(state, slider);\n t.is(props.title, '300 an(s)');\n t.is(props.value, 0.3);\n});\n\ntest('should create initial basic props', t => {\n const state = {\n ui: {\n answers: {},\n current: {progressionId: null}\n }\n };\n const props = getAnswerProps(state, basic);\n t.is(props.type, 'freeText');\n});\n\ntest('should create edited basic props', t => {\n const state = {\n ui: {\n answers: {1234: {value: ['foo']}},\n current: {progressionId: '1234'}\n }\n };\n\n const props = getAnswerProps(state, basic);\n t.is(props.type, 'freeText');\n t.is(props.value, 'foo');\n t.true(isFunction(props.onChange));\n});\n\ntest('should provide an help subtitle depending on question.type', t => {\n const help = getHelp(qcmDrag);\n t.is(help, 'Cliquez sur les réponses dans le bon ordre.');\n const help1 = getHelp(template);\n t.is(help1, 'Type your answers');\n const help2 = getHelp(qcm);\n t.is(help2, '__Select something below');\n});\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coorpacademy/player-web",
|
|
3
|
-
"version": "4.9.
|
|
3
|
+
"version": "4.9.12-alpha.0+4a389b23b7",
|
|
4
4
|
"description": "CoorpAcademy web slide-player",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"react-dom": "^17.0.2"
|
|
62
62
|
},
|
|
63
63
|
"dependencies": {
|
|
64
|
-
"@coorpacademy/components": "11.14.
|
|
64
|
+
"@coorpacademy/components": "11.14.12-alpha.0+4a389b23b7",
|
|
65
65
|
"@coorpacademy/player-services": "5.2.23",
|
|
66
66
|
"@coorpacademy/player-store": "4.2.26",
|
|
67
67
|
"@coorpacademy/progression-engine": "11.7.0",
|
|
@@ -70,5 +70,5 @@
|
|
|
70
70
|
"eslint": "^8.24.0",
|
|
71
71
|
"lodash": "^4.17.21"
|
|
72
72
|
},
|
|
73
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "4a389b23b74c04f744c683209e68d5cdb66b7304"
|
|
74
74
|
}
|