@coorpacademy/player-web 3.19.49-alpha.24 → 3.19.49-alpha.31

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.
Files changed (89) hide show
  1. package/es/index.js.map +1 -1
  2. package/es/map-state-to-props/answer.js.map +1 -1
  3. package/es/map-state-to-props/error-popin.js.map +1 -1
  4. package/es/map-state-to-props/header.js +2 -2
  5. package/es/map-state-to-props/header.js.map +1 -1
  6. package/es/map-state-to-props/index.js.map +1 -1
  7. package/es/map-state-to-props/loading.js.map +1 -1
  8. package/es/map-state-to-props/player.js.map +1 -1
  9. package/es/map-state-to-props/popin-correction.js.map +1 -1
  10. package/es/map-state-to-props/popin-end.js +2 -2
  11. package/es/map-state-to-props/popin-end.js.map +1 -1
  12. package/es/map-state-to-props/resources.js +2 -2
  13. package/es/map-state-to-props/resources.js.map +1 -1
  14. package/es/map-state-to-props/slide.js.map +1 -1
  15. package/es/map-state-to-props/test/answer.js.map +1 -1
  16. package/es/map-state-to-props/test/header.js.map +1 -1
  17. package/es/map-state-to-props/test/index.js +1 -1
  18. package/es/map-state-to-props/test/index.js.map +1 -1
  19. package/es/map-state-to-props/test/player.js +3 -3
  20. package/es/map-state-to-props/test/player.js.map +1 -1
  21. package/es/map-state-to-props/test/popin-correction.create-header-cta.js.map +1 -1
  22. package/es/map-state-to-props/test/popin-correction.js.map +1 -1
  23. package/es/map-state-to-props/test/popin-end.js.map +1 -1
  24. package/es/map-state-to-props/test/popin-error.js.map +1 -1
  25. package/es/map-state-to-props/test/resources.js.map +1 -1
  26. package/es/run-app.js.map +1 -1
  27. package/es/store.js.map +1 -1
  28. package/es/test/add-timeout.js.map +1 -1
  29. package/es/test/helpers/css-register.js.map +1 -1
  30. package/es/test/helpers/macro.js.map +1 -1
  31. package/es/test/index.js.map +1 -1
  32. package/es/test/init-reducers.js.map +1 -1
  33. package/es/test/locales.js.map +1 -1
  34. package/es/test/run-app.js.map +1 -1
  35. package/es/test/store.js.map +1 -1
  36. package/es/views/index.js.map +1 -1
  37. package/es/views/test/helpers/render.js.map +1 -1
  38. package/es/views/test/helpers/state-to-vnode.js.map +1 -1
  39. package/es/views/test/loading.js.map +1 -1
  40. package/es/views/test/popin-correction.js.map +1 -1
  41. package/es/views/test/popin-end.js.map +1 -1
  42. package/es/views/test/router.js.map +1 -1
  43. package/es/views/test/slide.js.map +1 -1
  44. package/lib/index.js.map +1 -1
  45. package/lib/map-state-to-props/answer.js.map +1 -1
  46. package/lib/map-state-to-props/error-popin.js.map +1 -1
  47. package/lib/map-state-to-props/header.js +2 -2
  48. package/lib/map-state-to-props/header.js.map +1 -1
  49. package/lib/map-state-to-props/index.js.map +1 -1
  50. package/lib/map-state-to-props/loading.js.map +1 -1
  51. package/lib/map-state-to-props/player.js.map +1 -1
  52. package/lib/map-state-to-props/popin-correction.js.map +1 -1
  53. package/lib/map-state-to-props/popin-end.js +2 -2
  54. package/lib/map-state-to-props/popin-end.js.map +1 -1
  55. package/lib/map-state-to-props/resources.js +2 -2
  56. package/lib/map-state-to-props/resources.js.map +1 -1
  57. package/lib/map-state-to-props/slide.js.map +1 -1
  58. package/lib/map-state-to-props/test/answer.js.map +1 -1
  59. package/lib/map-state-to-props/test/header.js.map +1 -1
  60. package/lib/map-state-to-props/test/index.js +1 -1
  61. package/lib/map-state-to-props/test/index.js.map +1 -1
  62. package/lib/map-state-to-props/test/player.js +6 -6
  63. package/lib/map-state-to-props/test/player.js.map +1 -1
  64. package/lib/map-state-to-props/test/popin-correction.create-header-cta.js.map +1 -1
  65. package/lib/map-state-to-props/test/popin-correction.js.map +1 -1
  66. package/lib/map-state-to-props/test/popin-end.js.map +1 -1
  67. package/lib/map-state-to-props/test/popin-error.js.map +1 -1
  68. package/lib/map-state-to-props/test/resources.js.map +1 -1
  69. package/lib/run-app.js.map +1 -1
  70. package/lib/store.js.map +1 -1
  71. package/lib/test/add-timeout.js.map +1 -1
  72. package/lib/test/helpers/css-register.js.map +1 -1
  73. package/lib/test/helpers/macro.js.map +1 -1
  74. package/lib/test/index.js +2 -2
  75. package/lib/test/index.js.map +1 -1
  76. package/lib/test/init-reducers.js.map +1 -1
  77. package/lib/test/locales.js.map +1 -1
  78. package/lib/test/run-app.js.map +1 -1
  79. package/lib/test/store.js.map +1 -1
  80. package/lib/views/index.js.map +1 -1
  81. package/lib/views/test/helpers/render.js.map +1 -1
  82. package/lib/views/test/helpers/state-to-vnode.js.map +1 -1
  83. package/lib/views/test/loading.js.map +1 -1
  84. package/lib/views/test/popin-correction.js.map +1 -1
  85. package/lib/views/test/popin-end.js.map +1 -1
  86. package/lib/views/test/router.js.map +1 -1
  87. package/lib/views/test/slide.js +2 -2
  88. package/lib/views/test/slide.js.map +1 -1
  89. package/package.json +4 -4
@@ -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,"sources":["../../../src/map-state-to-props/test/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"],"mappings":"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","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"],"file":"answer.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"header.js","names":["test","mockTranslate","createHeader","basicSlide","options","translate","store","dispatch","headerProps","createProgression","slide","engine","ref","version","content","type","state","nextContent","_id","lives","livesDisabled","step","current","viewedResources","data","contents","chapter","entities","name","level","chapterIds","chapter_id","progressions","basic","t","ui","progressionId","props","deepEqual","count","title","subcontent","details","is"],"sources":["../../../src/map-state-to-props/test/header.js"],"sourcesContent":["import test from 'ava';\nimport {set, identity, omit, pipe} from 'lodash/fp';\n\nimport {mockTranslate} from '@coorpacademy/translate';\nimport createHeader from '../header';\nimport basicSlide from './fixtures/slides/basic';\n\nconst options = {translate: mockTranslate};\nconst store = {dispatch: identity};\nconst headerProps = createHeader(options, store);\n\nconst createProgression = slide => ({\n engine: {\n ref: 'microlearning',\n version: '1'\n },\n content: {\n ref: '1.B1',\n type: 'chapter'\n },\n state: {\n nextContent: {\n ref: slide._id,\n type: 'slide'\n },\n lives: 100,\n livesDisabled: false,\n step: {\n current: 1\n },\n viewedResources: []\n }\n});\n\nconst data = {\n contents: {\n chapter: {\n entities: {\n '1.B2': {\n _id: '1.B2',\n name: 'some-title'\n }\n }\n },\n level: {\n entities: {\n '1.B': {\n name: 'level-with-chapters',\n chapterIds: ['1.B1', '1.B2', '1.B3']\n }\n }\n },\n slide: {\n entities: {\n [basicSlide._id]: {\n chapter_id: '1.B2'\n }\n }\n }\n },\n progressions: {\n entities: {\n basic: createProgression(basicSlide)\n }\n }\n};\n\ntest('should create header with the number of lives in the state', t => {\n const ui = {current: {progressionId: 'basic'}};\n const state = {data, ui};\n const props = headerProps(state);\n t.deepEqual(props.lives, {\n count: 100\n });\n});\n\ntest('should read title from the content when available', t => {\n const ui = {current: {progressionId: 'basic'}};\n const state = {data: set('progressions.entities.basic.content.ref', '1.B2', data), ui};\n const props = headerProps(state);\n\n t.deepEqual(omit('onClick', props.content), {\n title: 'some-title'\n });\n});\n\ntest('should find chapter details within learner.header.subcontent', t => {\n const ui = {current: {progressionId: 'basic'}};\n const state = {\n data: pipe(\n set('progressions.entities.basic.engine.ref', 'learner'),\n set('progressions.entities.basic.content.type', 'level'),\n set('progressions.entities.basic.content.ref', '1.B')\n )(data),\n ui\n };\n const props = headerProps(state);\n\n t.deepEqual(props.subcontent, {\n title: 'some-title',\n details: '2/3'\n });\n});\n\ntest('should set lives to null if lives are disabled in the progression', t => {\n const ui = {current: {progressionId: 'basic'}};\n const state = {data: set('progressions.entities.basic.state.livesDisabled', true, data), ui};\n const props = headerProps(state);\n\n t.is(props.lives, false);\n});\n"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/map-state-to-props/test/header.js"],"names":["test","mockTranslate","createHeader","basicSlide","options","translate","store","dispatch","headerProps","createProgression","slide","engine","ref","version","content","type","state","nextContent","_id","lives","livesDisabled","step","current","viewedResources","data","contents","chapter","entities","name","level","chapterIds","chapter_id","progressions","basic","t","ui","progressionId","props","deepEqual","count","title","subcontent","details","is"],"mappings":"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","sourcesContent":["import test from 'ava';\nimport {set, identity, omit, pipe} from 'lodash/fp';\n\nimport {mockTranslate} from '@coorpacademy/translate';\nimport createHeader from '../header';\nimport basicSlide from './fixtures/slides/basic';\n\nconst options = {translate: mockTranslate};\nconst store = {dispatch: identity};\nconst headerProps = createHeader(options, store);\n\nconst createProgression = slide => ({\n engine: {\n ref: 'microlearning',\n version: '1'\n },\n content: {\n ref: '1.B1',\n type: 'chapter'\n },\n state: {\n nextContent: {\n ref: slide._id,\n type: 'slide'\n },\n lives: 100,\n livesDisabled: false,\n step: {\n current: 1\n },\n viewedResources: []\n }\n});\n\nconst data = {\n contents: {\n chapter: {\n entities: {\n '1.B2': {\n _id: '1.B2',\n name: 'some-title'\n }\n }\n },\n level: {\n entities: {\n '1.B': {\n name: 'level-with-chapters',\n chapterIds: ['1.B1', '1.B2', '1.B3']\n }\n }\n },\n slide: {\n entities: {\n [basicSlide._id]: {\n chapter_id: '1.B2'\n }\n }\n }\n },\n progressions: {\n entities: {\n basic: createProgression(basicSlide)\n }\n }\n};\n\ntest('should create header with the number of lives in the state', t => {\n const ui = {current: {progressionId: 'basic'}};\n const state = {data, ui};\n const props = headerProps(state);\n t.deepEqual(props.lives, {\n count: 100\n });\n});\n\ntest('should read title from the content when available', t => {\n const ui = {current: {progressionId: 'basic'}};\n const state = {data: set('progressions.entities.basic.content.ref', '1.B2', data), ui};\n const props = headerProps(state);\n\n t.deepEqual(omit('onClick', props.content), {\n title: 'some-title'\n });\n});\n\ntest('should find chapter details within learner.header.subcontent', t => {\n const ui = {current: {progressionId: 'basic'}};\n const state = {\n data: pipe(\n set('progressions.entities.basic.engine.ref', 'learner'),\n set('progressions.entities.basic.content.type', 'level'),\n set('progressions.entities.basic.content.ref', '1.B')\n )(data),\n ui\n };\n const props = headerProps(state);\n\n t.deepEqual(props.subcontent, {\n title: 'some-title',\n details: '2/3'\n });\n});\n\ntest('should set lives to null if lives are disabled in the progression', t => {\n const ui = {current: {progressionId: 'basic'}};\n const state = {data: set('progressions.entities.basic.state.livesDisabled', true, data), ui};\n const props = headerProps(state);\n\n t.is(props.lives, false);\n});\n"],"file":"header.js"}
@@ -2,7 +2,7 @@ import _set from "lodash/fp/set";
2
2
  import _get from "lodash/fp/get";
3
3
  import _map from "lodash/fp/map";
4
4
 
5
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
5
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
6
6
 
7
7
  import test from 'ava';
8
8
  import createPlayer from '../player';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["test","createPlayer","data","options","store","t","initialState","version","shuffleChoices","ui","route","qcm","current","progressionId","coaches","availableCoaches","secondState","label","player","props","expected","props2","expected2","deepEqual","newPlayer","props3","expected3","sort","qcmDrag"],"sources":["../../../src/map-state-to-props/test/index.js"],"sourcesContent":["import test from 'ava';\nimport {map, get, set} from 'lodash/fp';\nimport createPlayer from '../player';\n\nimport {data, options, store} from './player';\n\ntest('memoize choices > QCM', t => {\n // state fixture\n const initialState = set(\n ['data', 'configs', 'entities', 'microlearning@1'],\n {version: '1', shuffleChoices: true},\n {\n data,\n ui: {\n route: {qcm: 'answer'},\n current: {progressionId: 'qcm'},\n coaches: {availableCoaches: 1}\n }\n }\n );\n const secondState = set(\n ['data', 'contents', 'slide', 'entities', 'qcmSlide-1', 'question', 'content', 'choices'],\n [\n {\n label: 'foo'\n },\n {\n label: 'bar'\n }\n ],\n initialState\n );\n\n // initiate player\n const player = createPlayer(options, store);\n\n // test answers values\n const props = player(initialState);\n const expected = map('title', get(['answerType', 'model', 'answers'], props));\n\n // test new answers values when state is updated\n const props2 = player(secondState);\n const expected2 = map('title', get(['answerType', 'model', 'answers'], props2));\n t.deepEqual(expected2, expected);\n\n // new player instance\n const newPlayer = createPlayer(options, store);\n\n // test new answers values when store and state are updated\n const props3 = newPlayer(secondState);\n const expected3 = map('title', get(['answerType', 'model', 'answers'], props3));\n t.deepEqual([...expected3].sort(), ['bar', 'foo']);\n});\n\ntest('memoize choices > QCM DRAG', t => {\n // state fixture\n const initialState = set(\n ['data', 'configs', 'entities', 'microlearning@1'],\n {version: '1', shuffleChoices: true},\n {\n data,\n ui: {\n route: {qcmDrag: 'answer'},\n current: {progressionId: 'qcmDrag'},\n coaches: {availableCoaches: 1}\n }\n }\n );\n const secondState = set(\n ['data', 'contents', 'slide', 'entities', '8.B2.2', 'question', 'content', 'choices'],\n [\n {\n label: 'foo'\n },\n {\n label: 'bar'\n }\n ],\n {...initialState}\n );\n\n // initiate player\n const player = createPlayer(options, store);\n\n // test answers values\n const props = player(initialState);\n const expected = map('title', get(['answerType', 'model', 'answers'], props));\n t.deepEqual([...expected].sort(), [\"L'ordinateur\", 'La tablette', 'Le smartphone']);\n\n // test new answers values when state is updated\n const props2 = player(secondState);\n\n const expected2 = map('title', get(['answerType', 'model', 'answers'], props2));\n t.deepEqual(expected2, expected);\n\n // new player instance\n const newPlayer = createPlayer(options, store);\n\n // test new answers values when store and state are updated\n const props3 = newPlayer(secondState);\n const expected3 = map('title', get(['answerType', 'model', 'answers'], props3));\n t.deepEqual([...expected3].sort(), ['bar', 'foo']);\n});\n"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/map-state-to-props/test/index.js"],"names":["test","createPlayer","data","options","store","t","initialState","version","shuffleChoices","ui","route","qcm","current","progressionId","coaches","availableCoaches","secondState","label","player","props","expected","props2","expected2","deepEqual","newPlayer","props3","expected3","sort","qcmDrag"],"mappings":"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","sourcesContent":["import test from 'ava';\nimport {map, get, set} from 'lodash/fp';\nimport createPlayer from '../player';\n\nimport {data, options, store} from './player';\n\ntest('memoize choices > QCM', t => {\n // state fixture\n const initialState = set(\n ['data', 'configs', 'entities', 'microlearning@1'],\n {version: '1', shuffleChoices: true},\n {\n data,\n ui: {\n route: {qcm: 'answer'},\n current: {progressionId: 'qcm'},\n coaches: {availableCoaches: 1}\n }\n }\n );\n const secondState = set(\n ['data', 'contents', 'slide', 'entities', 'qcmSlide-1', 'question', 'content', 'choices'],\n [\n {\n label: 'foo'\n },\n {\n label: 'bar'\n }\n ],\n initialState\n );\n\n // initiate player\n const player = createPlayer(options, store);\n\n // test answers values\n const props = player(initialState);\n const expected = map('title', get(['answerType', 'model', 'answers'], props));\n\n // test new answers values when state is updated\n const props2 = player(secondState);\n const expected2 = map('title', get(['answerType', 'model', 'answers'], props2));\n t.deepEqual(expected2, expected);\n\n // new player instance\n const newPlayer = createPlayer(options, store);\n\n // test new answers values when store and state are updated\n const props3 = newPlayer(secondState);\n const expected3 = map('title', get(['answerType', 'model', 'answers'], props3));\n t.deepEqual([...expected3].sort(), ['bar', 'foo']);\n});\n\ntest('memoize choices > QCM DRAG', t => {\n // state fixture\n const initialState = set(\n ['data', 'configs', 'entities', 'microlearning@1'],\n {version: '1', shuffleChoices: true},\n {\n data,\n ui: {\n route: {qcmDrag: 'answer'},\n current: {progressionId: 'qcmDrag'},\n coaches: {availableCoaches: 1}\n }\n }\n );\n const secondState = set(\n ['data', 'contents', 'slide', 'entities', '8.B2.2', 'question', 'content', 'choices'],\n [\n {\n label: 'foo'\n },\n {\n label: 'bar'\n }\n ],\n {...initialState}\n );\n\n // initiate player\n const player = createPlayer(options, store);\n\n // test answers values\n const props = player(initialState);\n const expected = map('title', get(['answerType', 'model', 'answers'], props));\n t.deepEqual([...expected].sort(), [\"L'ordinateur\", 'La tablette', 'Le smartphone']);\n\n // test new answers values when state is updated\n const props2 = player(secondState);\n\n const expected2 = map('title', get(['answerType', 'model', 'answers'], props2));\n t.deepEqual(expected2, expected);\n\n // new player instance\n const newPlayer = createPlayer(options, store);\n\n // test new answers values when store and state are updated\n const props3 = newPlayer(secondState);\n const expected3 = map('title', get(['answerType', 'model', 'answers'], props3));\n t.deepEqual([...expected3].sort(), ['bar', 'foo']);\n});\n"],"file":"index.js"}
@@ -8,7 +8,7 @@ import _isEmpty from "lodash/fp/isEmpty";
8
8
  import _get from "lodash/fp/get";
9
9
  import _map from "lodash/fp/map";
10
10
 
11
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
11
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
12
12
 
13
13
  import test from 'ava';
14
14
  import { mockTranslate } from '@coorpacademy/translate';
@@ -119,7 +119,7 @@ const isDisabledFor = (slide, isConditional, answer) => {
119
119
  contents: {
120
120
  slide: {
121
121
  entities: {
122
- [slide._id]: _extends({}, slide, {
122
+ [slide._id]: _extends(_extends({}, slide), {}, {
123
123
  chapter_id: chapterId
124
124
  })
125
125
  }
@@ -612,7 +612,7 @@ const check = (slide, answer) => {
612
612
  contents: {
613
613
  slide: {
614
614
  entities: {
615
- [slide._id]: _extends({}, slide, {
615
+ [slide._id]: _extends(_extends({}, slide), {}, {
616
616
  chapter_id: chapterId
617
617
  })
618
618
  }
@@ -1 +1 @@
1
- {"version":3,"file":"player.js","names":["test","mockTranslate","Analytics","AnalyticsService","Answers","AnswersService","Clues","CluesService","Coach","CoachService","Comments","CommentsService","Content","ContentService","ExitNodes","ExitNodesService","LeaderBoard","LeaderBoardService","Location","LocationService","Progressions","ProgressionsService","Recommendations","RecommendationsService","UI_SELECT_ROUTE","createPlayer","createHeader","fixtures","learnerProgressionStateFixture","plopSlide","basicSlide","contextSlide","templateSlide","qcmSlide","qcmDragSlide","qcmGraphicSlide","services","Logger","console","options","translate","store","dispatch","createPlayerProps","createHeaderProps","availableSlides","slide","_id","createProgression","contentRef","engine","ref","version","content","type","state","nextContent","lives","livesDisabled","step","current","viewedResources","data","contents","chapter","entities","nonAdaptiveContent","isConditional","adaptiveContent","progressions","basic","plop","qcm","qcmDrag","qcmGraphic","template","context","adaptiveBasic","adaptiveQcm","adaptiveQcmDrag","adaptiveQcmGraphic","adaptiveContext","adaptiveTemplate","isDisabledFor","answer","progressionId","chapterId","chapter_id","ui","route","answers","value","cta","disabled","t","coaches","availableCoaches","props","headerProps","deepEqual","answerType","media","mimeType","url","is","typeClue","question","model","true","onChange","slideContext","undefined","submitValue","buttons","length","title","header","onClick","false","throws","message","plan","action","payload","meta","description","selected","foo","onClickSeeClue","progression","resources","showNewMedia","forEach","lessons","showReviewLesson","total","falsy","createLearnerProgression","check","levelId","level","chapterIds"],"sources":["../../../src/map-state-to-props/test/player.js"],"sourcesContent":["import test from 'ava';\nimport {map, get, isEmpty, set, pipe, fromPairs, isFunction, identity, omit} from 'lodash/fp';\n\nimport {mockTranslate} from '@coorpacademy/translate';\nimport {\n Analytics as AnalyticsService,\n Answers as AnswersService,\n Clues as CluesService,\n Coach as CoachService,\n Comments as CommentsService,\n Content as ContentService,\n ExitNodes as ExitNodesService,\n LeaderBoard as LeaderBoardService,\n Location as LocationService,\n Progressions as ProgressionsService,\n Recommendations as RecommendationsService\n} from '@coorpacademy/player-services';\nimport {UI_SELECT_ROUTE} from '@coorpacademy/player-store';\nimport createPlayer from '../player';\nimport createHeader from '../header';\nimport * as fixtures from '../../../sandbox/fixtures';\nimport learnerProgressionStateFixture from './fixtures/progression-learner';\nimport plopSlide from './fixtures/slides/plop';\nimport basicSlide from './fixtures/slides/basic';\nimport contextSlide from './fixtures/slides/with-context';\nimport templateSlide from './fixtures/slides/template';\nimport qcmSlide from './fixtures/slides/qcm';\nimport qcmDragSlide from './fixtures/slides/qcm-drag';\nimport qcmGraphicSlide from './fixtures/slides/qcm-graphic';\n\nconst services = {\n Analytics: AnalyticsService,\n Answers: AnswersService(fixtures),\n Clues: CluesService(fixtures),\n Coach: CoachService,\n Comments: CommentsService,\n Content: ContentService(fixtures),\n ExitNodes: ExitNodesService(fixtures),\n LeaderBoard: LeaderBoardService,\n Location: LocationService,\n Logger: console,\n Progressions: ProgressionsService(fixtures),\n Recommendations: RecommendationsService(fixtures)\n};\n\nexport const options = {translate: mockTranslate, services};\nexport const store = {dispatch: identity};\nconst createPlayerProps = createPlayer(options, store);\nconst createHeaderProps = createHeader(options, store);\n\nconst availableSlides = pipe(\n map(slide => [slide._id, slide]),\n fromPairs\n)([basicSlide, plopSlide, qcmSlide, qcmDragSlide, qcmGraphicSlide, contextSlide]);\n\nconst createProgression = (slide, contentRef) => ({\n engine: {\n ref: 'microlearning',\n version: '1'\n },\n content: {\n ref: contentRef,\n type: 'chapter'\n },\n state: {\n nextContent: {\n ref: slide._id,\n type: 'slide'\n },\n lives: 1,\n livesDisabled: false,\n step: {\n current: 1\n },\n viewedResources: []\n }\n});\n\nexport const data = {\n contents: {\n chapter: {\n entities: {\n nonAdaptiveContent: {\n _id: 'nonAdaptiveContent',\n isConditional: false\n },\n adaptiveContent: {\n _id: 'adaptiveContent',\n isConditional: true\n }\n }\n },\n slide: {\n entities: availableSlides\n }\n },\n progressions: {\n entities: {\n basic: createProgression(basicSlide, 'nonAdaptiveContent'),\n plop: createProgression(plopSlide, 'nonAdaptiveContent'),\n qcm: createProgression(qcmSlide, 'nonAdaptiveContent'),\n qcmDrag: createProgression(qcmDragSlide, 'nonAdaptiveContent'),\n qcmGraphic: createProgression(qcmGraphicSlide, 'nonAdaptiveContent'),\n template: createProgression(templateSlide, 'nonAdaptiveContent'),\n context: createProgression(contextSlide, 'nonAdaptiveContent'),\n adaptiveBasic: createProgression(basicSlide, 'adaptiveContent'),\n adaptiveQcm: createProgression(qcmSlide, 'adaptiveContent'),\n adaptiveQcmDrag: createProgression(qcmDragSlide, 'adaptiveContent'),\n adaptiveQcmGraphic: createProgression(qcmGraphicSlide, 'adaptiveContent'),\n adaptiveContext: createProgression(contextSlide, 'adaptiveContent'),\n adaptiveTemplate: createProgression(templateSlide, 'adaptiveContent')\n }\n }\n};\n\nconst isDisabledFor = (slide, isConditional, answer) => {\n const progressionId = 'progression';\n const chapterId = 'chapter';\n return createPlayerProps({\n data: {\n contents: {\n slide: {\n entities: {\n [slide._id]: {...slide, chapter_id: chapterId}\n }\n },\n chapter: {\n entities: {\n [chapterId]: {\n _id: chapterId,\n isConditional\n }\n }\n }\n },\n progressions: {\n entities: {\n [progressionId]: createProgression(slide, chapterId)\n }\n }\n },\n ui: {\n route: {[progressionId]: 'answer'},\n current: {progressionId},\n answers: {[progressionId]: {value: answer}}\n }\n }).cta.disabled;\n};\n\ntest('should create player props for basic question and show coaches', t => {\n const state = {\n data,\n ui: {\n route: {basic: 'answer'},\n current: {progressionId: 'basic'},\n coaches: {availableCoaches: 1}\n }\n };\n\n const props = createPlayerProps(state);\n const headerProps = createHeaderProps(state);\n\n t.deepEqual(props.answerType.media, {\n _id: '593eb72a187bd18c01283592',\n mimeType: 'image/jpeg',\n type: 'img',\n url: '//static.coorpacademy.com/content/ijoinchanel/en/slides/1B2_Q6/1B2-Q6-canap-v1.jpg'\n });\n t.is(props.typeClue, 'answer');\n t.is(props.question, \"Écrivez le mot Text dans l'input.\\n\");\n t.is(props.answerType.model.type, 'freeText');\n t.true(isFunction(props.answerType.model.onChange));\n t.is(props.slideContext, undefined);\n t.is(props.cta.submitValue, '__Validate');\n t.true(props.cta.disabled);\n\n t.is(props.buttons.length, 4);\n t.is(props.buttons[3].title, '__Coach');\n t.is(props.buttons[3].type, 'coach');\n t.deepEqual(omit('content.onClick', props.header), omit('content.onClick', headerProps));\n t.true(isFunction(props.header.content.onClick));\n});\ntest('should enable the validate button when there is an answer', t => {\n t.true(isDisabledFor(basicSlide, false, []));\n t.false(isDisabledFor(basicSlide, false, ['foo']));\n});\n\ntest('should enable the validate button when there are two answers in an non-adaptive content for all questions', t => {\n const answers = ['foo', 'bar'];\n\n t.false(isDisabledFor(basicSlide, false, answers));\n t.false(isDisabledFor(qcmSlide, false, answers));\n t.false(isDisabledFor(qcmGraphicSlide, false, answers));\n t.false(isDisabledFor(qcmDragSlide, false, answers));\n t.false(isDisabledFor(contextSlide, false, answers));\n t.false(isDisabledFor(templateSlide, false, answers));\n});\n\ntest('should disable the validate button when there are several answers in an adaptive content for qcm questions', t => {\n t.false(isDisabledFor(basicSlide, true, ['foo', 'bar']));\n t.true(isDisabledFor(qcmSlide, true, ['foo', 'bar']));\n t.true(isDisabledFor(qcmGraphicSlide, true, ['foo', 'bar']));\n t.false(isDisabledFor(qcmDragSlide, true, ['foo', 'bar']));\n t.false(isDisabledFor(contextSlide, true, ['foo', 'bar']));\n t.false(isDisabledFor(templateSlide, true, ['foo', 'bar']));\n\n t.false(isDisabledFor(basicSlide, true, ['foo', 'bar', 'baz']));\n t.true(isDisabledFor(qcmSlide, true, ['foo', 'bar', 'baz']));\n t.true(isDisabledFor(qcmGraphicSlide, true, ['foo', 'bar', 'baz']));\n t.false(isDisabledFor(qcmDragSlide, true, ['foo', 'bar', 'baz']));\n t.false(isDisabledFor(contextSlide, true, ['foo', 'bar', 'baz']));\n t.false(isDisabledFor(templateSlide, true, ['foo', 'bar', 'baz']));\n});\n\ntest('should disable the validate button when there the text answer has been deleted', t => {\n const state = {\n data,\n ui: {\n route: {basic: 'answer'},\n current: {progressionId: 'basic'},\n answers: {basic: {value: ['']}}\n }\n };\n\n const props = createPlayerProps(state);\n\n t.true(props.cta.disabled);\n});\n\ntest('should return defaut props when slide.question.type is not handles', t => {\n const state = {\n data,\n ui: {\n route: {basic: 'answer'},\n current: {progressionId: 'plop'},\n answers: {basic: {value: ['']}}\n }\n };\n\n t.throws(() => createPlayerProps(state), {message: 'plop is not an handled question.type'});\n});\n\ntest('should disable the validate button when no answer is provided', t => {\n const state = {\n data,\n ui: {\n route: {basic: 'answer'},\n current: {progressionId: 'basic'},\n answers: {}\n }\n };\n\n const props = createPlayerProps(state);\n\n t.true(props.cta.disabled);\n});\n\ntest('should disable the validate button when a previous selected answer has been unselected', t => {\n const state = {\n data,\n ui: {\n route: {basic: 'answer'},\n current: {progressionId: 'basic'},\n answers: {basic: {value: []}}\n }\n };\n\n const props = createPlayerProps(state);\n\n t.true(props.cta.disabled);\n});\n\ntest('should disable the validate button when some answer fields are empty', t => {\n const state = {\n data,\n ui: {\n route: {template: 'answer'},\n current: {progressionId: 'template'},\n answers: {template: {value: ['', 'Test']}}\n }\n };\n\n const props = createPlayerProps(state);\n\n t.true(props.cta.disabled);\n});\n\ntest('should disable the validate button when no answer has been selected by user on template question', t => {\n const state = {\n data,\n ui: {\n route: {template: 'answer'},\n current: {progressionId: 'template'}\n }\n };\n\n const props = createPlayerProps(state);\n\n t.true(props.cta.disabled);\n});\n\ntest('should display context tab button if slide context is available', t => {\n t.plan(10);\n const state = {\n data,\n ui: {\n route: {context: 'answer'},\n current: {progressionId: 'context'}\n }\n };\n\n const dispatch = action => {\n t.deepEqual(action, {\n type: UI_SELECT_ROUTE,\n payload: 'context',\n meta: {\n progressionId: 'context'\n }\n });\n };\n\n const props = createPlayer(options, {dispatch: action => action(dispatch, () => state)})(state);\n\n t.is(typeof props.slideContext, 'object');\n t.is(props.slideContext.title, 'Some context title');\n t.is(typeof props.slideContext.description, 'string');\n t.is(props.slideContext.description, contextSlide.context.description);\n t.is(props.buttons.length, 5);\n t.is(props.buttons[0].title, '__Context');\n t.is(props.buttons[0].type, 'context');\n t.false(props.buttons[0].selected);\n t.is(typeof props.buttons[0].onClick, 'function');\n\n props.buttons[0].onClick();\n});\n\ntest('should display \"Back to question\" for the cta in the tabs', t => {\n const state = {\n data,\n ui: {\n current: {progressionId: 'basic'},\n route: {\n basic: 'media'\n }\n }\n };\n\n const props = createPlayerProps(state);\n\n t.is(props.cta.submitValue, '__Back to question');\n\n state.ui.route.foo = 'clue';\n\n t.is(typeof props.onClickSeeClue, 'function');\n props.onClickSeeClue();\n\n t.is(props.cta.submitValue, '__Back to question');\n});\n\ntest('should display \"Go to question\" for the context tab cta', t => {\n const state = {\n data,\n ui: {\n current: {progressionId: 'basic'},\n route: {\n basic: 'context'\n }\n }\n };\n\n const props = createPlayerProps(state);\n t.is(props.cta.submitValue, '__Go to question');\n});\n\ntest('should display new media notification when user has not seen any media for the current slide', t => {\n const progression = createProgression(basicSlide);\n progression.state.viewedResources = [\n {\n resources: ['1234']\n }\n ];\n const state = {\n data: {\n contents: data.contents,\n progressions: {\n entities: {\n basic: progression\n }\n }\n },\n ui: {\n current: {progressionId: 'basic'},\n route: {\n basic: 'answer'\n }\n }\n };\n\n const props = createPlayerProps(state);\n t.true(props.showNewMedia);\n});\n\ntest('should display new media notification for the answer/undefined route when user has not seen any media', t => {\n const state = {\n data: {\n contents: data.contents,\n progressions: {\n entities: {\n basic: createProgression(basicSlide)\n }\n }\n },\n ui: {\n current: {progressionId: 'basic'},\n route: {}\n }\n };\n\n [undefined].forEach(route => {\n const props = createPlayerProps(set('ui.route.basic', route, state));\n t.true(isEmpty(props));\n });\n\n ['media', 'clue', 'context', 'answer'].forEach(route => {\n const props = createPlayerProps(set('ui.route.basic', route, state));\n t.false(isEmpty(props));\n });\n});\n\ntest('should not display new media notification for the other routes when user has not seen any media', t => {\n const state = {\n data: {\n contents: data.contents,\n progressions: {\n entities: {\n basic: createProgression(basicSlide)\n }\n }\n },\n ui: {\n current: {progressionId: 'basic'},\n route: {}\n }\n };\n\n ['media', 'clue'].forEach(route => {\n const props = createPlayerProps(set('ui.route.basic', route, state));\n t.false(props.showNewMedia);\n });\n});\n\ntest('should not display new media notification when user has seen at least one media of the current slide', t => {\n const progression = createProgression(basicSlide);\n progression.state.viewedResources = [\n {\n type: 'chapter',\n ref: basicSlide.chapter_id,\n resources: [basicSlide.lessons[0].ref]\n }\n ];\n const state = {\n data: {\n contents: data.contents,\n progressions: {\n entities: {\n basic: progression\n }\n }\n },\n ui: {\n current: {progressionId: 'basic'},\n route: {\n basic: 'answer'\n }\n }\n };\n\n const props = createPlayerProps(state);\n t.false(props.showNewMedia);\n});\n\ntest('should display review lesson notification when user has seen at least one media of the current slide', t => {\n const progression = createProgression(basicSlide);\n progression.state.viewedResources = [\n {\n type: 'chapter',\n ref: basicSlide.chapter_id,\n resources: [basicSlide.lessons[0].ref]\n }\n ];\n const state = {\n data: {\n contents: data.contents,\n progressions: {\n entities: {\n basic: progression\n }\n }\n },\n ui: {\n current: {progressionId: 'basic'},\n route: {\n basic: 'answer'\n }\n }\n };\n\n const props = createPlayerProps(state);\n t.true(props.showReviewLesson);\n});\n\ntest('should not display review lesson notification when user has not seen any media for the current slide', t => {\n const progression = createProgression(basicSlide);\n progression.state.viewedResources = [\n {\n type: 'chapter',\n ref: basicSlide.chapter_id,\n resources: []\n }\n ];\n const state = {\n data: {\n contents: data.contents,\n progressions: {\n entities: {\n basic: progression\n }\n }\n },\n ui: {\n current: {progressionId: 'basic'},\n route: {\n basic: 'answer'\n }\n }\n };\n\n const props = createPlayerProps(state);\n t.false(props.showReviewLesson);\n});\n\ntest('should feed step prop in non-adaptive mode', t => {\n const state = set(\n 'data.contents.level.entities.1.info.nbSlides',\n 12,\n learnerProgressionStateFixture\n );\n\n const props = createPlayerProps(state);\n\n t.deepEqual(props.step, {current: 0, total: 12});\n});\n\ntest('should not feed step prop in adaptive mode', t => {\n const state = pipe(\n set('data.contents.level.entities.1.info.nbSlides', 12),\n set('data.contents.chapter.entities.chapter2.isConditional', true)\n )(learnerProgressionStateFixture);\n\n const props = createPlayerProps(state);\n\n t.falsy(props.step);\n});\n\ntest('should not send an id prop in resources', t => {\n const props = createPlayerProps(learnerProgressionStateFixture);\n\n t.is(get('resources.0.id', props), undefined);\n});\n\nconst createLearnerProgression = (slide, contentRef) => ({\n engine: {\n ref: 'learner',\n version: '1'\n },\n content: {\n ref: contentRef,\n type: 'level'\n },\n state: {\n nextContent: {\n ref: slide._id,\n type: 'slide'\n },\n lives: 1,\n livesDisabled: false,\n step: {\n current: 1\n },\n viewedResources: []\n }\n});\n\nconst check = (slide, answer) => {\n const progressionId = 'progression';\n const levelId = 'level';\n const chapterId = 'chapter';\n return createPlayerProps({\n data: {\n contents: {\n slide: {\n entities: {\n [slide._id]: {...slide, chapter_id: chapterId}\n }\n },\n level: {\n entities: {\n [levelId]: {\n ref: levelId,\n chapterIds: [chapterId],\n isConditional: true\n }\n }\n },\n chapter: {\n entities: {\n [chapterId]: {\n _id: chapterId,\n isConditional: false\n }\n }\n }\n },\n progressions: {\n entities: {\n [progressionId]: createLearnerProgression(slide, levelId)\n }\n }\n },\n ui: {\n route: {[progressionId]: 'answer'},\n current: {progressionId},\n answers: {[progressionId]: {value: answer}}\n }\n }).cta.disabled;\n};\n\ntest('should allow multi answers on adaptive level if the current chapter is not adaptive', t => {\n t.true(check(basicSlide, []));\n t.true(check(qcmSlide, []));\n t.true(check(qcmGraphicSlide, []));\n t.true(check(qcmDragSlide, []));\n t.true(check(contextSlide, []));\n t.true(check(templateSlide, []));\n\n t.false(check(basicSlide, ['foo']));\n t.false(check(qcmSlide, ['foo']));\n t.false(check(qcmGraphicSlide, ['foo']));\n t.false(check(qcmDragSlide, ['foo']));\n t.false(check(contextSlide, ['foo']));\n t.false(check(templateSlide, ['foo']));\n\n t.false(check(basicSlide, ['foo', 'bar']));\n t.false(check(qcmSlide, ['foo', 'bar']));\n t.false(check(qcmGraphicSlide, ['foo', 'bar']));\n t.false(check(qcmDragSlide, ['foo', 'bar']));\n t.false(check(contextSlide, ['foo', 'bar']));\n t.false(check(templateSlide, ['foo', 'bar']));\n});\n"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/map-state-to-props/test/player.js"],"names":["test","mockTranslate","Analytics","AnalyticsService","Answers","AnswersService","Clues","CluesService","Coach","CoachService","Comments","CommentsService","Content","ContentService","ExitNodes","ExitNodesService","LeaderBoard","LeaderBoardService","Location","LocationService","Progressions","ProgressionsService","Recommendations","RecommendationsService","UI_SELECT_ROUTE","createPlayer","createHeader","fixtures","learnerProgressionStateFixture","plopSlide","basicSlide","contextSlide","templateSlide","qcmSlide","qcmDragSlide","qcmGraphicSlide","services","Logger","console","options","translate","store","dispatch","createPlayerProps","createHeaderProps","availableSlides","slide","_id","createProgression","contentRef","engine","ref","version","content","type","state","nextContent","lives","livesDisabled","step","current","viewedResources","data","contents","chapter","entities","nonAdaptiveContent","isConditional","adaptiveContent","progressions","basic","plop","qcm","qcmDrag","qcmGraphic","template","context","adaptiveBasic","adaptiveQcm","adaptiveQcmDrag","adaptiveQcmGraphic","adaptiveContext","adaptiveTemplate","isDisabledFor","answer","progressionId","chapterId","chapter_id","ui","route","answers","value","cta","disabled","t","coaches","availableCoaches","props","headerProps","deepEqual","answerType","media","mimeType","url","is","typeClue","question","model","true","onChange","slideContext","undefined","submitValue","buttons","length","title","header","onClick","false","throws","message","plan","action","payload","meta","description","selected","foo","onClickSeeClue","progression","resources","showNewMedia","forEach","lessons","showReviewLesson","total","falsy","createLearnerProgression","check","levelId","level","chapterIds"],"mappings":"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","sourcesContent":["import test from 'ava';\nimport {map, get, isEmpty, set, pipe, fromPairs, isFunction, identity, omit} from 'lodash/fp';\n\nimport {mockTranslate} from '@coorpacademy/translate';\nimport {\n Analytics as AnalyticsService,\n Answers as AnswersService,\n Clues as CluesService,\n Coach as CoachService,\n Comments as CommentsService,\n Content as ContentService,\n ExitNodes as ExitNodesService,\n LeaderBoard as LeaderBoardService,\n Location as LocationService,\n Progressions as ProgressionsService,\n Recommendations as RecommendationsService\n} from '@coorpacademy/player-services';\nimport {UI_SELECT_ROUTE} from '@coorpacademy/player-store';\nimport createPlayer from '../player';\nimport createHeader from '../header';\nimport * as fixtures from '../../../sandbox/fixtures';\nimport learnerProgressionStateFixture from './fixtures/progression-learner';\nimport plopSlide from './fixtures/slides/plop';\nimport basicSlide from './fixtures/slides/basic';\nimport contextSlide from './fixtures/slides/with-context';\nimport templateSlide from './fixtures/slides/template';\nimport qcmSlide from './fixtures/slides/qcm';\nimport qcmDragSlide from './fixtures/slides/qcm-drag';\nimport qcmGraphicSlide from './fixtures/slides/qcm-graphic';\n\nconst services = {\n Analytics: AnalyticsService,\n Answers: AnswersService(fixtures),\n Clues: CluesService(fixtures),\n Coach: CoachService,\n Comments: CommentsService,\n Content: ContentService(fixtures),\n ExitNodes: ExitNodesService(fixtures),\n LeaderBoard: LeaderBoardService,\n Location: LocationService,\n Logger: console,\n Progressions: ProgressionsService(fixtures),\n Recommendations: RecommendationsService(fixtures)\n};\n\nexport const options = {translate: mockTranslate, services};\nexport const store = {dispatch: identity};\nconst createPlayerProps = createPlayer(options, store);\nconst createHeaderProps = createHeader(options, store);\n\nconst availableSlides = pipe(\n map(slide => [slide._id, slide]),\n fromPairs\n)([basicSlide, plopSlide, qcmSlide, qcmDragSlide, qcmGraphicSlide, contextSlide]);\n\nconst createProgression = (slide, contentRef) => ({\n engine: {\n ref: 'microlearning',\n version: '1'\n },\n content: {\n ref: contentRef,\n type: 'chapter'\n },\n state: {\n nextContent: {\n ref: slide._id,\n type: 'slide'\n },\n lives: 1,\n livesDisabled: false,\n step: {\n current: 1\n },\n viewedResources: []\n }\n});\n\nexport const data = {\n contents: {\n chapter: {\n entities: {\n nonAdaptiveContent: {\n _id: 'nonAdaptiveContent',\n isConditional: false\n },\n adaptiveContent: {\n _id: 'adaptiveContent',\n isConditional: true\n }\n }\n },\n slide: {\n entities: availableSlides\n }\n },\n progressions: {\n entities: {\n basic: createProgression(basicSlide, 'nonAdaptiveContent'),\n plop: createProgression(plopSlide, 'nonAdaptiveContent'),\n qcm: createProgression(qcmSlide, 'nonAdaptiveContent'),\n qcmDrag: createProgression(qcmDragSlide, 'nonAdaptiveContent'),\n qcmGraphic: createProgression(qcmGraphicSlide, 'nonAdaptiveContent'),\n template: createProgression(templateSlide, 'nonAdaptiveContent'),\n context: createProgression(contextSlide, 'nonAdaptiveContent'),\n adaptiveBasic: createProgression(basicSlide, 'adaptiveContent'),\n adaptiveQcm: createProgression(qcmSlide, 'adaptiveContent'),\n adaptiveQcmDrag: createProgression(qcmDragSlide, 'adaptiveContent'),\n adaptiveQcmGraphic: createProgression(qcmGraphicSlide, 'adaptiveContent'),\n adaptiveContext: createProgression(contextSlide, 'adaptiveContent'),\n adaptiveTemplate: createProgression(templateSlide, 'adaptiveContent')\n }\n }\n};\n\nconst isDisabledFor = (slide, isConditional, answer) => {\n const progressionId = 'progression';\n const chapterId = 'chapter';\n return createPlayerProps({\n data: {\n contents: {\n slide: {\n entities: {\n [slide._id]: {...slide, chapter_id: chapterId}\n }\n },\n chapter: {\n entities: {\n [chapterId]: {\n _id: chapterId,\n isConditional\n }\n }\n }\n },\n progressions: {\n entities: {\n [progressionId]: createProgression(slide, chapterId)\n }\n }\n },\n ui: {\n route: {[progressionId]: 'answer'},\n current: {progressionId},\n answers: {[progressionId]: {value: answer}}\n }\n }).cta.disabled;\n};\n\ntest('should create player props for basic question and show coaches', t => {\n const state = {\n data,\n ui: {\n route: {basic: 'answer'},\n current: {progressionId: 'basic'},\n coaches: {availableCoaches: 1}\n }\n };\n\n const props = createPlayerProps(state);\n const headerProps = createHeaderProps(state);\n\n t.deepEqual(props.answerType.media, {\n _id: '593eb72a187bd18c01283592',\n mimeType: 'image/jpeg',\n type: 'img',\n url: '//static.coorpacademy.com/content/ijoinchanel/en/slides/1B2_Q6/1B2-Q6-canap-v1.jpg'\n });\n t.is(props.typeClue, 'answer');\n t.is(props.question, \"Écrivez le mot Text dans l'input.\\n\");\n t.is(props.answerType.model.type, 'freeText');\n t.true(isFunction(props.answerType.model.onChange));\n t.is(props.slideContext, undefined);\n t.is(props.cta.submitValue, '__Validate');\n t.true(props.cta.disabled);\n\n t.is(props.buttons.length, 4);\n t.is(props.buttons[3].title, '__Coach');\n t.is(props.buttons[3].type, 'coach');\n t.deepEqual(omit('content.onClick', props.header), omit('content.onClick', headerProps));\n t.true(isFunction(props.header.content.onClick));\n});\ntest('should enable the validate button when there is an answer', t => {\n t.true(isDisabledFor(basicSlide, false, []));\n t.false(isDisabledFor(basicSlide, false, ['foo']));\n});\n\ntest('should enable the validate button when there are two answers in an non-adaptive content for all questions', t => {\n const answers = ['foo', 'bar'];\n\n t.false(isDisabledFor(basicSlide, false, answers));\n t.false(isDisabledFor(qcmSlide, false, answers));\n t.false(isDisabledFor(qcmGraphicSlide, false, answers));\n t.false(isDisabledFor(qcmDragSlide, false, answers));\n t.false(isDisabledFor(contextSlide, false, answers));\n t.false(isDisabledFor(templateSlide, false, answers));\n});\n\ntest('should disable the validate button when there are several answers in an adaptive content for qcm questions', t => {\n t.false(isDisabledFor(basicSlide, true, ['foo', 'bar']));\n t.true(isDisabledFor(qcmSlide, true, ['foo', 'bar']));\n t.true(isDisabledFor(qcmGraphicSlide, true, ['foo', 'bar']));\n t.false(isDisabledFor(qcmDragSlide, true, ['foo', 'bar']));\n t.false(isDisabledFor(contextSlide, true, ['foo', 'bar']));\n t.false(isDisabledFor(templateSlide, true, ['foo', 'bar']));\n\n t.false(isDisabledFor(basicSlide, true, ['foo', 'bar', 'baz']));\n t.true(isDisabledFor(qcmSlide, true, ['foo', 'bar', 'baz']));\n t.true(isDisabledFor(qcmGraphicSlide, true, ['foo', 'bar', 'baz']));\n t.false(isDisabledFor(qcmDragSlide, true, ['foo', 'bar', 'baz']));\n t.false(isDisabledFor(contextSlide, true, ['foo', 'bar', 'baz']));\n t.false(isDisabledFor(templateSlide, true, ['foo', 'bar', 'baz']));\n});\n\ntest('should disable the validate button when there the text answer has been deleted', t => {\n const state = {\n data,\n ui: {\n route: {basic: 'answer'},\n current: {progressionId: 'basic'},\n answers: {basic: {value: ['']}}\n }\n };\n\n const props = createPlayerProps(state);\n\n t.true(props.cta.disabled);\n});\n\ntest('should return defaut props when slide.question.type is not handles', t => {\n const state = {\n data,\n ui: {\n route: {basic: 'answer'},\n current: {progressionId: 'plop'},\n answers: {basic: {value: ['']}}\n }\n };\n\n t.throws(() => createPlayerProps(state), {message: 'plop is not an handled question.type'});\n});\n\ntest('should disable the validate button when no answer is provided', t => {\n const state = {\n data,\n ui: {\n route: {basic: 'answer'},\n current: {progressionId: 'basic'},\n answers: {}\n }\n };\n\n const props = createPlayerProps(state);\n\n t.true(props.cta.disabled);\n});\n\ntest('should disable the validate button when a previous selected answer has been unselected', t => {\n const state = {\n data,\n ui: {\n route: {basic: 'answer'},\n current: {progressionId: 'basic'},\n answers: {basic: {value: []}}\n }\n };\n\n const props = createPlayerProps(state);\n\n t.true(props.cta.disabled);\n});\n\ntest('should disable the validate button when some answer fields are empty', t => {\n const state = {\n data,\n ui: {\n route: {template: 'answer'},\n current: {progressionId: 'template'},\n answers: {template: {value: ['', 'Test']}}\n }\n };\n\n const props = createPlayerProps(state);\n\n t.true(props.cta.disabled);\n});\n\ntest('should disable the validate button when no answer has been selected by user on template question', t => {\n const state = {\n data,\n ui: {\n route: {template: 'answer'},\n current: {progressionId: 'template'}\n }\n };\n\n const props = createPlayerProps(state);\n\n t.true(props.cta.disabled);\n});\n\ntest('should display context tab button if slide context is available', t => {\n t.plan(10);\n const state = {\n data,\n ui: {\n route: {context: 'answer'},\n current: {progressionId: 'context'}\n }\n };\n\n const dispatch = action => {\n t.deepEqual(action, {\n type: UI_SELECT_ROUTE,\n payload: 'context',\n meta: {\n progressionId: 'context'\n }\n });\n };\n\n const props = createPlayer(options, {dispatch: action => action(dispatch, () => state)})(state);\n\n t.is(typeof props.slideContext, 'object');\n t.is(props.slideContext.title, 'Some context title');\n t.is(typeof props.slideContext.description, 'string');\n t.is(props.slideContext.description, contextSlide.context.description);\n t.is(props.buttons.length, 5);\n t.is(props.buttons[0].title, '__Context');\n t.is(props.buttons[0].type, 'context');\n t.false(props.buttons[0].selected);\n t.is(typeof props.buttons[0].onClick, 'function');\n\n props.buttons[0].onClick();\n});\n\ntest('should display \"Back to question\" for the cta in the tabs', t => {\n const state = {\n data,\n ui: {\n current: {progressionId: 'basic'},\n route: {\n basic: 'media'\n }\n }\n };\n\n const props = createPlayerProps(state);\n\n t.is(props.cta.submitValue, '__Back to question');\n\n state.ui.route.foo = 'clue';\n\n t.is(typeof props.onClickSeeClue, 'function');\n props.onClickSeeClue();\n\n t.is(props.cta.submitValue, '__Back to question');\n});\n\ntest('should display \"Go to question\" for the context tab cta', t => {\n const state = {\n data,\n ui: {\n current: {progressionId: 'basic'},\n route: {\n basic: 'context'\n }\n }\n };\n\n const props = createPlayerProps(state);\n t.is(props.cta.submitValue, '__Go to question');\n});\n\ntest('should display new media notification when user has not seen any media for the current slide', t => {\n const progression = createProgression(basicSlide);\n progression.state.viewedResources = [\n {\n resources: ['1234']\n }\n ];\n const state = {\n data: {\n contents: data.contents,\n progressions: {\n entities: {\n basic: progression\n }\n }\n },\n ui: {\n current: {progressionId: 'basic'},\n route: {\n basic: 'answer'\n }\n }\n };\n\n const props = createPlayerProps(state);\n t.true(props.showNewMedia);\n});\n\ntest('should display new media notification for the answer/undefined route when user has not seen any media', t => {\n const state = {\n data: {\n contents: data.contents,\n progressions: {\n entities: {\n basic: createProgression(basicSlide)\n }\n }\n },\n ui: {\n current: {progressionId: 'basic'},\n route: {}\n }\n };\n\n [undefined].forEach(route => {\n const props = createPlayerProps(set('ui.route.basic', route, state));\n t.true(isEmpty(props));\n });\n\n ['media', 'clue', 'context', 'answer'].forEach(route => {\n const props = createPlayerProps(set('ui.route.basic', route, state));\n t.false(isEmpty(props));\n });\n});\n\ntest('should not display new media notification for the other routes when user has not seen any media', t => {\n const state = {\n data: {\n contents: data.contents,\n progressions: {\n entities: {\n basic: createProgression(basicSlide)\n }\n }\n },\n ui: {\n current: {progressionId: 'basic'},\n route: {}\n }\n };\n\n ['media', 'clue'].forEach(route => {\n const props = createPlayerProps(set('ui.route.basic', route, state));\n t.false(props.showNewMedia);\n });\n});\n\ntest('should not display new media notification when user has seen at least one media of the current slide', t => {\n const progression = createProgression(basicSlide);\n progression.state.viewedResources = [\n {\n type: 'chapter',\n ref: basicSlide.chapter_id,\n resources: [basicSlide.lessons[0].ref]\n }\n ];\n const state = {\n data: {\n contents: data.contents,\n progressions: {\n entities: {\n basic: progression\n }\n }\n },\n ui: {\n current: {progressionId: 'basic'},\n route: {\n basic: 'answer'\n }\n }\n };\n\n const props = createPlayerProps(state);\n t.false(props.showNewMedia);\n});\n\ntest('should display review lesson notification when user has seen at least one media of the current slide', t => {\n const progression = createProgression(basicSlide);\n progression.state.viewedResources = [\n {\n type: 'chapter',\n ref: basicSlide.chapter_id,\n resources: [basicSlide.lessons[0].ref]\n }\n ];\n const state = {\n data: {\n contents: data.contents,\n progressions: {\n entities: {\n basic: progression\n }\n }\n },\n ui: {\n current: {progressionId: 'basic'},\n route: {\n basic: 'answer'\n }\n }\n };\n\n const props = createPlayerProps(state);\n t.true(props.showReviewLesson);\n});\n\ntest('should not display review lesson notification when user has not seen any media for the current slide', t => {\n const progression = createProgression(basicSlide);\n progression.state.viewedResources = [\n {\n type: 'chapter',\n ref: basicSlide.chapter_id,\n resources: []\n }\n ];\n const state = {\n data: {\n contents: data.contents,\n progressions: {\n entities: {\n basic: progression\n }\n }\n },\n ui: {\n current: {progressionId: 'basic'},\n route: {\n basic: 'answer'\n }\n }\n };\n\n const props = createPlayerProps(state);\n t.false(props.showReviewLesson);\n});\n\ntest('should feed step prop in non-adaptive mode', t => {\n const state = set(\n 'data.contents.level.entities.1.info.nbSlides',\n 12,\n learnerProgressionStateFixture\n );\n\n const props = createPlayerProps(state);\n\n t.deepEqual(props.step, {current: 0, total: 12});\n});\n\ntest('should not feed step prop in adaptive mode', t => {\n const state = pipe(\n set('data.contents.level.entities.1.info.nbSlides', 12),\n set('data.contents.chapter.entities.chapter2.isConditional', true)\n )(learnerProgressionStateFixture);\n\n const props = createPlayerProps(state);\n\n t.falsy(props.step);\n});\n\ntest('should not send an id prop in resources', t => {\n const props = createPlayerProps(learnerProgressionStateFixture);\n\n t.is(get('resources.0.id', props), undefined);\n});\n\nconst createLearnerProgression = (slide, contentRef) => ({\n engine: {\n ref: 'learner',\n version: '1'\n },\n content: {\n ref: contentRef,\n type: 'level'\n },\n state: {\n nextContent: {\n ref: slide._id,\n type: 'slide'\n },\n lives: 1,\n livesDisabled: false,\n step: {\n current: 1\n },\n viewedResources: []\n }\n});\n\nconst check = (slide, answer) => {\n const progressionId = 'progression';\n const levelId = 'level';\n const chapterId = 'chapter';\n return createPlayerProps({\n data: {\n contents: {\n slide: {\n entities: {\n [slide._id]: {...slide, chapter_id: chapterId}\n }\n },\n level: {\n entities: {\n [levelId]: {\n ref: levelId,\n chapterIds: [chapterId],\n isConditional: true\n }\n }\n },\n chapter: {\n entities: {\n [chapterId]: {\n _id: chapterId,\n isConditional: false\n }\n }\n }\n },\n progressions: {\n entities: {\n [progressionId]: createLearnerProgression(slide, levelId)\n }\n }\n },\n ui: {\n route: {[progressionId]: 'answer'},\n current: {progressionId},\n answers: {[progressionId]: {value: answer}}\n }\n }).cta.disabled;\n};\n\ntest('should allow multi answers on adaptive level if the current chapter is not adaptive', t => {\n t.true(check(basicSlide, []));\n t.true(check(qcmSlide, []));\n t.true(check(qcmGraphicSlide, []));\n t.true(check(qcmDragSlide, []));\n t.true(check(contextSlide, []));\n t.true(check(templateSlide, []));\n\n t.false(check(basicSlide, ['foo']));\n t.false(check(qcmSlide, ['foo']));\n t.false(check(qcmGraphicSlide, ['foo']));\n t.false(check(qcmDragSlide, ['foo']));\n t.false(check(contextSlide, ['foo']));\n t.false(check(templateSlide, ['foo']));\n\n t.false(check(basicSlide, ['foo', 'bar']));\n t.false(check(qcmSlide, ['foo', 'bar']));\n t.false(check(qcmGraphicSlide, ['foo', 'bar']));\n t.false(check(qcmDragSlide, ['foo', 'bar']));\n t.false(check(contextSlide, ['foo', 'bar']));\n t.false(check(templateSlide, ['foo', 'bar']));\n});\n"],"file":"player.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"popin-correction.create-header-cta.js","names":["test","mockTranslate","ANSWER_FETCH_REQUEST","ANSWER_FETCH_SUCCESS","CONTENT_FETCH_REQUEST","CONTENT_FETCH_SUCCESS","CONTENT_INFO_FETCH_REQUEST","CONTENT_INFO_FETCH_SUCCESS","ENGINE_CONFIG_FETCH_REQUEST","EXIT_NODE_FETCH_REQUEST","EXIT_NODE_FETCH_SUCCESS","getCurrentProgressionId","NEXT_CONTENT_FETCH_REQUEST","NEXT_CONTENT_FETCH_SUCCESS","PROGRESSION_EXTRALIFEACCEPTED_REQUEST","PROGRESSION_EXTRALIFEACCEPTED_SUCCESS","PROGRESSION_EXTRALIFEREFUSED_REQUEST","PROGRESSION_EXTRALIFEREFUSED_SUCCESS","PROGRESSION_FETCH_BESTOF_REQUEST","PROGRESSION_FETCH_BESTOF_SUCCESS","PROGRESSION_FETCH_REQUEST","RANK_FETCH_END_REQUEST","RANK_FETCH_END_SUCCESS","RANK_FETCH_START_REQUEST","RANK_FETCH_START_SUCCESS","RECO_FETCH_REQUEST","RECO_FETCH_SUCCESS","UI_PROGRESSION_ACTION_TYPES","PROGRESSION_UPDATED_ON_MOVE","UI_SELECT_ROUTE","createHeaderCTA","openPopinAssistance","popinExtraLife","popinFailure","popinRevival","popinSuccess","popinSuccessNode","popinNextLevel","services","Answers","findById","Analytics","sendProgressionAnalytics","Progressions","findBestOf","getEngineConfig","acceptExtraLife","refuseExtraLife","openAssistance","Content","find","type","ref","Promise","resolve","chapter_id","_id","foo","getInfo","Location","getRedirectURLAfterEnd","LeaderBoard","getRank","Recommendations","getNext","ExitNodes","createDispatch","state","getState","action","dispatched","dispatch","maybeAction","push","actionTypes","actions","metaOf","actionType","meta","t","linkAssistance","deepEqual","OPEN_ASSISTANCE_REQUEST","OPEN_ASSISTANCE_SUCCESS","progressionId","cta","translate","title","onClick","SELECT_PROGRESSION","id","nextStepTitle","data","progressions","entities","content","currentSlideRef","nextContent","prevSlideRef","contents","slide","createHeader","is","undefined","ctaSuccess","ctaFailure"],"sources":["../../../src/map-state-to-props/test/popin-correction.create-header-cta.js"],"sourcesContent":["import test from 'ava';\nimport {map, set, find, omit, identity, cloneDeep, isFunction} from 'lodash/fp';\n\nimport {mockTranslate} from '@coorpacademy/translate';\n\nimport {\n ANSWER_FETCH_REQUEST,\n ANSWER_FETCH_SUCCESS,\n CONTENT_FETCH_REQUEST,\n CONTENT_FETCH_SUCCESS,\n CONTENT_INFO_FETCH_REQUEST,\n CONTENT_INFO_FETCH_SUCCESS,\n ENGINE_CONFIG_FETCH_REQUEST,\n EXIT_NODE_FETCH_REQUEST,\n EXIT_NODE_FETCH_SUCCESS,\n getCurrentProgressionId,\n NEXT_CONTENT_FETCH_REQUEST,\n NEXT_CONTENT_FETCH_SUCCESS,\n PROGRESSION_EXTRALIFEACCEPTED_REQUEST,\n PROGRESSION_EXTRALIFEACCEPTED_SUCCESS,\n PROGRESSION_EXTRALIFEREFUSED_REQUEST,\n PROGRESSION_EXTRALIFEREFUSED_SUCCESS,\n PROGRESSION_FETCH_BESTOF_REQUEST,\n PROGRESSION_FETCH_BESTOF_SUCCESS,\n PROGRESSION_FETCH_REQUEST,\n RANK_FETCH_END_REQUEST,\n RANK_FETCH_END_SUCCESS,\n RANK_FETCH_START_REQUEST,\n RANK_FETCH_START_SUCCESS,\n RECO_FETCH_REQUEST,\n RECO_FETCH_SUCCESS,\n UI_PROGRESSION_ACTION_TYPES,\n PROGRESSION_UPDATED_ON_MOVE,\n UI_SELECT_ROUTE\n} from '@coorpacademy/player-store';\nimport {createHeaderCTA, openPopinAssistance} from '../popin-correction';\nimport popinExtraLife from './fixtures/popin-correction/popin-extra-life';\nimport popinFailure from './fixtures/popin-correction/popin-failure';\nimport popinRevival from './fixtures/popin-correction/popin-revival';\nimport popinSuccess from './fixtures/popin-correction/popin-success';\nimport popinSuccessNode from './fixtures/popin-correction/popin-success-node';\nimport popinNextLevel from './fixtures/popin-correction/popin-next-level';\n\nconst services = {\n Answers: {\n findById: identity\n },\n Analytics: {\n sendProgressionAnalytics: identity\n },\n Progressions: {\n findById: identity,\n findBestOf: identity,\n getEngineConfig: identity,\n acceptExtraLife: identity,\n refuseExtraLife: identity,\n openAssistance: identity\n },\n Content: {\n find: (type, ref) => {\n if (type === 'slide') {\n return Promise.resolve({chapter_id: 'chapId', _id: ref, foo: 'bar'});\n } else if (type === 'chapter') {\n return Promise.resolve({_id: ref, foo: 'baz'});\n }\n },\n getInfo: identity\n },\n Location: {\n getRedirectURLAfterEnd: () => ''\n },\n LeaderBoard: {\n getRank: identity\n },\n Recommendations: {\n find: identity,\n getNext: identity\n },\n ExitNodes: {\n findById: identity\n }\n};\n\nconst createDispatch = state => {\n const getState = () => state;\n\n return async action => {\n const dispatched = [];\n const dispatch = maybeAction => {\n if (!isFunction(maybeAction)) {\n dispatched.push(maybeAction);\n return maybeAction;\n }\n return maybeAction(dispatch, getState, {services});\n };\n\n await dispatch(action);\n\n return dispatched;\n };\n};\n\nconst actionTypes = actions => map(({type}) => type, actions);\n\nconst metaOf = (actionType, actions) => {\n const action = find(({type}) => type === actionType, actions);\n\n return action && action.meta;\n};\n\ntest('should open Assistance', async t => {\n const state = popinSuccess;\n const dispatch = createDispatch(state);\n const linkAssistance = openPopinAssistance(dispatch, {});\n\n const dispatched = await linkAssistance();\n t.deepEqual(actionTypes(dispatched), [\n UI_PROGRESSION_ACTION_TYPES.OPEN_ASSISTANCE_REQUEST,\n UI_PROGRESSION_ACTION_TYPES.OPEN_ASSISTANCE_SUCCESS\n ]);\n});\n\ntest('should create a \"Next\" CTA when entering a success popin', async t => {\n const state = popinSuccess;\n const progressionId = getCurrentProgressionId(state);\n const dispatch = createDispatch(state);\n const cta = createHeaderCTA({translate: mockTranslate}, {dispatch})(state);\n\n t.deepEqual(omit('onClick', cta), {\n title: '__Next'\n });\n const dispatched = await cta.onClick();\n t.deepEqual(actionTypes(dispatched), [\n UI_PROGRESSION_ACTION_TYPES.SELECT_PROGRESSION,\n PROGRESSION_FETCH_REQUEST,\n CONTENT_FETCH_REQUEST,\n RANK_FETCH_START_REQUEST,\n PROGRESSION_FETCH_BESTOF_REQUEST,\n ENGINE_CONFIG_FETCH_REQUEST,\n CONTENT_INFO_FETCH_REQUEST,\n CONTENT_FETCH_REQUEST,\n CONTENT_FETCH_REQUEST,\n RANK_FETCH_START_SUCCESS,\n PROGRESSION_FETCH_BESTOF_SUCCESS,\n CONTENT_INFO_FETCH_SUCCESS,\n CONTENT_FETCH_SUCCESS,\n UI_SELECT_ROUTE\n ]);\n\n t.deepEqual(metaOf(PROGRESSION_FETCH_REQUEST, dispatched), {id: progressionId});\n});\n\ntest('should create a \"Next\" CTA when entering a success exit popin', async t => {\n const state = popinSuccessNode;\n const progressionId = getCurrentProgressionId(state);\n const dispatch = createDispatch(state);\n const cta = createHeaderCTA({translate: mockTranslate}, {dispatch})(state);\n\n t.deepEqual(omit('onClick', cta), {\n title: '__Next'\n });\n const dispatched = await cta.onClick();\n t.deepEqual(actionTypes(dispatched), [\n UI_PROGRESSION_ACTION_TYPES.SELECT_PROGRESSION,\n PROGRESSION_FETCH_REQUEST,\n CONTENT_FETCH_REQUEST,\n CONTENT_FETCH_SUCCESS,\n RANK_FETCH_START_REQUEST,\n PROGRESSION_FETCH_BESTOF_REQUEST,\n ENGINE_CONFIG_FETCH_REQUEST,\n CONTENT_INFO_FETCH_REQUEST,\n RECO_FETCH_REQUEST,\n RANK_FETCH_END_REQUEST,\n NEXT_CONTENT_FETCH_REQUEST,\n EXIT_NODE_FETCH_REQUEST,\n RANK_FETCH_START_SUCCESS,\n PROGRESSION_FETCH_BESTOF_SUCCESS,\n CONTENT_INFO_FETCH_SUCCESS,\n RECO_FETCH_SUCCESS,\n RANK_FETCH_END_SUCCESS,\n NEXT_CONTENT_FETCH_SUCCESS,\n EXIT_NODE_FETCH_SUCCESS\n ]);\n\n t.deepEqual(metaOf(PROGRESSION_FETCH_REQUEST, dispatched), {id: progressionId});\n});\n\ntest('should create a \"Game over\" CTA when entering a failure exit popin', async t => {\n const state = popinFailure;\n const progressionId = getCurrentProgressionId(state);\n const dispatch = createDispatch(state);\n const cta = createHeaderCTA({translate: mockTranslate}, {dispatch})(state);\n\n t.deepEqual(omit('onClick', cta), {\n title: '__Game over',\n nextStepTitle: '__Click to continue'\n });\n const dispatched = await cta.onClick();\n t.deepEqual(actionTypes(dispatched), [\n UI_PROGRESSION_ACTION_TYPES.SELECT_PROGRESSION,\n PROGRESSION_FETCH_REQUEST,\n CONTENT_FETCH_REQUEST,\n RANK_FETCH_START_REQUEST,\n PROGRESSION_FETCH_BESTOF_REQUEST,\n ENGINE_CONFIG_FETCH_REQUEST,\n CONTENT_INFO_FETCH_REQUEST,\n RECO_FETCH_REQUEST,\n RANK_FETCH_END_REQUEST,\n NEXT_CONTENT_FETCH_REQUEST,\n EXIT_NODE_FETCH_REQUEST,\n RANK_FETCH_START_SUCCESS,\n PROGRESSION_FETCH_BESTOF_SUCCESS,\n CONTENT_INFO_FETCH_SUCCESS,\n RECO_FETCH_SUCCESS,\n RANK_FETCH_END_SUCCESS,\n NEXT_CONTENT_FETCH_SUCCESS,\n EXIT_NODE_FETCH_SUCCESS\n ]);\n\n t.deepEqual(metaOf(PROGRESSION_FETCH_REQUEST, dispatched), {id: progressionId});\n});\n\ntest('should create a \"Quit\" CTA when entering an extra-life popin', async t => {\n const state = popinExtraLife;\n const progressionId = getCurrentProgressionId(state);\n const dispatch = createDispatch(state);\n const cta = createHeaderCTA({translate: mockTranslate}, {dispatch})(state);\n\n t.deepEqual(omit('onClick', cta), {\n title: '__Quit'\n });\n const dispatched = await cta.onClick();\n const actions = actionTypes(dispatched);\n\n t.deepEqual(actions, [\n PROGRESSION_EXTRALIFEREFUSED_REQUEST,\n PROGRESSION_EXTRALIFEREFUSED_SUCCESS,\n PROGRESSION_UPDATED_ON_MOVE,\n UI_PROGRESSION_ACTION_TYPES.SELECT_PROGRESSION,\n PROGRESSION_FETCH_REQUEST,\n CONTENT_FETCH_REQUEST,\n RANK_FETCH_START_REQUEST,\n PROGRESSION_FETCH_BESTOF_REQUEST,\n ENGINE_CONFIG_FETCH_REQUEST,\n CONTENT_INFO_FETCH_REQUEST,\n CONTENT_FETCH_REQUEST,\n ANSWER_FETCH_REQUEST,\n RANK_FETCH_START_SUCCESS,\n PROGRESSION_FETCH_BESTOF_SUCCESS,\n CONTENT_INFO_FETCH_SUCCESS,\n ANSWER_FETCH_SUCCESS\n ]);\n\n t.deepEqual(metaOf(PROGRESSION_FETCH_REQUEST, dispatched), {id: progressionId});\n});\n\ntest('should create an \"Accept\" CTA when entering a revival popin', async t => {\n const state = popinRevival;\n const progressionId = getCurrentProgressionId(state);\n const dispatch = createDispatch(state);\n const cta = createHeaderCTA({translate: mockTranslate}, {dispatch})(state);\n\n t.deepEqual(omit('onClick', cta), {\n title: '__Next'\n });\n const dispatched = await cta.onClick();\n t.deepEqual(actionTypes(dispatched), [\n PROGRESSION_EXTRALIFEACCEPTED_REQUEST,\n PROGRESSION_EXTRALIFEACCEPTED_SUCCESS,\n PROGRESSION_UPDATED_ON_MOVE,\n UI_PROGRESSION_ACTION_TYPES.SELECT_PROGRESSION,\n PROGRESSION_FETCH_REQUEST,\n CONTENT_FETCH_REQUEST,\n RANK_FETCH_START_REQUEST,\n PROGRESSION_FETCH_BESTOF_REQUEST,\n ENGINE_CONFIG_FETCH_REQUEST,\n CONTENT_INFO_FETCH_REQUEST,\n CONTENT_FETCH_REQUEST,\n ANSWER_FETCH_REQUEST,\n RANK_FETCH_START_SUCCESS,\n PROGRESSION_FETCH_BESTOF_SUCCESS,\n CONTENT_INFO_FETCH_SUCCESS,\n ANSWER_FETCH_SUCCESS\n ]);\n\n t.deepEqual(metaOf(PROGRESSION_FETCH_REQUEST, dispatched), {id: progressionId});\n});\n\ntest('should return null for the next content title if the progression content is not a level', t => {\n const state = cloneDeep(popinNextLevel);\n state.data.progressions.entities[0].content.type = 'chapter';\n const dispatch = createDispatch(state);\n const cta = createHeaderCTA({translate: mockTranslate}, {dispatch})(state);\n\n t.deepEqual(omit('onClick', cta), {\n title: '__Next'\n });\n});\n\ntest('should return null for the next content title if the previous and current slide are in the same chapter', t => {\n const state = cloneDeep(popinNextLevel);\n const currentSlideRef = state.data.progressions.entities[0].state.nextContent.ref;\n const prevSlideRef = state.data.progressions.entities[0].state.content.ref;\n state.data.contents.slide.entities[currentSlideRef].chapter_id =\n state.data.contents.slide.entities[prevSlideRef].chapter_id;\n const dispatch = createDispatch(state);\n const cta = createHeaderCTA({translate: mockTranslate}, {dispatch})(state);\n\n t.deepEqual(omit('onClick', cta), {\n title: '__Next'\n });\n});\n\ntest('should not set nextStepTitle for the next content title if slide, chapter or level content are not found', t => {\n const state = cloneDeep(popinNextLevel);\n const dispatch = createDispatch(state);\n const createHeader = createHeaderCTA({translate: mockTranslate}, {dispatch});\n\n t.is(createHeader(set('data.contents.slide', {}, state)).nextStepTitle, undefined);\n t.is(createHeader(set('data.contents.chapter', {}, state)).nextStepTitle, undefined);\n t.is(createHeader(set('data.contents.level', {}, state)).nextStepTitle, undefined);\n});\n\ntest('should return the index of the next chapter out of the total number of chapters along with its title', t => {\n const state = cloneDeep(popinNextLevel);\n const dispatch = createDispatch(state);\n const cta = createHeaderCTA({translate: mockTranslate}, {dispatch})(state);\n\n t.deepEqual(omit('onClick', cta), {\n title: '__Next chapter',\n nextStepTitle: '2/4 Some chapter name'\n });\n});\n\ntest('should return null for the next content title if next content is an exitnode', t => {\n const state = cloneDeep(popinNextLevel);\n const dispatch = createDispatch(state);\n state.data.progressions.entities[0].state.nextContent = {\n type: 'exitnode',\n ref: 'successExitNode'\n };\n\n const ctaSuccess = createHeaderCTA({translate: mockTranslate}, {dispatch})(state);\n t.deepEqual(omit('onClick', ctaSuccess), {\n title: '__Next chapter'\n });\n\n state.data.progressions.entities[0].state.nextContent = {\n type: 'exitnode',\n ref: 'failureExitNode'\n };\n const ctaFailure = createHeaderCTA({translate: mockTranslate}, {dispatch})(state);\n t.deepEqual(omit('onClick', ctaFailure), {\n title: '__Next chapter'\n });\n});\n\ntest('should return null for the next content title if next content is an extralife', t => {\n const state = cloneDeep(popinNextLevel);\n const dispatch = createDispatch(state);\n state.data.progressions.entities[0].state.nextContent = {\n type: 'node',\n ref: 'extralife'\n };\n\n const cta = createHeaderCTA({translate: mockTranslate}, {dispatch})(state);\n t.deepEqual(omit('onClick', cta), {\n title: '__Next chapter'\n });\n});\n"],"mappings":";;;;;;;AAAA,OAAOA,IAAP,MAAiB,KAAjB;AAGA,SAAQC,aAAR,QAA4B,yBAA5B;AAEA,SACEC,oBADF,EAEEC,oBAFF,EAGEC,qBAHF,EAIEC,qBAJF,EAKEC,0BALF,EAMEC,0BANF,EAOEC,2BAPF,EAQEC,uBARF,EASEC,uBATF,EAUEC,uBAVF,EAWEC,0BAXF,EAYEC,0BAZF,EAaEC,qCAbF,EAcEC,qCAdF,EAeEC,oCAfF,EAgBEC,oCAhBF,EAiBEC,gCAjBF,EAkBEC,gCAlBF,EAmBEC,yBAnBF,EAoBEC,sBApBF,EAqBEC,sBArBF,EAsBEC,wBAtBF,EAuBEC,wBAvBF,EAwBEC,kBAxBF,EAyBEC,kBAzBF,EA0BEC,2BA1BF,EA2BEC,2BA3BF,EA4BEC,eA5BF,QA6BO,4BA7BP;AA8BA,SAAQC,eAAR,EAAyBC,mBAAzB,QAAmD,qBAAnD;AACA,OAAOC,cAAP,MAA2B,8CAA3B;AACA,OAAOC,YAAP,MAAyB,2CAAzB;AACA,OAAOC,YAAP,MAAyB,2CAAzB;AACA,OAAOC,YAAP,MAAyB,2CAAzB;AACA,OAAOC,gBAAP,MAA6B,gDAA7B;AACA,OAAOC,cAAP,MAA2B,8CAA3B;AAEA,MAAMC,QAAQ,GAAG;EACfC,OAAO,EAAE;IACPC,QAAQ;EADD,CADM;EAIfC,SAAS,EAAE;IACTC,wBAAwB;EADf,CAJI;EAOfC,YAAY,EAAE;IACZH,QAAQ,WADI;IAEZI,UAAU,WAFE;IAGZC,eAAe,WAHH;IAIZC,eAAe,WAJH;IAKZC,eAAe,WALH;IAMZC,cAAc;EANF,CAPC;EAefC,OAAO,EAAE;IACPC,IAAI,EAAE,CAACC,IAAD,EAAOC,GAAP,KAAe;MACnB,IAAID,IAAI,KAAK,OAAb,EAAsB;QACpB,OAAOE,OAAO,CAACC,OAAR,CAAgB;UAACC,UAAU,EAAE,QAAb;UAAuBC,GAAG,EAAEJ,GAA5B;UAAiCK,GAAG,EAAE;QAAtC,CAAhB,CAAP;MACD,CAFD,MAEO,IAAIN,IAAI,KAAK,SAAb,EAAwB;QAC7B,OAAOE,OAAO,CAACC,OAAR,CAAgB;UAACE,GAAG,EAAEJ,GAAN;UAAWK,GAAG,EAAE;QAAhB,CAAhB,CAAP;MACD;IACF,CAPM;IAQPC,OAAO;EARA,CAfM;EAyBfC,QAAQ,EAAE;IACRC,sBAAsB,EAAE,MAAM;EADtB,CAzBK;EA4BfC,WAAW,EAAE;IACXC,OAAO;EADI,CA5BE;EA+BfC,eAAe,EAAE;IACfb,IAAI,WADW;IAEfc,OAAO;EAFQ,CA/BF;EAmCfC,SAAS,EAAE;IACTzB,QAAQ;EADC;AAnCI,CAAjB;;AAwCA,MAAM0B,cAAc,GAAGC,KAAK,IAAI;EAC9B,MAAMC,QAAQ,GAAG,MAAMD,KAAvB;;EAEA,OAAO,MAAME,MAAN,IAAgB;IACrB,MAAMC,UAAU,GAAG,EAAnB;;IACA,MAAMC,QAAQ,GAAGC,WAAW,IAAI;MAC9B,IAAI,CAAC,YAAWA,WAAX,CAAL,EAA8B;QAC5BF,UAAU,CAACG,IAAX,CAAgBD,WAAhB;QACA,OAAOA,WAAP;MACD;;MACD,OAAOA,WAAW,CAACD,QAAD,EAAWH,QAAX,EAAqB;QAAC9B;MAAD,CAArB,CAAlB;IACD,CAND;;IAQA,MAAMiC,QAAQ,CAACF,MAAD,CAAd;IAEA,OAAOC,UAAP;EACD,CAbD;AAcD,CAjBD;;AAmBA,MAAMI,WAAW,GAAGC,OAAO,IAAI,KAAI,CAAC;EAACxB;AAAD,CAAD,KAAYA,IAAhB,EAAsBwB,OAAtB,CAA/B;;AAEA,MAAMC,MAAM,GAAG,CAACC,UAAD,EAAaF,OAAb,KAAyB;EACtC,MAAMN,MAAM,GAAG,MAAK,CAAC;IAAClB;EAAD,CAAD,KAAYA,IAAI,KAAK0B,UAA1B,EAAsCF,OAAtC,CAAf;;EAEA,OAAON,MAAM,IAAIA,MAAM,CAACS,IAAxB;AACD,CAJD;;AAMA9E,IAAI,CAAC,wBAAD,EAA2B,MAAM+E,CAAN,IAAW;EACxC,MAAMZ,KAAK,GAAGhC,YAAd;EACA,MAAMoC,QAAQ,GAAGL,cAAc,CAACC,KAAD,CAA/B;EACA,MAAMa,cAAc,GAAGjD,mBAAmB,CAACwC,QAAD,EAAW,EAAX,CAA1C;EAEA,MAAMD,UAAU,GAAG,MAAMU,cAAc,EAAvC;EACAD,CAAC,CAACE,SAAF,CAAYP,WAAW,CAACJ,UAAD,CAAvB,EAAqC,CACnC3C,2BAA2B,CAACuD,uBADO,EAEnCvD,2BAA2B,CAACwD,uBAFO,CAArC;AAID,CAVG,CAAJ;AAYAnF,IAAI,CAAC,0DAAD,EAA6D,MAAM+E,CAAN,IAAW;EAC1E,MAAMZ,KAAK,GAAGhC,YAAd;EACA,MAAMiD,aAAa,GAAGzE,uBAAuB,CAACwD,KAAD,CAA7C;EACA,MAAMI,QAAQ,GAAGL,cAAc,CAACC,KAAD,CAA/B;EACA,MAAMkB,GAAG,GAAGvD,eAAe,CAAC;IAACwD,SAAS,EAAErF;EAAZ,CAAD,EAA6B;IAACsE;EAAD,CAA7B,CAAf,CAAwDJ,KAAxD,CAAZ;EAEAY,CAAC,CAACE,SAAF,CAAY,MAAK,SAAL,EAAgBI,GAAhB,CAAZ,EAAkC;IAChCE,KAAK,EAAE;EADyB,CAAlC;EAGA,MAAMjB,UAAU,GAAG,MAAMe,GAAG,CAACG,OAAJ,EAAzB;EACAT,CAAC,CAACE,SAAF,CAAYP,WAAW,CAACJ,UAAD,CAAvB,EAAqC,CACnC3C,2BAA2B,CAAC8D,kBADO,EAEnCrE,yBAFmC,EAGnChB,qBAHmC,EAInCmB,wBAJmC,EAKnCL,gCALmC,EAMnCV,2BANmC,EAOnCF,0BAPmC,EAQnCF,qBARmC,EASnCA,qBATmC,EAUnCoB,wBAVmC,EAWnCL,gCAXmC,EAYnCZ,0BAZmC,EAanCF,qBAbmC,EAcnCwB,eAdmC,CAArC;EAiBAkD,CAAC,CAACE,SAAF,CAAYL,MAAM,CAACxD,yBAAD,EAA4BkD,UAA5B,CAAlB,EAA2D;IAACoB,EAAE,EAAEN;EAAL,CAA3D;AACD,CA5BG,CAAJ;AA8BApF,IAAI,CAAC,+DAAD,EAAkE,MAAM+E,CAAN,IAAW;EAC/E,MAAMZ,KAAK,GAAG/B,gBAAd;EACA,MAAMgD,aAAa,GAAGzE,uBAAuB,CAACwD,KAAD,CAA7C;EACA,MAAMI,QAAQ,GAAGL,cAAc,CAACC,KAAD,CAA/B;EACA,MAAMkB,GAAG,GAAGvD,eAAe,CAAC;IAACwD,SAAS,EAAErF;EAAZ,CAAD,EAA6B;IAACsE;EAAD,CAA7B,CAAf,CAAwDJ,KAAxD,CAAZ;EAEAY,CAAC,CAACE,SAAF,CAAY,MAAK,SAAL,EAAgBI,GAAhB,CAAZ,EAAkC;IAChCE,KAAK,EAAE;EADyB,CAAlC;EAGA,MAAMjB,UAAU,GAAG,MAAMe,GAAG,CAACG,OAAJ,EAAzB;EACAT,CAAC,CAACE,SAAF,CAAYP,WAAW,CAACJ,UAAD,CAAvB,EAAqC,CACnC3C,2BAA2B,CAAC8D,kBADO,EAEnCrE,yBAFmC,EAGnChB,qBAHmC,EAInCC,qBAJmC,EAKnCkB,wBALmC,EAMnCL,gCANmC,EAOnCV,2BAPmC,EAQnCF,0BARmC,EASnCmB,kBATmC,EAUnCJ,sBAVmC,EAWnCT,0BAXmC,EAYnCH,uBAZmC,EAanCe,wBAbmC,EAcnCL,gCAdmC,EAenCZ,0BAfmC,EAgBnCmB,kBAhBmC,EAiBnCJ,sBAjBmC,EAkBnCT,0BAlBmC,EAmBnCH,uBAnBmC,CAArC;EAsBAqE,CAAC,CAACE,SAAF,CAAYL,MAAM,CAACxD,yBAAD,EAA4BkD,UAA5B,CAAlB,EAA2D;IAACoB,EAAE,EAAEN;EAAL,CAA3D;AACD,CAjCG,CAAJ;AAmCApF,IAAI,CAAC,oEAAD,EAAuE,MAAM+E,CAAN,IAAW;EACpF,MAAMZ,KAAK,GAAGlC,YAAd;EACA,MAAMmD,aAAa,GAAGzE,uBAAuB,CAACwD,KAAD,CAA7C;EACA,MAAMI,QAAQ,GAAGL,cAAc,CAACC,KAAD,CAA/B;EACA,MAAMkB,GAAG,GAAGvD,eAAe,CAAC;IAACwD,SAAS,EAAErF;EAAZ,CAAD,EAA6B;IAACsE;EAAD,CAA7B,CAAf,CAAwDJ,KAAxD,CAAZ;EAEAY,CAAC,CAACE,SAAF,CAAY,MAAK,SAAL,EAAgBI,GAAhB,CAAZ,EAAkC;IAChCE,KAAK,EAAE,aADyB;IAEhCI,aAAa,EAAE;EAFiB,CAAlC;EAIA,MAAMrB,UAAU,GAAG,MAAMe,GAAG,CAACG,OAAJ,EAAzB;EACAT,CAAC,CAACE,SAAF,CAAYP,WAAW,CAACJ,UAAD,CAAvB,EAAqC,CACnC3C,2BAA2B,CAAC8D,kBADO,EAEnCrE,yBAFmC,EAGnChB,qBAHmC,EAInCmB,wBAJmC,EAKnCL,gCALmC,EAMnCV,2BANmC,EAOnCF,0BAPmC,EAQnCmB,kBARmC,EASnCJ,sBATmC,EAUnCT,0BAVmC,EAWnCH,uBAXmC,EAYnCe,wBAZmC,EAanCL,gCAbmC,EAcnCZ,0BAdmC,EAenCmB,kBAfmC,EAgBnCJ,sBAhBmC,EAiBnCT,0BAjBmC,EAkBnCH,uBAlBmC,CAArC;EAqBAqE,CAAC,CAACE,SAAF,CAAYL,MAAM,CAACxD,yBAAD,EAA4BkD,UAA5B,CAAlB,EAA2D;IAACoB,EAAE,EAAEN;EAAL,CAA3D;AACD,CAjCG,CAAJ;AAmCApF,IAAI,CAAC,8DAAD,EAAiE,MAAM+E,CAAN,IAAW;EAC9E,MAAMZ,KAAK,GAAGnC,cAAd;EACA,MAAMoD,aAAa,GAAGzE,uBAAuB,CAACwD,KAAD,CAA7C;EACA,MAAMI,QAAQ,GAAGL,cAAc,CAACC,KAAD,CAA/B;EACA,MAAMkB,GAAG,GAAGvD,eAAe,CAAC;IAACwD,SAAS,EAAErF;EAAZ,CAAD,EAA6B;IAACsE;EAAD,CAA7B,CAAf,CAAwDJ,KAAxD,CAAZ;EAEAY,CAAC,CAACE,SAAF,CAAY,MAAK,SAAL,EAAgBI,GAAhB,CAAZ,EAAkC;IAChCE,KAAK,EAAE;EADyB,CAAlC;EAGA,MAAMjB,UAAU,GAAG,MAAMe,GAAG,CAACG,OAAJ,EAAzB;EACA,MAAMb,OAAO,GAAGD,WAAW,CAACJ,UAAD,CAA3B;EAEAS,CAAC,CAACE,SAAF,CAAYN,OAAZ,EAAqB,CACnB3D,oCADmB,EAEnBC,oCAFmB,EAGnBW,2BAHmB,EAInBD,2BAA2B,CAAC8D,kBAJT,EAKnBrE,yBALmB,EAMnBhB,qBANmB,EAOnBmB,wBAPmB,EAQnBL,gCARmB,EASnBV,2BATmB,EAUnBF,0BAVmB,EAWnBF,qBAXmB,EAYnBF,oBAZmB,EAanBsB,wBAbmB,EAcnBL,gCAdmB,EAenBZ,0BAfmB,EAgBnBJ,oBAhBmB,CAArB;EAmBA4E,CAAC,CAACE,SAAF,CAAYL,MAAM,CAACxD,yBAAD,EAA4BkD,UAA5B,CAAlB,EAA2D;IAACoB,EAAE,EAAEN;EAAL,CAA3D;AACD,CAhCG,CAAJ;AAkCApF,IAAI,CAAC,6DAAD,EAAgE,MAAM+E,CAAN,IAAW;EAC7E,MAAMZ,KAAK,GAAGjC,YAAd;EACA,MAAMkD,aAAa,GAAGzE,uBAAuB,CAACwD,KAAD,CAA7C;EACA,MAAMI,QAAQ,GAAGL,cAAc,CAACC,KAAD,CAA/B;EACA,MAAMkB,GAAG,GAAGvD,eAAe,CAAC;IAACwD,SAAS,EAAErF;EAAZ,CAAD,EAA6B;IAACsE;EAAD,CAA7B,CAAf,CAAwDJ,KAAxD,CAAZ;EAEAY,CAAC,CAACE,SAAF,CAAY,MAAK,SAAL,EAAgBI,GAAhB,CAAZ,EAAkC;IAChCE,KAAK,EAAE;EADyB,CAAlC;EAGA,MAAMjB,UAAU,GAAG,MAAMe,GAAG,CAACG,OAAJ,EAAzB;EACAT,CAAC,CAACE,SAAF,CAAYP,WAAW,CAACJ,UAAD,CAAvB,EAAqC,CACnCxD,qCADmC,EAEnCC,qCAFmC,EAGnCa,2BAHmC,EAInCD,2BAA2B,CAAC8D,kBAJO,EAKnCrE,yBALmC,EAMnChB,qBANmC,EAOnCmB,wBAPmC,EAQnCL,gCARmC,EASnCV,2BATmC,EAUnCF,0BAVmC,EAWnCF,qBAXmC,EAYnCF,oBAZmC,EAanCsB,wBAbmC,EAcnCL,gCAdmC,EAenCZ,0BAfmC,EAgBnCJ,oBAhBmC,CAArC;EAmBA4E,CAAC,CAACE,SAAF,CAAYL,MAAM,CAACxD,yBAAD,EAA4BkD,UAA5B,CAAlB,EAA2D;IAACoB,EAAE,EAAEN;EAAL,CAA3D;AACD,CA9BG,CAAJ;AAgCApF,IAAI,CAAC,yFAAD,EAA4F+E,CAAC,IAAI;EACnG,MAAMZ,KAAK,GAAG,WAAU9B,cAAV,CAAd;;EACA8B,KAAK,CAACyB,IAAN,CAAWC,YAAX,CAAwBC,QAAxB,CAAiC,CAAjC,EAAoCC,OAApC,CAA4C5C,IAA5C,GAAmD,SAAnD;EACA,MAAMoB,QAAQ,GAAGL,cAAc,CAACC,KAAD,CAA/B;EACA,MAAMkB,GAAG,GAAGvD,eAAe,CAAC;IAACwD,SAAS,EAAErF;EAAZ,CAAD,EAA6B;IAACsE;EAAD,CAA7B,CAAf,CAAwDJ,KAAxD,CAAZ;EAEAY,CAAC,CAACE,SAAF,CAAY,MAAK,SAAL,EAAgBI,GAAhB,CAAZ,EAAkC;IAChCE,KAAK,EAAE;EADyB,CAAlC;AAGD,CATG,CAAJ;AAWAvF,IAAI,CAAC,yGAAD,EAA4G+E,CAAC,IAAI;EACnH,MAAMZ,KAAK,GAAG,WAAU9B,cAAV,CAAd;;EACA,MAAM2D,eAAe,GAAG7B,KAAK,CAACyB,IAAN,CAAWC,YAAX,CAAwBC,QAAxB,CAAiC,CAAjC,EAAoC3B,KAApC,CAA0C8B,WAA1C,CAAsD7C,GAA9E;EACA,MAAM8C,YAAY,GAAG/B,KAAK,CAACyB,IAAN,CAAWC,YAAX,CAAwBC,QAAxB,CAAiC,CAAjC,EAAoC3B,KAApC,CAA0C4B,OAA1C,CAAkD3C,GAAvE;EACAe,KAAK,CAACyB,IAAN,CAAWO,QAAX,CAAoBC,KAApB,CAA0BN,QAA1B,CAAmCE,eAAnC,EAAoDzC,UAApD,GACEY,KAAK,CAACyB,IAAN,CAAWO,QAAX,CAAoBC,KAApB,CAA0BN,QAA1B,CAAmCI,YAAnC,EAAiD3C,UADnD;EAEA,MAAMgB,QAAQ,GAAGL,cAAc,CAACC,KAAD,CAA/B;EACA,MAAMkB,GAAG,GAAGvD,eAAe,CAAC;IAACwD,SAAS,EAAErF;EAAZ,CAAD,EAA6B;IAACsE;EAAD,CAA7B,CAAf,CAAwDJ,KAAxD,CAAZ;EAEAY,CAAC,CAACE,SAAF,CAAY,MAAK,SAAL,EAAgBI,GAAhB,CAAZ,EAAkC;IAChCE,KAAK,EAAE;EADyB,CAAlC;AAGD,CAZG,CAAJ;AAcAvF,IAAI,CAAC,0GAAD,EAA6G+E,CAAC,IAAI;EACpH,MAAMZ,KAAK,GAAG,WAAU9B,cAAV,CAAd;;EACA,MAAMkC,QAAQ,GAAGL,cAAc,CAACC,KAAD,CAA/B;EACA,MAAMkC,YAAY,GAAGvE,eAAe,CAAC;IAACwD,SAAS,EAAErF;EAAZ,CAAD,EAA6B;IAACsE;EAAD,CAA7B,CAApC;EAEAQ,CAAC,CAACuB,EAAF,CAAKD,YAAY,CAAC,KAAI,qBAAJ,EAA2B,EAA3B,EAA+BlC,KAA/B,CAAD,CAAZ,CAAoDwB,aAAzD,EAAwEY,SAAxE;EACAxB,CAAC,CAACuB,EAAF,CAAKD,YAAY,CAAC,KAAI,uBAAJ,EAA6B,EAA7B,EAAiClC,KAAjC,CAAD,CAAZ,CAAsDwB,aAA3D,EAA0EY,SAA1E;EACAxB,CAAC,CAACuB,EAAF,CAAKD,YAAY,CAAC,KAAI,qBAAJ,EAA2B,EAA3B,EAA+BlC,KAA/B,CAAD,CAAZ,CAAoDwB,aAAzD,EAAwEY,SAAxE;AACD,CARG,CAAJ;AAUAvG,IAAI,CAAC,sGAAD,EAAyG+E,CAAC,IAAI;EAChH,MAAMZ,KAAK,GAAG,WAAU9B,cAAV,CAAd;;EACA,MAAMkC,QAAQ,GAAGL,cAAc,CAACC,KAAD,CAA/B;EACA,MAAMkB,GAAG,GAAGvD,eAAe,CAAC;IAACwD,SAAS,EAAErF;EAAZ,CAAD,EAA6B;IAACsE;EAAD,CAA7B,CAAf,CAAwDJ,KAAxD,CAAZ;EAEAY,CAAC,CAACE,SAAF,CAAY,MAAK,SAAL,EAAgBI,GAAhB,CAAZ,EAAkC;IAChCE,KAAK,EAAE,gBADyB;IAEhCI,aAAa,EAAE;EAFiB,CAAlC;AAID,CATG,CAAJ;AAWA3F,IAAI,CAAC,8EAAD,EAAiF+E,CAAC,IAAI;EACxF,MAAMZ,KAAK,GAAG,WAAU9B,cAAV,CAAd;;EACA,MAAMkC,QAAQ,GAAGL,cAAc,CAACC,KAAD,CAA/B;EACAA,KAAK,CAACyB,IAAN,CAAWC,YAAX,CAAwBC,QAAxB,CAAiC,CAAjC,EAAoC3B,KAApC,CAA0C8B,WAA1C,GAAwD;IACtD9C,IAAI,EAAE,UADgD;IAEtDC,GAAG,EAAE;EAFiD,CAAxD;EAKA,MAAMoD,UAAU,GAAG1E,eAAe,CAAC;IAACwD,SAAS,EAAErF;EAAZ,CAAD,EAA6B;IAACsE;EAAD,CAA7B,CAAf,CAAwDJ,KAAxD,CAAnB;EACAY,CAAC,CAACE,SAAF,CAAY,MAAK,SAAL,EAAgBuB,UAAhB,CAAZ,EAAyC;IACvCjB,KAAK,EAAE;EADgC,CAAzC;EAIApB,KAAK,CAACyB,IAAN,CAAWC,YAAX,CAAwBC,QAAxB,CAAiC,CAAjC,EAAoC3B,KAApC,CAA0C8B,WAA1C,GAAwD;IACtD9C,IAAI,EAAE,UADgD;IAEtDC,GAAG,EAAE;EAFiD,CAAxD;EAIA,MAAMqD,UAAU,GAAG3E,eAAe,CAAC;IAACwD,SAAS,EAAErF;EAAZ,CAAD,EAA6B;IAACsE;EAAD,CAA7B,CAAf,CAAwDJ,KAAxD,CAAnB;EACAY,CAAC,CAACE,SAAF,CAAY,MAAK,SAAL,EAAgBwB,UAAhB,CAAZ,EAAyC;IACvClB,KAAK,EAAE;EADgC,CAAzC;AAGD,CArBG,CAAJ;AAuBAvF,IAAI,CAAC,+EAAD,EAAkF+E,CAAC,IAAI;EACzF,MAAMZ,KAAK,GAAG,WAAU9B,cAAV,CAAd;;EACA,MAAMkC,QAAQ,GAAGL,cAAc,CAACC,KAAD,CAA/B;EACAA,KAAK,CAACyB,IAAN,CAAWC,YAAX,CAAwBC,QAAxB,CAAiC,CAAjC,EAAoC3B,KAApC,CAA0C8B,WAA1C,GAAwD;IACtD9C,IAAI,EAAE,MADgD;IAEtDC,GAAG,EAAE;EAFiD,CAAxD;EAKA,MAAMiC,GAAG,GAAGvD,eAAe,CAAC;IAACwD,SAAS,EAAErF;EAAZ,CAAD,EAA6B;IAACsE;EAAD,CAA7B,CAAf,CAAwDJ,KAAxD,CAAZ;EACAY,CAAC,CAACE,SAAF,CAAY,MAAK,SAAL,EAAgBI,GAAhB,CAAZ,EAAkC;IAChCE,KAAK,EAAE;EADyB,CAAlC;AAGD,CAZG,CAAJ"}
1
+ {"version":3,"sources":["../../../src/map-state-to-props/test/popin-correction.create-header-cta.js"],"names":["test","mockTranslate","ANSWER_FETCH_REQUEST","ANSWER_FETCH_SUCCESS","CONTENT_FETCH_REQUEST","CONTENT_FETCH_SUCCESS","CONTENT_INFO_FETCH_REQUEST","CONTENT_INFO_FETCH_SUCCESS","ENGINE_CONFIG_FETCH_REQUEST","EXIT_NODE_FETCH_REQUEST","EXIT_NODE_FETCH_SUCCESS","getCurrentProgressionId","NEXT_CONTENT_FETCH_REQUEST","NEXT_CONTENT_FETCH_SUCCESS","PROGRESSION_EXTRALIFEACCEPTED_REQUEST","PROGRESSION_EXTRALIFEACCEPTED_SUCCESS","PROGRESSION_EXTRALIFEREFUSED_REQUEST","PROGRESSION_EXTRALIFEREFUSED_SUCCESS","PROGRESSION_FETCH_BESTOF_REQUEST","PROGRESSION_FETCH_BESTOF_SUCCESS","PROGRESSION_FETCH_REQUEST","RANK_FETCH_END_REQUEST","RANK_FETCH_END_SUCCESS","RANK_FETCH_START_REQUEST","RANK_FETCH_START_SUCCESS","RECO_FETCH_REQUEST","RECO_FETCH_SUCCESS","UI_PROGRESSION_ACTION_TYPES","PROGRESSION_UPDATED_ON_MOVE","UI_SELECT_ROUTE","createHeaderCTA","openPopinAssistance","popinExtraLife","popinFailure","popinRevival","popinSuccess","popinSuccessNode","popinNextLevel","services","Answers","findById","Analytics","sendProgressionAnalytics","Progressions","findBestOf","getEngineConfig","acceptExtraLife","refuseExtraLife","openAssistance","Content","find","type","ref","Promise","resolve","chapter_id","_id","foo","getInfo","Location","getRedirectURLAfterEnd","LeaderBoard","getRank","Recommendations","getNext","ExitNodes","createDispatch","state","getState","action","dispatched","dispatch","maybeAction","push","actionTypes","actions","metaOf","actionType","meta","t","linkAssistance","deepEqual","OPEN_ASSISTANCE_REQUEST","OPEN_ASSISTANCE_SUCCESS","progressionId","cta","translate","title","onClick","SELECT_PROGRESSION","id","nextStepTitle","data","progressions","entities","content","currentSlideRef","nextContent","prevSlideRef","contents","slide","createHeader","is","undefined","ctaSuccess","ctaFailure"],"mappings":"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","sourcesContent":["import test from 'ava';\nimport {map, set, find, omit, identity, cloneDeep, isFunction} from 'lodash/fp';\n\nimport {mockTranslate} from '@coorpacademy/translate';\n\nimport {\n ANSWER_FETCH_REQUEST,\n ANSWER_FETCH_SUCCESS,\n CONTENT_FETCH_REQUEST,\n CONTENT_FETCH_SUCCESS,\n CONTENT_INFO_FETCH_REQUEST,\n CONTENT_INFO_FETCH_SUCCESS,\n ENGINE_CONFIG_FETCH_REQUEST,\n EXIT_NODE_FETCH_REQUEST,\n EXIT_NODE_FETCH_SUCCESS,\n getCurrentProgressionId,\n NEXT_CONTENT_FETCH_REQUEST,\n NEXT_CONTENT_FETCH_SUCCESS,\n PROGRESSION_EXTRALIFEACCEPTED_REQUEST,\n PROGRESSION_EXTRALIFEACCEPTED_SUCCESS,\n PROGRESSION_EXTRALIFEREFUSED_REQUEST,\n PROGRESSION_EXTRALIFEREFUSED_SUCCESS,\n PROGRESSION_FETCH_BESTOF_REQUEST,\n PROGRESSION_FETCH_BESTOF_SUCCESS,\n PROGRESSION_FETCH_REQUEST,\n RANK_FETCH_END_REQUEST,\n RANK_FETCH_END_SUCCESS,\n RANK_FETCH_START_REQUEST,\n RANK_FETCH_START_SUCCESS,\n RECO_FETCH_REQUEST,\n RECO_FETCH_SUCCESS,\n UI_PROGRESSION_ACTION_TYPES,\n PROGRESSION_UPDATED_ON_MOVE,\n UI_SELECT_ROUTE\n} from '@coorpacademy/player-store';\nimport {createHeaderCTA, openPopinAssistance} from '../popin-correction';\nimport popinExtraLife from './fixtures/popin-correction/popin-extra-life';\nimport popinFailure from './fixtures/popin-correction/popin-failure';\nimport popinRevival from './fixtures/popin-correction/popin-revival';\nimport popinSuccess from './fixtures/popin-correction/popin-success';\nimport popinSuccessNode from './fixtures/popin-correction/popin-success-node';\nimport popinNextLevel from './fixtures/popin-correction/popin-next-level';\n\nconst services = {\n Answers: {\n findById: identity\n },\n Analytics: {\n sendProgressionAnalytics: identity\n },\n Progressions: {\n findById: identity,\n findBestOf: identity,\n getEngineConfig: identity,\n acceptExtraLife: identity,\n refuseExtraLife: identity,\n openAssistance: identity\n },\n Content: {\n find: (type, ref) => {\n if (type === 'slide') {\n return Promise.resolve({chapter_id: 'chapId', _id: ref, foo: 'bar'});\n } else if (type === 'chapter') {\n return Promise.resolve({_id: ref, foo: 'baz'});\n }\n },\n getInfo: identity\n },\n Location: {\n getRedirectURLAfterEnd: () => ''\n },\n LeaderBoard: {\n getRank: identity\n },\n Recommendations: {\n find: identity,\n getNext: identity\n },\n ExitNodes: {\n findById: identity\n }\n};\n\nconst createDispatch = state => {\n const getState = () => state;\n\n return async action => {\n const dispatched = [];\n const dispatch = maybeAction => {\n if (!isFunction(maybeAction)) {\n dispatched.push(maybeAction);\n return maybeAction;\n }\n return maybeAction(dispatch, getState, {services});\n };\n\n await dispatch(action);\n\n return dispatched;\n };\n};\n\nconst actionTypes = actions => map(({type}) => type, actions);\n\nconst metaOf = (actionType, actions) => {\n const action = find(({type}) => type === actionType, actions);\n\n return action && action.meta;\n};\n\ntest('should open Assistance', async t => {\n const state = popinSuccess;\n const dispatch = createDispatch(state);\n const linkAssistance = openPopinAssistance(dispatch, {});\n\n const dispatched = await linkAssistance();\n t.deepEqual(actionTypes(dispatched), [\n UI_PROGRESSION_ACTION_TYPES.OPEN_ASSISTANCE_REQUEST,\n UI_PROGRESSION_ACTION_TYPES.OPEN_ASSISTANCE_SUCCESS\n ]);\n});\n\ntest('should create a \"Next\" CTA when entering a success popin', async t => {\n const state = popinSuccess;\n const progressionId = getCurrentProgressionId(state);\n const dispatch = createDispatch(state);\n const cta = createHeaderCTA({translate: mockTranslate}, {dispatch})(state);\n\n t.deepEqual(omit('onClick', cta), {\n title: '__Next'\n });\n const dispatched = await cta.onClick();\n t.deepEqual(actionTypes(dispatched), [\n UI_PROGRESSION_ACTION_TYPES.SELECT_PROGRESSION,\n PROGRESSION_FETCH_REQUEST,\n CONTENT_FETCH_REQUEST,\n RANK_FETCH_START_REQUEST,\n PROGRESSION_FETCH_BESTOF_REQUEST,\n ENGINE_CONFIG_FETCH_REQUEST,\n CONTENT_INFO_FETCH_REQUEST,\n CONTENT_FETCH_REQUEST,\n CONTENT_FETCH_REQUEST,\n RANK_FETCH_START_SUCCESS,\n PROGRESSION_FETCH_BESTOF_SUCCESS,\n CONTENT_INFO_FETCH_SUCCESS,\n CONTENT_FETCH_SUCCESS,\n UI_SELECT_ROUTE\n ]);\n\n t.deepEqual(metaOf(PROGRESSION_FETCH_REQUEST, dispatched), {id: progressionId});\n});\n\ntest('should create a \"Next\" CTA when entering a success exit popin', async t => {\n const state = popinSuccessNode;\n const progressionId = getCurrentProgressionId(state);\n const dispatch = createDispatch(state);\n const cta = createHeaderCTA({translate: mockTranslate}, {dispatch})(state);\n\n t.deepEqual(omit('onClick', cta), {\n title: '__Next'\n });\n const dispatched = await cta.onClick();\n t.deepEqual(actionTypes(dispatched), [\n UI_PROGRESSION_ACTION_TYPES.SELECT_PROGRESSION,\n PROGRESSION_FETCH_REQUEST,\n CONTENT_FETCH_REQUEST,\n CONTENT_FETCH_SUCCESS,\n RANK_FETCH_START_REQUEST,\n PROGRESSION_FETCH_BESTOF_REQUEST,\n ENGINE_CONFIG_FETCH_REQUEST,\n CONTENT_INFO_FETCH_REQUEST,\n RECO_FETCH_REQUEST,\n RANK_FETCH_END_REQUEST,\n NEXT_CONTENT_FETCH_REQUEST,\n EXIT_NODE_FETCH_REQUEST,\n RANK_FETCH_START_SUCCESS,\n PROGRESSION_FETCH_BESTOF_SUCCESS,\n CONTENT_INFO_FETCH_SUCCESS,\n RECO_FETCH_SUCCESS,\n RANK_FETCH_END_SUCCESS,\n NEXT_CONTENT_FETCH_SUCCESS,\n EXIT_NODE_FETCH_SUCCESS\n ]);\n\n t.deepEqual(metaOf(PROGRESSION_FETCH_REQUEST, dispatched), {id: progressionId});\n});\n\ntest('should create a \"Game over\" CTA when entering a failure exit popin', async t => {\n const state = popinFailure;\n const progressionId = getCurrentProgressionId(state);\n const dispatch = createDispatch(state);\n const cta = createHeaderCTA({translate: mockTranslate}, {dispatch})(state);\n\n t.deepEqual(omit('onClick', cta), {\n title: '__Game over',\n nextStepTitle: '__Click to continue'\n });\n const dispatched = await cta.onClick();\n t.deepEqual(actionTypes(dispatched), [\n UI_PROGRESSION_ACTION_TYPES.SELECT_PROGRESSION,\n PROGRESSION_FETCH_REQUEST,\n CONTENT_FETCH_REQUEST,\n RANK_FETCH_START_REQUEST,\n PROGRESSION_FETCH_BESTOF_REQUEST,\n ENGINE_CONFIG_FETCH_REQUEST,\n CONTENT_INFO_FETCH_REQUEST,\n RECO_FETCH_REQUEST,\n RANK_FETCH_END_REQUEST,\n NEXT_CONTENT_FETCH_REQUEST,\n EXIT_NODE_FETCH_REQUEST,\n RANK_FETCH_START_SUCCESS,\n PROGRESSION_FETCH_BESTOF_SUCCESS,\n CONTENT_INFO_FETCH_SUCCESS,\n RECO_FETCH_SUCCESS,\n RANK_FETCH_END_SUCCESS,\n NEXT_CONTENT_FETCH_SUCCESS,\n EXIT_NODE_FETCH_SUCCESS\n ]);\n\n t.deepEqual(metaOf(PROGRESSION_FETCH_REQUEST, dispatched), {id: progressionId});\n});\n\ntest('should create a \"Quit\" CTA when entering an extra-life popin', async t => {\n const state = popinExtraLife;\n const progressionId = getCurrentProgressionId(state);\n const dispatch = createDispatch(state);\n const cta = createHeaderCTA({translate: mockTranslate}, {dispatch})(state);\n\n t.deepEqual(omit('onClick', cta), {\n title: '__Quit'\n });\n const dispatched = await cta.onClick();\n const actions = actionTypes(dispatched);\n\n t.deepEqual(actions, [\n PROGRESSION_EXTRALIFEREFUSED_REQUEST,\n PROGRESSION_EXTRALIFEREFUSED_SUCCESS,\n PROGRESSION_UPDATED_ON_MOVE,\n UI_PROGRESSION_ACTION_TYPES.SELECT_PROGRESSION,\n PROGRESSION_FETCH_REQUEST,\n CONTENT_FETCH_REQUEST,\n RANK_FETCH_START_REQUEST,\n PROGRESSION_FETCH_BESTOF_REQUEST,\n ENGINE_CONFIG_FETCH_REQUEST,\n CONTENT_INFO_FETCH_REQUEST,\n CONTENT_FETCH_REQUEST,\n ANSWER_FETCH_REQUEST,\n RANK_FETCH_START_SUCCESS,\n PROGRESSION_FETCH_BESTOF_SUCCESS,\n CONTENT_INFO_FETCH_SUCCESS,\n ANSWER_FETCH_SUCCESS\n ]);\n\n t.deepEqual(metaOf(PROGRESSION_FETCH_REQUEST, dispatched), {id: progressionId});\n});\n\ntest('should create an \"Accept\" CTA when entering a revival popin', async t => {\n const state = popinRevival;\n const progressionId = getCurrentProgressionId(state);\n const dispatch = createDispatch(state);\n const cta = createHeaderCTA({translate: mockTranslate}, {dispatch})(state);\n\n t.deepEqual(omit('onClick', cta), {\n title: '__Next'\n });\n const dispatched = await cta.onClick();\n t.deepEqual(actionTypes(dispatched), [\n PROGRESSION_EXTRALIFEACCEPTED_REQUEST,\n PROGRESSION_EXTRALIFEACCEPTED_SUCCESS,\n PROGRESSION_UPDATED_ON_MOVE,\n UI_PROGRESSION_ACTION_TYPES.SELECT_PROGRESSION,\n PROGRESSION_FETCH_REQUEST,\n CONTENT_FETCH_REQUEST,\n RANK_FETCH_START_REQUEST,\n PROGRESSION_FETCH_BESTOF_REQUEST,\n ENGINE_CONFIG_FETCH_REQUEST,\n CONTENT_INFO_FETCH_REQUEST,\n CONTENT_FETCH_REQUEST,\n ANSWER_FETCH_REQUEST,\n RANK_FETCH_START_SUCCESS,\n PROGRESSION_FETCH_BESTOF_SUCCESS,\n CONTENT_INFO_FETCH_SUCCESS,\n ANSWER_FETCH_SUCCESS\n ]);\n\n t.deepEqual(metaOf(PROGRESSION_FETCH_REQUEST, dispatched), {id: progressionId});\n});\n\ntest('should return null for the next content title if the progression content is not a level', t => {\n const state = cloneDeep(popinNextLevel);\n state.data.progressions.entities[0].content.type = 'chapter';\n const dispatch = createDispatch(state);\n const cta = createHeaderCTA({translate: mockTranslate}, {dispatch})(state);\n\n t.deepEqual(omit('onClick', cta), {\n title: '__Next'\n });\n});\n\ntest('should return null for the next content title if the previous and current slide are in the same chapter', t => {\n const state = cloneDeep(popinNextLevel);\n const currentSlideRef = state.data.progressions.entities[0].state.nextContent.ref;\n const prevSlideRef = state.data.progressions.entities[0].state.content.ref;\n state.data.contents.slide.entities[currentSlideRef].chapter_id =\n state.data.contents.slide.entities[prevSlideRef].chapter_id;\n const dispatch = createDispatch(state);\n const cta = createHeaderCTA({translate: mockTranslate}, {dispatch})(state);\n\n t.deepEqual(omit('onClick', cta), {\n title: '__Next'\n });\n});\n\ntest('should not set nextStepTitle for the next content title if slide, chapter or level content are not found', t => {\n const state = cloneDeep(popinNextLevel);\n const dispatch = createDispatch(state);\n const createHeader = createHeaderCTA({translate: mockTranslate}, {dispatch});\n\n t.is(createHeader(set('data.contents.slide', {}, state)).nextStepTitle, undefined);\n t.is(createHeader(set('data.contents.chapter', {}, state)).nextStepTitle, undefined);\n t.is(createHeader(set('data.contents.level', {}, state)).nextStepTitle, undefined);\n});\n\ntest('should return the index of the next chapter out of the total number of chapters along with its title', t => {\n const state = cloneDeep(popinNextLevel);\n const dispatch = createDispatch(state);\n const cta = createHeaderCTA({translate: mockTranslate}, {dispatch})(state);\n\n t.deepEqual(omit('onClick', cta), {\n title: '__Next chapter',\n nextStepTitle: '2/4 Some chapter name'\n });\n});\n\ntest('should return null for the next content title if next content is an exitnode', t => {\n const state = cloneDeep(popinNextLevel);\n const dispatch = createDispatch(state);\n state.data.progressions.entities[0].state.nextContent = {\n type: 'exitnode',\n ref: 'successExitNode'\n };\n\n const ctaSuccess = createHeaderCTA({translate: mockTranslate}, {dispatch})(state);\n t.deepEqual(omit('onClick', ctaSuccess), {\n title: '__Next chapter'\n });\n\n state.data.progressions.entities[0].state.nextContent = {\n type: 'exitnode',\n ref: 'failureExitNode'\n };\n const ctaFailure = createHeaderCTA({translate: mockTranslate}, {dispatch})(state);\n t.deepEqual(omit('onClick', ctaFailure), {\n title: '__Next chapter'\n });\n});\n\ntest('should return null for the next content title if next content is an extralife', t => {\n const state = cloneDeep(popinNextLevel);\n const dispatch = createDispatch(state);\n state.data.progressions.entities[0].state.nextContent = {\n type: 'node',\n ref: 'extralife'\n };\n\n const cta = createHeaderCTA({translate: mockTranslate}, {dispatch})(state);\n t.deepEqual(omit('onClick', cta), {\n title: '__Next chapter'\n });\n});\n"],"file":"popin-correction.create-header-cta.js"}