@coorpacademy/player-web 3.18.3 → 3.18.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/index.js.map +1 -1
- package/es/map-state-to-props/answer.js.map +1 -1
- package/es/map-state-to-props/header.js.map +1 -1
- package/es/map-state-to-props/index.js.map +1 -1
- package/es/map-state-to-props/loading.js.map +1 -1
- package/es/map-state-to-props/player.js.map +1 -1
- package/es/map-state-to-props/popin-correction.js.map +1 -1
- package/es/map-state-to-props/popin-end.js.map +1 -1
- package/es/map-state-to-props/resources.js.map +1 -1
- package/es/map-state-to-props/slide.js.map +1 -1
- package/es/map-state-to-props/test/answer.js.map +1 -1
- package/es/map-state-to-props/test/header.js.map +1 -1
- package/es/map-state-to-props/test/index.js.map +1 -1
- package/es/map-state-to-props/test/player.js.map +1 -1
- package/es/map-state-to-props/test/popin-correction.create-header-cta.js.map +1 -1
- package/es/map-state-to-props/test/popin-correction.js.map +1 -1
- package/es/map-state-to-props/test/popin-end.js.map +1 -1
- package/es/map-state-to-props/test/resources.js.map +1 -1
- package/es/run-app.js.map +1 -1
- package/es/store.js.map +1 -1
- package/es/test/add-timeout.js.map +1 -1
- package/es/test/helpers/css-register.js.map +1 -1
- package/es/test/helpers/macro.js.map +1 -1
- package/es/test/index.js.map +1 -1
- package/es/test/init-reducers.js.map +1 -1
- package/es/test/locales.js.map +1 -1
- package/es/test/run-app.js.map +1 -1
- package/es/test/store.js.map +1 -1
- package/es/views/index.js.map +1 -1
- package/es/views/test/helpers/render.js.map +1 -1
- package/es/views/test/helpers/state-to-vnode.js.map +1 -1
- package/es/views/test/loading.js.map +1 -1
- package/es/views/test/popin-correction.js.map +1 -1
- package/es/views/test/popin-end.js.map +1 -1
- package/es/views/test/router.js.map +1 -1
- package/es/views/test/slide.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/map-state-to-props/answer.js.map +1 -1
- package/lib/map-state-to-props/header.js.map +1 -1
- package/lib/map-state-to-props/index.js.map +1 -1
- package/lib/map-state-to-props/loading.js.map +1 -1
- package/lib/map-state-to-props/player.js.map +1 -1
- package/lib/map-state-to-props/popin-correction.js.map +1 -1
- package/lib/map-state-to-props/popin-end.js.map +1 -1
- package/lib/map-state-to-props/resources.js.map +1 -1
- package/lib/map-state-to-props/slide.js.map +1 -1
- package/lib/map-state-to-props/test/answer.js.map +1 -1
- package/lib/map-state-to-props/test/header.js.map +1 -1
- package/lib/map-state-to-props/test/index.js.map +1 -1
- package/lib/map-state-to-props/test/player.js +1 -1
- package/lib/map-state-to-props/test/player.js.map +1 -1
- package/lib/map-state-to-props/test/popin-correction.create-header-cta.js.map +1 -1
- package/lib/map-state-to-props/test/popin-correction.js.map +1 -1
- package/lib/map-state-to-props/test/popin-end.js.map +1 -1
- package/lib/map-state-to-props/test/resources.js.map +1 -1
- package/lib/run-app.js.map +1 -1
- package/lib/store.js.map +1 -1
- package/lib/test/add-timeout.js.map +1 -1
- package/lib/test/helpers/css-register.js.map +1 -1
- package/lib/test/helpers/macro.js.map +1 -1
- package/lib/test/index.js +2 -2
- package/lib/test/index.js.map +1 -1
- package/lib/test/init-reducers.js.map +1 -1
- package/lib/test/locales.js.map +1 -1
- package/lib/test/run-app.js.map +1 -1
- package/lib/test/store.js.map +1 -1
- package/lib/views/index.js.map +1 -1
- package/lib/views/test/helpers/render.js.map +1 -1
- package/lib/views/test/helpers/state-to-vnode.js.map +1 -1
- package/lib/views/test/loading.js.map +1 -1
- package/lib/views/test/popin-correction.js.map +1 -1
- package/lib/views/test/popin-end.js.map +1 -1
- package/lib/views/test/router.js.map +1 -1
- package/lib/views/test/slide.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"player.js","names":["options","translate","mockTranslate","store","dispatch","createPlayerProps","createPlayer","createHeaderProps","createHeader","availableSlides","slide","_id","basicSlide","plopSlide","qcmSlide","qcmDragSlide","qcmGraphicSlide","contextSlide","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","templateSlide","context","adaptiveBasic","adaptiveQcm","adaptiveQcmDrag","adaptiveQcmGraphic","adaptiveContext","adaptiveTemplate","isDisabledFor","answer","progressionId","chapterId","chapter_id","ui","route","answers","value","cta","disabled","test","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","UI_SELECT_ROUTE","payload","meta","description","selected","foo","onClickSeeClue","progression","resources","showNewMedia","forEach","lessons","showReviewLesson","learnerProgressionStateFixture","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 {UI_SELECT_ROUTE} from '@coorpacademy/player-store';\nimport createPlayer from '../player';\nimport createHeader from '../header';\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\nexport const options = {translate: mockTranslate};\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":["options","translate","mockTranslate","store","dispatch","createPlayerProps","createHeaderProps","availableSlides","slide","_id","basicSlide","plopSlide","qcmSlide","qcmDragSlide","qcmGraphicSlide","contextSlide","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","templateSlide","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","UI_SELECT_ROUTE","payload","meta","description","selected","foo","onClickSeeClue","progression","resources","showNewMedia","forEach","lessons","showReviewLesson","learnerProgressionStateFixture","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 {UI_SELECT_ROUTE} from '@coorpacademy/player-store';\nimport createPlayer from '../player';\nimport createHeader from '../header';\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\nexport const options = {translate: mockTranslate};\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":["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","test","t","popinSuccess","linkAssistance","openPopinAssistance","deepEqual","UI_PROGRESSION_ACTION_TYPES","OPEN_ASSISTANCE_REQUEST","OPEN_ASSISTANCE_SUCCESS","progressionId","getCurrentProgressionId","cta","createHeaderCTA","translate","mockTranslate","title","onClick","SELECT_PROGRESSION","PROGRESSION_FETCH_REQUEST","CONTENT_FETCH_REQUEST","RANK_FETCH_START_REQUEST","PROGRESSION_FETCH_BESTOF_REQUEST","ENGINE_CONFIG_FETCH_REQUEST","CONTENT_INFO_FETCH_REQUEST","RANK_FETCH_START_SUCCESS","PROGRESSION_FETCH_BESTOF_SUCCESS","CONTENT_INFO_FETCH_SUCCESS","CONTENT_FETCH_SUCCESS","UI_SELECT_ROUTE","id","popinSuccessNode","RECO_FETCH_REQUEST","RANK_FETCH_END_REQUEST","NEXT_CONTENT_FETCH_REQUEST","EXIT_NODE_FETCH_REQUEST","RECO_FETCH_SUCCESS","RANK_FETCH_END_SUCCESS","NEXT_CONTENT_FETCH_SUCCESS","EXIT_NODE_FETCH_SUCCESS","popinFailure","nextStepTitle","popinExtraLife","PROGRESSION_EXTRALIFEREFUSED_REQUEST","PROGRESSION_EXTRALIFEREFUSED_SUCCESS","PROGRESSION_UPDATED_ON_MOVE","ANSWER_FETCH_REQUEST","ANSWER_FETCH_SUCCESS","popinRevival","PROGRESSION_EXTRALIFEACCEPTED_REQUEST","PROGRESSION_EXTRALIFEACCEPTED_SUCCESS","popinNextLevel","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":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/map-state-to-props/test/popin-correction.create-header-cta.js"],"names":["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","popinSuccess","linkAssistance","deepEqual","UI_PROGRESSION_ACTION_TYPES","OPEN_ASSISTANCE_REQUEST","OPEN_ASSISTANCE_SUCCESS","progressionId","cta","translate","mockTranslate","title","onClick","SELECT_PROGRESSION","PROGRESSION_FETCH_REQUEST","CONTENT_FETCH_REQUEST","RANK_FETCH_START_REQUEST","PROGRESSION_FETCH_BESTOF_REQUEST","ENGINE_CONFIG_FETCH_REQUEST","CONTENT_INFO_FETCH_REQUEST","RANK_FETCH_START_SUCCESS","PROGRESSION_FETCH_BESTOF_SUCCESS","CONTENT_INFO_FETCH_SUCCESS","CONTENT_FETCH_SUCCESS","UI_SELECT_ROUTE","id","popinSuccessNode","RECO_FETCH_REQUEST","RANK_FETCH_END_REQUEST","NEXT_CONTENT_FETCH_REQUEST","EXIT_NODE_FETCH_REQUEST","RECO_FETCH_SUCCESS","RANK_FETCH_END_SUCCESS","NEXT_CONTENT_FETCH_SUCCESS","EXIT_NODE_FETCH_SUCCESS","popinFailure","nextStepTitle","popinExtraLife","PROGRESSION_EXTRALIFEREFUSED_REQUEST","PROGRESSION_EXTRALIFEREFUSED_SUCCESS","PROGRESSION_UPDATED_ON_MOVE","ANSWER_FETCH_REQUEST","ANSWER_FETCH_SUCCESS","popinRevival","PROGRESSION_EXTRALIFEACCEPTED_REQUEST","PROGRESSION_EXTRALIFEACCEPTED_SUCCESS","popinNextLevel","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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../src/map-state-to-props/test/popin-correction.js"],"names":["t","progressionId","popinExtraLife","state","props","translate","mockTranslate","dispatch","true","is","quit","undefined","Object","freeze","false","header","type","deepEqual","title","text","lifeAmount","popinFailure","gameOver","overlay","lives"],"mappings":"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","sourcesContent":["import test from 'ava';\nimport {get, set, identity} from 'lodash/fp';\n\nimport {mockTranslate} from '@coorpacademy/translate';\nimport {getCurrentProgressionId} from '@coorpacademy/player-store';\nimport {popinCorrectionStateToProps} from '../popin-correction';\nimport popinExtraLife from './fixtures/popin-correction/popin-extra-life';\nimport popinFailure from './fixtures/popin-correction/popin-failure';\n\ntest('should put revival to true if current step is extra life and a lesson has been viewed', t => {\n const progressionId = getCurrentProgressionId(popinExtraLife);\n const state = set(\n ['data', 'progressions', 'entities', progressionId, 'state', 'hasViewedAResourceAtThisStep'],\n true,\n popinExtraLife\n );\n const props = popinCorrectionStateToProps(\n {translate: mockTranslate},\n {dispatch: identity}\n )(state);\n\n t.true(get('extraLifeGranted', props));\n t.is(props.quit, undefined);\n});\n\ntest('should put revival to false if current step is extra life and a lesson has not been viewed', t => {\n const state = Object.freeze(popinExtraLife);\n const props = popinCorrectionStateToProps(\n {translate: mockTranslate},\n {dispatch: identity}\n )(state);\n\n t.false(get('extraLifeGranted', props));\n t.is(get('quit.cta.title', props), '__Quit');\n t.is(props.header.type, 'popinCorrection');\n t.deepEqual(get('overlay', props), {\n title: '__Bonus!',\n text: '__Get an extra life by viewing the lesson',\n lifeAmount: 1\n });\n});\n\ntest('should put revival to false if current step is not extra life, even if lesson has been viewed', t => {\n const progressionId = getCurrentProgressionId(popinFailure);\n const state = set(\n ['data', 'progressions', 'entities', progressionId, 'state', 'hasViewedAResourceAtThisStep'],\n true,\n popinFailure\n );\n const props = popinCorrectionStateToProps(\n {translate: mockTranslate},\n {dispatch: identity}\n )(state);\n\n t.false(get('extraLifeGranted', props));\n t.is(props.header.type, 'popinCorrection');\n t.is(props.gameOver, true);\n t.is(props.quit, undefined);\n t.is(props.overlay, undefined);\n});\n\ntest('should return lives', t => {\n const progressionId = getCurrentProgressionId(popinFailure);\n let state = set(\n ['data', 'progressions', 'entities', progressionId, 'state', 'livesDisabled'],\n false,\n popinExtraLife\n );\n state = set(\n ['data', 'progressions', 'entities', progressionId, 'state', 'lives'],\n 42,\n popinExtraLife\n );\n const props = popinCorrectionStateToProps(\n {translate: mockTranslate},\n {dispatch: identity}\n )(state);\n\n t.is(props.header.lives, 42);\n});\n\ntest('should return empty lives if disabled', t => {\n const progressionId = getCurrentProgressionId(popinFailure);\n const state = set(\n ['data', 'progressions', 'entities', progressionId, 'state', 'livesDisabled'],\n true,\n popinExtraLife\n );\n const props = popinCorrectionStateToProps(\n {translate: mockTranslate},\n {dispatch: identity}\n )(state);\n\n t.is(props.header.lives, null);\n});\n"],"file":"popin-correction.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popin-end.js","names":["services","Comments","post","Location","openRecommendation","nextLevel","seeComment","createDispatch","state","getState","action","dispatched","dispatch","maybeAction","push","actionTypes","actions","type","options","translate","mockTranslate","test","t","popinLearnerSuccess","props","popinEnd","header","summary","is","rank","stars","cta","title","true","onClick","falsy","href","dispatchedHeaderCta","deepEqual","LOCATION_NEXT_CONTENT_REQUEST","LOCATION_NEXT_CONTENT_SUCCESS","prefix","buttonCta","button","dispatchedActionCta","comment","edition","postDisabled","isSent","value","onChange","dispatchedOnChange","target","UI_EDIT_COMMENT","onPost","dispatchedOnPost","SEND_POST_COMMENT_REQUEST","SEND_POST_COMMENT_SUCCESS","confirmation","dispatchedOnClick","LOCATION_SEE_COMMENT_REQUEST","LOCATION_SEE_COMMENT_SUCCESS","popinLearnerFailure","subtitle","lives","popinLearnerFailureWithRedirection","popinLearnerSuccessWithRedirection","popinMicrolearningFailure","popinMicrolearningSuccess","popinLearnerAdaptiveFailure","recommendations","recommendation","dispatchedOpenRecommmendation","cards","LOCATION_OPEN_RECOMMENDATION_REQUEST","LOCATION_OPEN_RECOMMENDATION_SUCCESS","ref","progressionId","getCurrentProgressionId","_id","description","mediaDescription","media","mediaUrl","mimeType","subtitles","posters","__v","success","total"],"sources":["../../../src/map-state-to-props/test/popin-end.js"],"sourcesContent":["import test from 'ava';\nimport {get, map, set, pipe, identity, isFunction, isUndefined} from 'lodash/fp';\n\nimport {mockTranslate} from '@coorpacademy/translate';\nimport {\n getCurrentProgressionId,\n LOCATION_NEXT_CONTENT_REQUEST,\n LOCATION_NEXT_CONTENT_SUCCESS,\n LOCATION_OPEN_RECOMMENDATION_REQUEST,\n LOCATION_OPEN_RECOMMENDATION_SUCCESS,\n LOCATION_SEE_COMMENT_REQUEST,\n LOCATION_SEE_COMMENT_SUCCESS,\n SEND_POST_COMMENT_REQUEST,\n SEND_POST_COMMENT_SUCCESS,\n UI_EDIT_COMMENT\n} from '@coorpacademy/player-store';\nimport popinEnd from '../popin-end';\n\nimport popinLearnerSuccess from './fixtures/popin-end/learner-success';\nimport popinLearnerSuccessWithRedirection from './fixtures/popin-end/learner-success-with-redirection';\nimport popinLearnerFailure from './fixtures/popin-end/learner-failure';\nimport popinLearnerFailureWithRedirection from './fixtures/popin-end/learner-failure-with-redirection';\nimport popinLearnerAdaptiveFailure from './fixtures/popin-end/learner-adaptive-failure';\nimport popinMicrolearningFailure from './fixtures/popin-end/fail';\nimport popinMicrolearningSuccess from './fixtures/popin-end/success';\n\nconst services = {\n Comments: {\n post: identity\n },\n Location: {\n openRecommendation: identity,\n nextLevel: identity,\n seeComment: identity\n }\n};\n\nconst createDispatch = state => {\n const getState = () => state;\n\n return async action => {\n const dispatched = [];\n const dispatch = maybeAction =>\n isFunction(maybeAction)\n ? maybeAction(dispatch, getState, {services})\n : dispatched.push(maybeAction);\n\n await dispatch(action);\n\n return dispatched;\n };\n};\n\nconst actionTypes = actions => map(({type}) => type, actions);\nconst options = {translate: mockTranslate};\n\ntest('should create a \"Next Level\" CTA after success on learner progression', async t => {\n const dispatch = createDispatch(popinLearnerSuccess);\n const props = popinEnd(options, {dispatch})(popinLearnerSuccess);\n\n const header = props.summary.header;\n t.is(header.rank, '+1');\n t.is(header.stars, '+2');\n t.is(header.type, 'popinEnd');\n\n const cta = header.cta;\n t.is(cta.title, '__Next level');\n t.true(isFunction(cta.onClick));\n t.falsy(cta.href);\n const dispatchedHeaderCta = await cta.onClick();\n t.deepEqual(actionTypes(dispatchedHeaderCta), [\n LOCATION_NEXT_CONTENT_REQUEST,\n LOCATION_NEXT_CONTENT_SUCCESS\n ]);\n\n const action = props.summary.action;\n t.is(action.prefix, '__Next level_');\n t.is(action.title, 'La recherche en ligne - Avancé');\n\n const buttonCta = action.button;\n t.is(buttonCta.title, '__Next level');\n const dispatchedActionCta = await buttonCta.onClick();\n t.deepEqual(actionTypes(dispatchedActionCta), [\n LOCATION_NEXT_CONTENT_REQUEST,\n LOCATION_NEXT_CONTENT_SUCCESS\n ]);\n\n const comment = props.summary.comment;\n t.is(comment.edition.postDisabled, true);\n});\n\ntest('should write, send, and go see a comment after success on learner progression', async t => {\n const state = pipe(\n set('data.comments.entities.idProgression1234.isSent', true),\n set('ui.comments.text', 'textToSend')\n )(popinLearnerSuccess);\n\n const dispatch = createDispatch(state);\n const props = popinEnd(options, {dispatch})(state);\n\n const comment = props.summary.comment;\n t.is(comment.isSent, true);\n t.is(comment.edition.value, 'textToSend');\n t.is(comment.edition.postDisabled, false);\n\n const onChange = comment.edition.onChange;\n t.true(isFunction(onChange));\n const dispatchedOnChange = await onChange({target: {value: 'foo'}});\n\n t.deepEqual(actionTypes(dispatchedOnChange), [UI_EDIT_COMMENT]);\n\n const onPost = comment.edition.onPost;\n t.true(isFunction(onPost));\n const dispatchedOnPost = await onPost();\n\n t.deepEqual(actionTypes(dispatchedOnPost), [\n SEND_POST_COMMENT_REQUEST,\n SEND_POST_COMMENT_SUCCESS\n ]);\n\n const onClick = comment.confirmation.onClick;\n t.true(isFunction(onClick));\n const dispatchedOnClick = await onClick();\n\n t.deepEqual(actionTypes(dispatchedOnClick), [\n LOCATION_SEE_COMMENT_REQUEST,\n LOCATION_SEE_COMMENT_SUCCESS\n ]);\n});\n\ntest('should not see comment section after failure on learner progression', t => {\n const dispatch = createDispatch(popinLearnerFailure);\n const props = popinEnd(options, {dispatch})(popinLearnerFailure);\n t.is(props.summary.comment, null);\n t.is(props.summary.header.subtitle, '__You are out of lives!');\n t.is(props.summary.header.lives, 0);\n});\n\ntest('should verify that cta should redirect if redirectURLAfterEnd is set on state for failure popin', t => {\n const dispatch = createDispatch(popinLearnerFailureWithRedirection);\n const props = popinEnd(options, {dispatch})(popinLearnerFailureWithRedirection);\n\n const header = props.summary.header;\n const cta = header.cta;\n t.is(cta.title, '__Click to continue');\n t.true(isUndefined(cta.onClick));\n t.is(cta.href, 'http://www.google.com');\n});\n\ntest('should verify that cta should redirect if redirectURLAfterEnd is set on state for success popin', t => {\n const dispatch = createDispatch(popinLearnerSuccessWithRedirection);\n const props = popinEnd(options, {dispatch})(popinLearnerSuccessWithRedirection);\n\n const header = props.summary.header;\n const cta = header.cta;\n t.is(cta.title, '__Click to continue');\n t.true(isUndefined(cta.onClick));\n t.is(cta.href, 'http://www.google.com');\n});\n\ntest('should not see comment section after failure on microlearning progression', t => {\n const dispatch = createDispatch(popinMicrolearningFailure);\n const props = popinEnd(options, {\n dispatch\n })(popinMicrolearningFailure);\n t.is(props.summary.comment, null);\n});\n\ntest('should not see comment section after success on microlearning progression', t => {\n const dispatch = createDispatch(popinMicrolearningSuccess);\n const props = popinEnd(options, {\n dispatch\n })(popinMicrolearningSuccess);\n t.is(props.summary.comment, null);\n});\n\ntest(\"livesDisabled == true ---> should not see lives and 'You are out of lives!' message\", t => {\n const dispatch = createDispatch(popinLearnerAdaptiveFailure);\n const props = popinEnd(options, {dispatch})(popinLearnerAdaptiveFailure);\n\n t.is(props.summary.header.subtitle, '__Nice try!');\n t.is(props.summary.header.lives, null);\n});\n\ntest('should create a \"Back to Home\" CTA after success on learner progression with coach content', async t => {\n const state = pipe(\n set(['data', 'contents', 'level', 'entities', '1.B', 'level'], 'coach'),\n set('data.nextContent.entities.idProgression1234', null)\n )(popinLearnerSuccess);\n\n const dispatch = createDispatch(state);\n const props = popinEnd(options, {dispatch})(state);\n\n const header = props.summary.header;\n t.is(header.rank, '+1');\n t.is(header.stars, '+2');\n t.is(header.type, 'popinEnd');\n\n const cta = header.cta;\n t.is(cta.title, '__Back to home');\n t.deepEqual(map('type')(await cta.onClick()), [\n '@@location/EXIT_REQUEST',\n '@@location/EXIT_FAILURE'\n ]);\n t.falsy(cta.href);\n\n t.falsy(props.summary.action);\n});\n\ntest('should create a \"Back to Home\" CTA after success on learner progression with content with only base level', async t => {\n const state = set(\n ['data', 'nextContent', 'entities', 'idProgression1234'],\n null,\n popinLearnerSuccess\n );\n\n const dispatch = createDispatch(state);\n const props = popinEnd(options, {dispatch})(state);\n\n const header = props.summary.header;\n t.is(header.rank, '+1');\n t.is(header.stars, '+2');\n t.is(header.type, 'popinEnd');\n\n const cta = header.cta;\n t.is(cta.title, '__Back to home');\n t.deepEqual(map('type')(await cta.onClick()), [\n '@@location/EXIT_REQUEST',\n '@@location/EXIT_FAILURE'\n ]);\n t.falsy(cta.href);\n});\n\ntest('should create a \"Retry Level\" CTA after failure on learner progression', t => {\n const dispatch = createDispatch(popinLearnerFailure);\n const props = popinEnd(options, {dispatch})(popinLearnerFailure);\n\n const header = props.summary.header;\n t.is(header.rank, '-1');\n t.is(header.type, 'popinEnd');\n\n const cta = props.summary.header.cta;\n t.is(cta.title, '__Retry level');\n t.true(isFunction(cta.onClick));\n t.falsy(cta.href);\n\n const action = props.summary.action;\n t.is(action.prefix, '__Retry level_');\n t.is(action.title, 'La recherche en ligne - Base');\n\n const buttonCta = action.button;\n t.is(buttonCta.title, '__Retry level');\n});\n\ntest('should open recommendation', async t => {\n const dispatch = createDispatch(popinLearnerSuccess);\n const props = popinEnd(options, {dispatch})(popinLearnerSuccess);\n\n const recommendations = props.summary.recommendation;\n\n const dispatchedOpenRecommmendation = await recommendations.cards[0].onClick();\n t.deepEqual(actionTypes(dispatchedOpenRecommmendation), [\n LOCATION_OPEN_RECOMMENDATION_REQUEST,\n LOCATION_OPEN_RECOMMENDATION_SUCCESS\n ]);\n});\n\ntest('should create a \"Retry Chapter\" CTA after failure on microlearning progression', t => {\n const dispatch = createDispatch(popinMicrolearningFailure);\n const props = popinEnd(options, {dispatch})(popinMicrolearningFailure);\n\n const header = props.summary.header;\n t.falsy(header.rank);\n t.falsy(header.stars);\n t.is(header.type, 'popinEnd');\n\n const cta = props.summary.header.cta;\n t.is(cta.title, '__Retry chapter');\n t.true(isFunction(cta.onClick));\n t.falsy(cta.href);\n});\n\ntest('should extract feedback content from exit node', t => {\n const ref = 'biba-exit-node-A';\n const progressionId = getCurrentProgressionId(popinMicrolearningFailure);\n const state = pipe(\n set(`data.exitNodes.entities.${ref}`, {\n ref,\n _id: '5a4e2adbd56b8b7ddab06532',\n type: 'success',\n title: 'biba_exit_node_A.title',\n description: 'biba_exit_node_A.description',\n mediaDescription: 'biba_exit_node_A.media.description',\n media: {\n ref: 'biba_exit_node_A-media',\n type: 'pdf',\n mediaUrl: 'biba_exit_node_A.media.pdf.mediaUrl',\n mimeType: 'application/pdf',\n description: 'biba_exit_node_A.media.pdf.description',\n subtitles: 'biba_exit_node_A.media.pdf.subtitles',\n posters: []\n },\n __v: 0\n }),\n set(`data.progressions.entities.${progressionId}.state.nextContent.ref`, ref)\n )(popinMicrolearningFailure);\n\n const dispatch = createDispatch(state);\n const props = popinEnd(options, {dispatch})(state);\n\n t.deepEqual(get('summary.feedback', props), {\n title: 'biba_exit_node_A.title',\n description: 'biba_exit_node_A.description',\n mediaDescription: 'biba_exit_node_A.media.description',\n media: {\n type: 'pdf',\n description: 'biba_exit_node_A.media.pdf.description',\n mimeType: 'application/pdf',\n mediaUrl: 'biba_exit_node_A.media.pdf.mediaUrl'\n }\n });\n});\n\ntest('should extract feedback content from exit node and counters', t => {\n const ref = 'biba-exit-node-A';\n const progressionId = getCurrentProgressionId(popinMicrolearningFailure);\n const state = pipe(\n set(`data.exitNodes.entities.${ref}`, {\n ref,\n _id: '5a4e2adbd56b8b7ddab06532',\n type: 'success',\n title: 'title total: {{ success }}',\n description: 'description {{ success }}/{{ total }}',\n mediaDescription: 'mediaDescription {{ total }}',\n media: {\n ref: 'biba_exit_node_A-media',\n type: 'pdf',\n mediaUrl: 'biba_exit_node_A.media.pdf.mediaUrl',\n mimeType: 'application/pdf',\n description: 'biba_exit_node_A.media.pdf.description',\n subtitles: 'biba_exit_node_A.media.pdf.subtitles',\n posters: []\n },\n __v: 0\n }),\n set(`data.progressions.entities.${progressionId}.state.nextContent.ref`, ref),\n set(`data.progressions.entities.${progressionId}.state.variables`, {success: 4, total: 10})\n )(popinMicrolearningFailure);\n const dispatch = createDispatch(state);\n const props = popinEnd(options, {dispatch})(state);\n\n t.deepEqual(get('summary.feedback', props), {\n title: 'title total: 4',\n description: 'description 4/10',\n mediaDescription: 'mediaDescription 10',\n media: {\n type: 'pdf',\n description: 'biba_exit_node_A.media.pdf.description',\n mimeType: 'application/pdf',\n mediaUrl: 'biba_exit_node_A.media.pdf.mediaUrl'\n }\n });\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/map-state-to-props/test/popin-end.js"],"names":["services","Comments","post","Location","openRecommendation","nextLevel","seeComment","createDispatch","state","getState","action","dispatched","dispatch","maybeAction","push","actionTypes","actions","type","options","translate","mockTranslate","t","popinLearnerSuccess","props","header","summary","is","rank","stars","cta","title","true","onClick","falsy","href","dispatchedHeaderCta","deepEqual","LOCATION_NEXT_CONTENT_REQUEST","LOCATION_NEXT_CONTENT_SUCCESS","prefix","buttonCta","button","dispatchedActionCta","comment","edition","postDisabled","isSent","value","onChange","dispatchedOnChange","target","UI_EDIT_COMMENT","onPost","dispatchedOnPost","SEND_POST_COMMENT_REQUEST","SEND_POST_COMMENT_SUCCESS","confirmation","dispatchedOnClick","LOCATION_SEE_COMMENT_REQUEST","LOCATION_SEE_COMMENT_SUCCESS","popinLearnerFailure","subtitle","lives","popinLearnerFailureWithRedirection","popinLearnerSuccessWithRedirection","popinMicrolearningFailure","popinMicrolearningSuccess","popinLearnerAdaptiveFailure","recommendations","recommendation","dispatchedOpenRecommmendation","cards","LOCATION_OPEN_RECOMMENDATION_REQUEST","LOCATION_OPEN_RECOMMENDATION_SUCCESS","ref","progressionId","_id","description","mediaDescription","media","mediaUrl","mimeType","subtitles","posters","__v","success","total"],"mappings":";;;;;;;;;;;;;;;;AAAA;;AAGA;;AACA;;AAYA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,QAAQ,GAAG;AACfC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,IAAI;AADI,GADK;AAIfC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,kBAAkB,oBADV;AAERC,IAAAA,SAAS,oBAFD;AAGRC,IAAAA,UAAU;AAHF;AAJK,CAAjB;;AAWA,MAAMC,cAAc,GAAGC,KAAK,IAAI;AAC9B,QAAMC,QAAQ,GAAG,MAAMD,KAAvB;;AAEA,SAAO,MAAME,MAAN,IAAgB;AACrB,UAAMC,UAAU,GAAG,EAAnB;;AACA,UAAMC,QAAQ,GAAGC,WAAW,IAC1B,0BAAWA,WAAX,IACIA,WAAW,CAACD,QAAD,EAAWH,QAAX,EAAqB;AAACT,MAAAA;AAAD,KAArB,CADf,GAEIW,UAAU,CAACG,IAAX,CAAgBD,WAAhB,CAHN;;AAKA,UAAMD,QAAQ,CAACF,MAAD,CAAd;AAEA,WAAOC,UAAP;AACD,GAVD;AAWD,CAdD;;AAgBA,MAAMI,WAAW,GAAGC,OAAO,IAAI,mBAAI,CAAC;AAACC,EAAAA;AAAD,CAAD,KAAYA,IAAhB,EAAsBD,OAAtB,CAA/B;;AACA,MAAME,OAAO,GAAG;AAACC,EAAAA,SAAS,EAAEC;AAAZ,CAAhB;AAEA,kBAAK,uEAAL,EAA8E,MAAMC,CAAN,IAAW;AACvF,QAAMT,QAAQ,GAAGL,cAAc,CAACe,uBAAD,CAA/B;AACA,QAAMC,KAAK,GAAG,uBAASL,OAAT,EAAkB;AAACN,IAAAA;AAAD,GAAlB,EAA8BU,uBAA9B,CAAd;AAEA,QAAME,MAAM,GAAGD,KAAK,CAACE,OAAN,CAAcD,MAA7B;AACAH,EAAAA,CAAC,CAACK,EAAF,CAAKF,MAAM,CAACG,IAAZ,EAAkB,IAAlB;AACAN,EAAAA,CAAC,CAACK,EAAF,CAAKF,MAAM,CAACI,KAAZ,EAAmB,IAAnB;AACAP,EAAAA,CAAC,CAACK,EAAF,CAAKF,MAAM,CAACP,IAAZ,EAAkB,UAAlB;AAEA,QAAMY,GAAG,GAAGL,MAAM,CAACK,GAAnB;AACAR,EAAAA,CAAC,CAACK,EAAF,CAAKG,GAAG,CAACC,KAAT,EAAgB,cAAhB;AACAT,EAAAA,CAAC,CAACU,IAAF,CAAO,0BAAWF,GAAG,CAACG,OAAf,CAAP;AACAX,EAAAA,CAAC,CAACY,KAAF,CAAQJ,GAAG,CAACK,IAAZ;AACA,QAAMC,mBAAmB,GAAG,MAAMN,GAAG,CAACG,OAAJ,EAAlC;AACAX,EAAAA,CAAC,CAACe,SAAF,CAAYrB,WAAW,CAACoB,mBAAD,CAAvB,EAA8C,CAC5CE,0CAD4C,EAE5CC,0CAF4C,CAA9C;AAKA,QAAM5B,MAAM,GAAGa,KAAK,CAACE,OAAN,CAAcf,MAA7B;AACAW,EAAAA,CAAC,CAACK,EAAF,CAAKhB,MAAM,CAAC6B,MAAZ,EAAoB,eAApB;AACAlB,EAAAA,CAAC,CAACK,EAAF,CAAKhB,MAAM,CAACoB,KAAZ,EAAmB,gCAAnB;AAEA,QAAMU,SAAS,GAAG9B,MAAM,CAAC+B,MAAzB;AACApB,EAAAA,CAAC,CAACK,EAAF,CAAKc,SAAS,CAACV,KAAf,EAAsB,cAAtB;AACA,QAAMY,mBAAmB,GAAG,MAAMF,SAAS,CAACR,OAAV,EAAlC;AACAX,EAAAA,CAAC,CAACe,SAAF,CAAYrB,WAAW,CAAC2B,mBAAD,CAAvB,EAA8C,CAC5CL,0CAD4C,EAE5CC,0CAF4C,CAA9C;AAKA,QAAMK,OAAO,GAAGpB,KAAK,CAACE,OAAN,CAAckB,OAA9B;AACAtB,EAAAA,CAAC,CAACK,EAAF,CAAKiB,OAAO,CAACC,OAAR,CAAgBC,YAArB,EAAmC,IAAnC;AACD,CAjCD;AAmCA,kBAAK,+EAAL,EAAsF,MAAMxB,CAAN,IAAW;AAC/F,QAAMb,KAAK,GAAG,oBACZ,mBAAI,iDAAJ,EAAuD,IAAvD,CADY,EAEZ,mBAAI,kBAAJ,EAAwB,YAAxB,CAFY,EAGZc,uBAHY,CAAd;AAKA,QAAMV,QAAQ,GAAGL,cAAc,CAACC,KAAD,CAA/B;AACA,QAAMe,KAAK,GAAG,uBAASL,OAAT,EAAkB;AAACN,IAAAA;AAAD,GAAlB,EAA8BJ,KAA9B,CAAd;AAEA,QAAMmC,OAAO,GAAGpB,KAAK,CAACE,OAAN,CAAckB,OAA9B;AACAtB,EAAAA,CAAC,CAACK,EAAF,CAAKiB,OAAO,CAACG,MAAb,EAAqB,IAArB;AACAzB,EAAAA,CAAC,CAACK,EAAF,CAAKiB,OAAO,CAACC,OAAR,CAAgBG,KAArB,EAA4B,YAA5B;AACA1B,EAAAA,CAAC,CAACK,EAAF,CAAKiB,OAAO,CAACC,OAAR,CAAgBC,YAArB,EAAmC,KAAnC;AAEA,QAAMG,QAAQ,GAAGL,OAAO,CAACC,OAAR,CAAgBI,QAAjC;AACA3B,EAAAA,CAAC,CAACU,IAAF,CAAO,0BAAWiB,QAAX,CAAP;AACA,QAAMC,kBAAkB,GAAG,MAAMD,QAAQ,CAAC;AAACE,IAAAA,MAAM,EAAE;AAACH,MAAAA,KAAK,EAAE;AAAR;AAAT,GAAD,CAAzC;AAEA1B,EAAAA,CAAC,CAACe,SAAF,CAAYrB,WAAW,CAACkC,kBAAD,CAAvB,EAA6C,CAACE,4BAAD,CAA7C;AAEA,QAAMC,MAAM,GAAGT,OAAO,CAACC,OAAR,CAAgBQ,MAA/B;AACA/B,EAAAA,CAAC,CAACU,IAAF,CAAO,0BAAWqB,MAAX,CAAP;AACA,QAAMC,gBAAgB,GAAG,MAAMD,MAAM,EAArC;AAEA/B,EAAAA,CAAC,CAACe,SAAF,CAAYrB,WAAW,CAACsC,gBAAD,CAAvB,EAA2C,CACzCC,sCADyC,EAEzCC,sCAFyC,CAA3C;AAKA,QAAMvB,OAAO,GAAGW,OAAO,CAACa,YAAR,CAAqBxB,OAArC;AACAX,EAAAA,CAAC,CAACU,IAAF,CAAO,0BAAWC,OAAX,CAAP;AACA,QAAMyB,iBAAiB,GAAG,MAAMzB,OAAO,EAAvC;AAEAX,EAAAA,CAAC,CAACe,SAAF,CAAYrB,WAAW,CAAC0C,iBAAD,CAAvB,EAA4C,CAC1CC,yCAD0C,EAE1CC,yCAF0C,CAA5C;AAID,CArCD;AAuCA,kBAAK,qEAAL,EAA4EtC,CAAC,IAAI;AAC/E,QAAMT,QAAQ,GAAGL,cAAc,CAACqD,uBAAD,CAA/B;AACA,QAAMrC,KAAK,GAAG,uBAASL,OAAT,EAAkB;AAACN,IAAAA;AAAD,GAAlB,EAA8BgD,uBAA9B,CAAd;AACAvC,EAAAA,CAAC,CAACK,EAAF,CAAKH,KAAK,CAACE,OAAN,CAAckB,OAAnB,EAA4B,IAA5B;AACAtB,EAAAA,CAAC,CAACK,EAAF,CAAKH,KAAK,CAACE,OAAN,CAAcD,MAAd,CAAqBqC,QAA1B,EAAoC,yBAApC;AACAxC,EAAAA,CAAC,CAACK,EAAF,CAAKH,KAAK,CAACE,OAAN,CAAcD,MAAd,CAAqBsC,KAA1B,EAAiC,CAAjC;AACD,CAND;AAQA,kBAAK,iGAAL,EAAwGzC,CAAC,IAAI;AAC3G,QAAMT,QAAQ,GAAGL,cAAc,CAACwD,sCAAD,CAA/B;AACA,QAAMxC,KAAK,GAAG,uBAASL,OAAT,EAAkB;AAACN,IAAAA;AAAD,GAAlB,EAA8BmD,sCAA9B,CAAd;AAEA,QAAMvC,MAAM,GAAGD,KAAK,CAACE,OAAN,CAAcD,MAA7B;AACA,QAAMK,GAAG,GAAGL,MAAM,CAACK,GAAnB;AACAR,EAAAA,CAAC,CAACK,EAAF,CAAKG,GAAG,CAACC,KAAT,EAAgB,qBAAhB;AACAT,EAAAA,CAAC,CAACU,IAAF,CAAO,2BAAYF,GAAG,CAACG,OAAhB,CAAP;AACAX,EAAAA,CAAC,CAACK,EAAF,CAAKG,GAAG,CAACK,IAAT,EAAe,uBAAf;AACD,CATD;AAWA,kBAAK,iGAAL,EAAwGb,CAAC,IAAI;AAC3G,QAAMT,QAAQ,GAAGL,cAAc,CAACyD,sCAAD,CAA/B;AACA,QAAMzC,KAAK,GAAG,uBAASL,OAAT,EAAkB;AAACN,IAAAA;AAAD,GAAlB,EAA8BoD,sCAA9B,CAAd;AAEA,QAAMxC,MAAM,GAAGD,KAAK,CAACE,OAAN,CAAcD,MAA7B;AACA,QAAMK,GAAG,GAAGL,MAAM,CAACK,GAAnB;AACAR,EAAAA,CAAC,CAACK,EAAF,CAAKG,GAAG,CAACC,KAAT,EAAgB,qBAAhB;AACAT,EAAAA,CAAC,CAACU,IAAF,CAAO,2BAAYF,GAAG,CAACG,OAAhB,CAAP;AACAX,EAAAA,CAAC,CAACK,EAAF,CAAKG,GAAG,CAACK,IAAT,EAAe,uBAAf;AACD,CATD;AAWA,kBAAK,2EAAL,EAAkFb,CAAC,IAAI;AACrF,QAAMT,QAAQ,GAAGL,cAAc,CAAC0D,aAAD,CAA/B;AACA,QAAM1C,KAAK,GAAG,uBAASL,OAAT,EAAkB;AAC9BN,IAAAA;AAD8B,GAAlB,EAEXqD,aAFW,CAAd;AAGA5C,EAAAA,CAAC,CAACK,EAAF,CAAKH,KAAK,CAACE,OAAN,CAAckB,OAAnB,EAA4B,IAA5B;AACD,CAND;AAQA,kBAAK,2EAAL,EAAkFtB,CAAC,IAAI;AACrF,QAAMT,QAAQ,GAAGL,cAAc,CAAC2D,gBAAD,CAA/B;AACA,QAAM3C,KAAK,GAAG,uBAASL,OAAT,EAAkB;AAC9BN,IAAAA;AAD8B,GAAlB,EAEXsD,gBAFW,CAAd;AAGA7C,EAAAA,CAAC,CAACK,EAAF,CAAKH,KAAK,CAACE,OAAN,CAAckB,OAAnB,EAA4B,IAA5B;AACD,CAND;AAQA,kBAAK,qFAAL,EAA4FtB,CAAC,IAAI;AAC/F,QAAMT,QAAQ,GAAGL,cAAc,CAAC4D,+BAAD,CAA/B;AACA,QAAM5C,KAAK,GAAG,uBAASL,OAAT,EAAkB;AAACN,IAAAA;AAAD,GAAlB,EAA8BuD,+BAA9B,CAAd;AAEA9C,EAAAA,CAAC,CAACK,EAAF,CAAKH,KAAK,CAACE,OAAN,CAAcD,MAAd,CAAqBqC,QAA1B,EAAoC,aAApC;AACAxC,EAAAA,CAAC,CAACK,EAAF,CAAKH,KAAK,CAACE,OAAN,CAAcD,MAAd,CAAqBsC,KAA1B,EAAiC,IAAjC;AACD,CAND;AAQA,kBAAK,4FAAL,EAAmG,MAAMzC,CAAN,IAAW;AAC5G,QAAMb,KAAK,GAAG,oBACZ,mBAAI,CAAC,MAAD,EAAS,UAAT,EAAqB,OAArB,EAA8B,UAA9B,EAA0C,KAA1C,EAAiD,OAAjD,CAAJ,EAA+D,OAA/D,CADY,EAEZ,mBAAI,6CAAJ,EAAmD,IAAnD,CAFY,EAGZc,uBAHY,CAAd;AAKA,QAAMV,QAAQ,GAAGL,cAAc,CAACC,KAAD,CAA/B;AACA,QAAMe,KAAK,GAAG,uBAASL,OAAT,EAAkB;AAACN,IAAAA;AAAD,GAAlB,EAA8BJ,KAA9B,CAAd;AAEA,QAAMgB,MAAM,GAAGD,KAAK,CAACE,OAAN,CAAcD,MAA7B;AACAH,EAAAA,CAAC,CAACK,EAAF,CAAKF,MAAM,CAACG,IAAZ,EAAkB,IAAlB;AACAN,EAAAA,CAAC,CAACK,EAAF,CAAKF,MAAM,CAACI,KAAZ,EAAmB,IAAnB;AACAP,EAAAA,CAAC,CAACK,EAAF,CAAKF,MAAM,CAACP,IAAZ,EAAkB,UAAlB;AAEA,QAAMY,GAAG,GAAGL,MAAM,CAACK,GAAnB;AACAR,EAAAA,CAAC,CAACK,EAAF,CAAKG,GAAG,CAACC,KAAT,EAAgB,gBAAhB;AACAT,EAAAA,CAAC,CAACe,SAAF,CAAY,mBAAI,MAAJ,EAAY,MAAMP,GAAG,CAACG,OAAJ,EAAlB,CAAZ,EAA8C,CAC5C,yBAD4C,EAE5C,yBAF4C,CAA9C;AAIAX,EAAAA,CAAC,CAACY,KAAF,CAAQJ,GAAG,CAACK,IAAZ;AAEAb,EAAAA,CAAC,CAACY,KAAF,CAAQV,KAAK,CAACE,OAAN,CAAcf,MAAtB;AACD,CAvBD;AAyBA,kBAAK,2GAAL,EAAkH,MAAMW,CAAN,IAAW;AAC3H,QAAMb,KAAK,GAAG,mBACZ,CAAC,MAAD,EAAS,aAAT,EAAwB,UAAxB,EAAoC,mBAApC,CADY,EAEZ,IAFY,EAGZc,uBAHY,CAAd;AAMA,QAAMV,QAAQ,GAAGL,cAAc,CAACC,KAAD,CAA/B;AACA,QAAMe,KAAK,GAAG,uBAASL,OAAT,EAAkB;AAACN,IAAAA;AAAD,GAAlB,EAA8BJ,KAA9B,CAAd;AAEA,QAAMgB,MAAM,GAAGD,KAAK,CAACE,OAAN,CAAcD,MAA7B;AACAH,EAAAA,CAAC,CAACK,EAAF,CAAKF,MAAM,CAACG,IAAZ,EAAkB,IAAlB;AACAN,EAAAA,CAAC,CAACK,EAAF,CAAKF,MAAM,CAACI,KAAZ,EAAmB,IAAnB;AACAP,EAAAA,CAAC,CAACK,EAAF,CAAKF,MAAM,CAACP,IAAZ,EAAkB,UAAlB;AAEA,QAAMY,GAAG,GAAGL,MAAM,CAACK,GAAnB;AACAR,EAAAA,CAAC,CAACK,EAAF,CAAKG,GAAG,CAACC,KAAT,EAAgB,gBAAhB;AACAT,EAAAA,CAAC,CAACe,SAAF,CAAY,mBAAI,MAAJ,EAAY,MAAMP,GAAG,CAACG,OAAJ,EAAlB,CAAZ,EAA8C,CAC5C,yBAD4C,EAE5C,yBAF4C,CAA9C;AAIAX,EAAAA,CAAC,CAACY,KAAF,CAAQJ,GAAG,CAACK,IAAZ;AACD,CAtBD;AAwBA,kBAAK,wEAAL,EAA+Eb,CAAC,IAAI;AAClF,QAAMT,QAAQ,GAAGL,cAAc,CAACqD,uBAAD,CAA/B;AACA,QAAMrC,KAAK,GAAG,uBAASL,OAAT,EAAkB;AAACN,IAAAA;AAAD,GAAlB,EAA8BgD,uBAA9B,CAAd;AAEA,QAAMpC,MAAM,GAAGD,KAAK,CAACE,OAAN,CAAcD,MAA7B;AACAH,EAAAA,CAAC,CAACK,EAAF,CAAKF,MAAM,CAACG,IAAZ,EAAkB,IAAlB;AACAN,EAAAA,CAAC,CAACK,EAAF,CAAKF,MAAM,CAACP,IAAZ,EAAkB,UAAlB;AAEA,QAAMY,GAAG,GAAGN,KAAK,CAACE,OAAN,CAAcD,MAAd,CAAqBK,GAAjC;AACAR,EAAAA,CAAC,CAACK,EAAF,CAAKG,GAAG,CAACC,KAAT,EAAgB,eAAhB;AACAT,EAAAA,CAAC,CAACU,IAAF,CAAO,0BAAWF,GAAG,CAACG,OAAf,CAAP;AACAX,EAAAA,CAAC,CAACY,KAAF,CAAQJ,GAAG,CAACK,IAAZ;AAEA,QAAMxB,MAAM,GAAGa,KAAK,CAACE,OAAN,CAAcf,MAA7B;AACAW,EAAAA,CAAC,CAACK,EAAF,CAAKhB,MAAM,CAAC6B,MAAZ,EAAoB,gBAApB;AACAlB,EAAAA,CAAC,CAACK,EAAF,CAAKhB,MAAM,CAACoB,KAAZ,EAAmB,8BAAnB;AAEA,QAAMU,SAAS,GAAG9B,MAAM,CAAC+B,MAAzB;AACApB,EAAAA,CAAC,CAACK,EAAF,CAAKc,SAAS,CAACV,KAAf,EAAsB,eAAtB;AACD,CAnBD;AAqBA,kBAAK,4BAAL,EAAmC,MAAMT,CAAN,IAAW;AAC5C,QAAMT,QAAQ,GAAGL,cAAc,CAACe,uBAAD,CAA/B;AACA,QAAMC,KAAK,GAAG,uBAASL,OAAT,EAAkB;AAACN,IAAAA;AAAD,GAAlB,EAA8BU,uBAA9B,CAAd;AAEA,QAAM8C,eAAe,GAAG7C,KAAK,CAACE,OAAN,CAAc4C,cAAtC;AAEA,QAAMC,6BAA6B,GAAG,MAAMF,eAAe,CAACG,KAAhB,CAAsB,CAAtB,EAAyBvC,OAAzB,EAA5C;AACAX,EAAAA,CAAC,CAACe,SAAF,CAAYrB,WAAW,CAACuD,6BAAD,CAAvB,EAAwD,CACtDE,iDADsD,EAEtDC,iDAFsD,CAAxD;AAID,CAXD;AAaA,kBAAK,gFAAL,EAAuFpD,CAAC,IAAI;AAC1F,QAAMT,QAAQ,GAAGL,cAAc,CAAC0D,aAAD,CAA/B;AACA,QAAM1C,KAAK,GAAG,uBAASL,OAAT,EAAkB;AAACN,IAAAA;AAAD,GAAlB,EAA8BqD,aAA9B,CAAd;AAEA,QAAMzC,MAAM,GAAGD,KAAK,CAACE,OAAN,CAAcD,MAA7B;AACAH,EAAAA,CAAC,CAACY,KAAF,CAAQT,MAAM,CAACG,IAAf;AACAN,EAAAA,CAAC,CAACY,KAAF,CAAQT,MAAM,CAACI,KAAf;AACAP,EAAAA,CAAC,CAACK,EAAF,CAAKF,MAAM,CAACP,IAAZ,EAAkB,UAAlB;AAEA,QAAMY,GAAG,GAAGN,KAAK,CAACE,OAAN,CAAcD,MAAd,CAAqBK,GAAjC;AACAR,EAAAA,CAAC,CAACK,EAAF,CAAKG,GAAG,CAACC,KAAT,EAAgB,iBAAhB;AACAT,EAAAA,CAAC,CAACU,IAAF,CAAO,0BAAWF,GAAG,CAACG,OAAf,CAAP;AACAX,EAAAA,CAAC,CAACY,KAAF,CAAQJ,GAAG,CAACK,IAAZ;AACD,CAbD;AAeA,kBAAK,gDAAL,EAAuDb,CAAC,IAAI;AAC1D,QAAMqD,GAAG,GAAG,kBAAZ;AACA,QAAMC,aAAa,GAAG,0CAAwBV,aAAxB,CAAtB;AACA,QAAMzD,KAAK,GAAG,oBACZ,mBAAK,2BAA0BkE,GAAI,EAAnC,EAAsC;AACpCA,IAAAA,GADoC;AAEpCE,IAAAA,GAAG,EAAE,0BAF+B;AAGpC3D,IAAAA,IAAI,EAAE,SAH8B;AAIpCa,IAAAA,KAAK,EAAE,wBAJ6B;AAKpC+C,IAAAA,WAAW,EAAE,8BALuB;AAMpCC,IAAAA,gBAAgB,EAAE,oCANkB;AAOpCC,IAAAA,KAAK,EAAE;AACLL,MAAAA,GAAG,EAAE,wBADA;AAELzD,MAAAA,IAAI,EAAE,KAFD;AAGL+D,MAAAA,QAAQ,EAAE,qCAHL;AAILC,MAAAA,QAAQ,EAAE,iBAJL;AAKLJ,MAAAA,WAAW,EAAE,wCALR;AAMLK,MAAAA,SAAS,EAAE,sCANN;AAOLC,MAAAA,OAAO,EAAE;AAPJ,KAP6B;AAgBpCC,IAAAA,GAAG,EAAE;AAhB+B,GAAtC,CADY,EAmBZ,mBAAK,8BAA6BT,aAAc,wBAAhD,EAAyED,GAAzE,CAnBY,EAoBZT,aApBY,CAAd;AAsBA,QAAMrD,QAAQ,GAAGL,cAAc,CAACC,KAAD,CAA/B;AACA,QAAMe,KAAK,GAAG,uBAASL,OAAT,EAAkB;AAACN,IAAAA;AAAD,GAAlB,EAA8BJ,KAA9B,CAAd;AAEAa,EAAAA,CAAC,CAACe,SAAF,CAAY,mBAAI,kBAAJ,EAAwBb,KAAxB,CAAZ,EAA4C;AAC1CO,IAAAA,KAAK,EAAE,wBADmC;AAE1C+C,IAAAA,WAAW,EAAE,8BAF6B;AAG1CC,IAAAA,gBAAgB,EAAE,oCAHwB;AAI1CC,IAAAA,KAAK,EAAE;AACL9D,MAAAA,IAAI,EAAE,KADD;AAEL4D,MAAAA,WAAW,EAAE,wCAFR;AAGLI,MAAAA,QAAQ,EAAE,iBAHL;AAILD,MAAAA,QAAQ,EAAE;AAJL;AAJmC,GAA5C;AAWD,CAvCD;AAyCA,kBAAK,6DAAL,EAAoE3D,CAAC,IAAI;AACvE,QAAMqD,GAAG,GAAG,kBAAZ;AACA,QAAMC,aAAa,GAAG,0CAAwBV,aAAxB,CAAtB;AACA,QAAMzD,KAAK,GAAG,oBACZ,mBAAK,2BAA0BkE,GAAI,EAAnC,EAAsC;AACpCA,IAAAA,GADoC;AAEpCE,IAAAA,GAAG,EAAE,0BAF+B;AAGpC3D,IAAAA,IAAI,EAAE,SAH8B;AAIpCa,IAAAA,KAAK,EAAE,4BAJ6B;AAKpC+C,IAAAA,WAAW,EAAE,uCALuB;AAMpCC,IAAAA,gBAAgB,EAAE,8BANkB;AAOpCC,IAAAA,KAAK,EAAE;AACLL,MAAAA,GAAG,EAAE,wBADA;AAELzD,MAAAA,IAAI,EAAE,KAFD;AAGL+D,MAAAA,QAAQ,EAAE,qCAHL;AAILC,MAAAA,QAAQ,EAAE,iBAJL;AAKLJ,MAAAA,WAAW,EAAE,wCALR;AAMLK,MAAAA,SAAS,EAAE,sCANN;AAOLC,MAAAA,OAAO,EAAE;AAPJ,KAP6B;AAgBpCC,IAAAA,GAAG,EAAE;AAhB+B,GAAtC,CADY,EAmBZ,mBAAK,8BAA6BT,aAAc,wBAAhD,EAAyED,GAAzE,CAnBY,EAoBZ,mBAAK,8BAA6BC,aAAc,kBAAhD,EAAmE;AAACU,IAAAA,OAAO,EAAE,CAAV;AAAaC,IAAAA,KAAK,EAAE;AAApB,GAAnE,CApBY,EAqBZrB,aArBY,CAAd;AAsBA,QAAMrD,QAAQ,GAAGL,cAAc,CAACC,KAAD,CAA/B;AACA,QAAMe,KAAK,GAAG,uBAASL,OAAT,EAAkB;AAACN,IAAAA;AAAD,GAAlB,EAA8BJ,KAA9B,CAAd;AAEAa,EAAAA,CAAC,CAACe,SAAF,CAAY,mBAAI,kBAAJ,EAAwBb,KAAxB,CAAZ,EAA4C;AAC1CO,IAAAA,KAAK,EAAE,gBADmC;AAE1C+C,IAAAA,WAAW,EAAE,kBAF6B;AAG1CC,IAAAA,gBAAgB,EAAE,qBAHwB;AAI1CC,IAAAA,KAAK,EAAE;AACL9D,MAAAA,IAAI,EAAE,KADD;AAEL4D,MAAAA,WAAW,EAAE,wCAFR;AAGLI,MAAAA,QAAQ,EAAE,iBAHL;AAILD,MAAAA,QAAQ,EAAE;AAJL;AAJmC,GAA5C;AAWD,CAvCD","sourcesContent":["import test from 'ava';\nimport {get, map, set, pipe, identity, isFunction, isUndefined} from 'lodash/fp';\n\nimport {mockTranslate} from '@coorpacademy/translate';\nimport {\n getCurrentProgressionId,\n LOCATION_NEXT_CONTENT_REQUEST,\n LOCATION_NEXT_CONTENT_SUCCESS,\n LOCATION_OPEN_RECOMMENDATION_REQUEST,\n LOCATION_OPEN_RECOMMENDATION_SUCCESS,\n LOCATION_SEE_COMMENT_REQUEST,\n LOCATION_SEE_COMMENT_SUCCESS,\n SEND_POST_COMMENT_REQUEST,\n SEND_POST_COMMENT_SUCCESS,\n UI_EDIT_COMMENT\n} from '@coorpacademy/player-store';\nimport popinEnd from '../popin-end';\n\nimport popinLearnerSuccess from './fixtures/popin-end/learner-success';\nimport popinLearnerSuccessWithRedirection from './fixtures/popin-end/learner-success-with-redirection';\nimport popinLearnerFailure from './fixtures/popin-end/learner-failure';\nimport popinLearnerFailureWithRedirection from './fixtures/popin-end/learner-failure-with-redirection';\nimport popinLearnerAdaptiveFailure from './fixtures/popin-end/learner-adaptive-failure';\nimport popinMicrolearningFailure from './fixtures/popin-end/fail';\nimport popinMicrolearningSuccess from './fixtures/popin-end/success';\n\nconst services = {\n Comments: {\n post: identity\n },\n Location: {\n openRecommendation: identity,\n nextLevel: identity,\n seeComment: identity\n }\n};\n\nconst createDispatch = state => {\n const getState = () => state;\n\n return async action => {\n const dispatched = [];\n const dispatch = maybeAction =>\n isFunction(maybeAction)\n ? maybeAction(dispatch, getState, {services})\n : dispatched.push(maybeAction);\n\n await dispatch(action);\n\n return dispatched;\n };\n};\n\nconst actionTypes = actions => map(({type}) => type, actions);\nconst options = {translate: mockTranslate};\n\ntest('should create a \"Next Level\" CTA after success on learner progression', async t => {\n const dispatch = createDispatch(popinLearnerSuccess);\n const props = popinEnd(options, {dispatch})(popinLearnerSuccess);\n\n const header = props.summary.header;\n t.is(header.rank, '+1');\n t.is(header.stars, '+2');\n t.is(header.type, 'popinEnd');\n\n const cta = header.cta;\n t.is(cta.title, '__Next level');\n t.true(isFunction(cta.onClick));\n t.falsy(cta.href);\n const dispatchedHeaderCta = await cta.onClick();\n t.deepEqual(actionTypes(dispatchedHeaderCta), [\n LOCATION_NEXT_CONTENT_REQUEST,\n LOCATION_NEXT_CONTENT_SUCCESS\n ]);\n\n const action = props.summary.action;\n t.is(action.prefix, '__Next level_');\n t.is(action.title, 'La recherche en ligne - Avancé');\n\n const buttonCta = action.button;\n t.is(buttonCta.title, '__Next level');\n const dispatchedActionCta = await buttonCta.onClick();\n t.deepEqual(actionTypes(dispatchedActionCta), [\n LOCATION_NEXT_CONTENT_REQUEST,\n LOCATION_NEXT_CONTENT_SUCCESS\n ]);\n\n const comment = props.summary.comment;\n t.is(comment.edition.postDisabled, true);\n});\n\ntest('should write, send, and go see a comment after success on learner progression', async t => {\n const state = pipe(\n set('data.comments.entities.idProgression1234.isSent', true),\n set('ui.comments.text', 'textToSend')\n )(popinLearnerSuccess);\n\n const dispatch = createDispatch(state);\n const props = popinEnd(options, {dispatch})(state);\n\n const comment = props.summary.comment;\n t.is(comment.isSent, true);\n t.is(comment.edition.value, 'textToSend');\n t.is(comment.edition.postDisabled, false);\n\n const onChange = comment.edition.onChange;\n t.true(isFunction(onChange));\n const dispatchedOnChange = await onChange({target: {value: 'foo'}});\n\n t.deepEqual(actionTypes(dispatchedOnChange), [UI_EDIT_COMMENT]);\n\n const onPost = comment.edition.onPost;\n t.true(isFunction(onPost));\n const dispatchedOnPost = await onPost();\n\n t.deepEqual(actionTypes(dispatchedOnPost), [\n SEND_POST_COMMENT_REQUEST,\n SEND_POST_COMMENT_SUCCESS\n ]);\n\n const onClick = comment.confirmation.onClick;\n t.true(isFunction(onClick));\n const dispatchedOnClick = await onClick();\n\n t.deepEqual(actionTypes(dispatchedOnClick), [\n LOCATION_SEE_COMMENT_REQUEST,\n LOCATION_SEE_COMMENT_SUCCESS\n ]);\n});\n\ntest('should not see comment section after failure on learner progression', t => {\n const dispatch = createDispatch(popinLearnerFailure);\n const props = popinEnd(options, {dispatch})(popinLearnerFailure);\n t.is(props.summary.comment, null);\n t.is(props.summary.header.subtitle, '__You are out of lives!');\n t.is(props.summary.header.lives, 0);\n});\n\ntest('should verify that cta should redirect if redirectURLAfterEnd is set on state for failure popin', t => {\n const dispatch = createDispatch(popinLearnerFailureWithRedirection);\n const props = popinEnd(options, {dispatch})(popinLearnerFailureWithRedirection);\n\n const header = props.summary.header;\n const cta = header.cta;\n t.is(cta.title, '__Click to continue');\n t.true(isUndefined(cta.onClick));\n t.is(cta.href, 'http://www.google.com');\n});\n\ntest('should verify that cta should redirect if redirectURLAfterEnd is set on state for success popin', t => {\n const dispatch = createDispatch(popinLearnerSuccessWithRedirection);\n const props = popinEnd(options, {dispatch})(popinLearnerSuccessWithRedirection);\n\n const header = props.summary.header;\n const cta = header.cta;\n t.is(cta.title, '__Click to continue');\n t.true(isUndefined(cta.onClick));\n t.is(cta.href, 'http://www.google.com');\n});\n\ntest('should not see comment section after failure on microlearning progression', t => {\n const dispatch = createDispatch(popinMicrolearningFailure);\n const props = popinEnd(options, {\n dispatch\n })(popinMicrolearningFailure);\n t.is(props.summary.comment, null);\n});\n\ntest('should not see comment section after success on microlearning progression', t => {\n const dispatch = createDispatch(popinMicrolearningSuccess);\n const props = popinEnd(options, {\n dispatch\n })(popinMicrolearningSuccess);\n t.is(props.summary.comment, null);\n});\n\ntest(\"livesDisabled == true ---> should not see lives and 'You are out of lives!' message\", t => {\n const dispatch = createDispatch(popinLearnerAdaptiveFailure);\n const props = popinEnd(options, {dispatch})(popinLearnerAdaptiveFailure);\n\n t.is(props.summary.header.subtitle, '__Nice try!');\n t.is(props.summary.header.lives, null);\n});\n\ntest('should create a \"Back to Home\" CTA after success on learner progression with coach content', async t => {\n const state = pipe(\n set(['data', 'contents', 'level', 'entities', '1.B', 'level'], 'coach'),\n set('data.nextContent.entities.idProgression1234', null)\n )(popinLearnerSuccess);\n\n const dispatch = createDispatch(state);\n const props = popinEnd(options, {dispatch})(state);\n\n const header = props.summary.header;\n t.is(header.rank, '+1');\n t.is(header.stars, '+2');\n t.is(header.type, 'popinEnd');\n\n const cta = header.cta;\n t.is(cta.title, '__Back to home');\n t.deepEqual(map('type')(await cta.onClick()), [\n '@@location/EXIT_REQUEST',\n '@@location/EXIT_FAILURE'\n ]);\n t.falsy(cta.href);\n\n t.falsy(props.summary.action);\n});\n\ntest('should create a \"Back to Home\" CTA after success on learner progression with content with only base level', async t => {\n const state = set(\n ['data', 'nextContent', 'entities', 'idProgression1234'],\n null,\n popinLearnerSuccess\n );\n\n const dispatch = createDispatch(state);\n const props = popinEnd(options, {dispatch})(state);\n\n const header = props.summary.header;\n t.is(header.rank, '+1');\n t.is(header.stars, '+2');\n t.is(header.type, 'popinEnd');\n\n const cta = header.cta;\n t.is(cta.title, '__Back to home');\n t.deepEqual(map('type')(await cta.onClick()), [\n '@@location/EXIT_REQUEST',\n '@@location/EXIT_FAILURE'\n ]);\n t.falsy(cta.href);\n});\n\ntest('should create a \"Retry Level\" CTA after failure on learner progression', t => {\n const dispatch = createDispatch(popinLearnerFailure);\n const props = popinEnd(options, {dispatch})(popinLearnerFailure);\n\n const header = props.summary.header;\n t.is(header.rank, '-1');\n t.is(header.type, 'popinEnd');\n\n const cta = props.summary.header.cta;\n t.is(cta.title, '__Retry level');\n t.true(isFunction(cta.onClick));\n t.falsy(cta.href);\n\n const action = props.summary.action;\n t.is(action.prefix, '__Retry level_');\n t.is(action.title, 'La recherche en ligne - Base');\n\n const buttonCta = action.button;\n t.is(buttonCta.title, '__Retry level');\n});\n\ntest('should open recommendation', async t => {\n const dispatch = createDispatch(popinLearnerSuccess);\n const props = popinEnd(options, {dispatch})(popinLearnerSuccess);\n\n const recommendations = props.summary.recommendation;\n\n const dispatchedOpenRecommmendation = await recommendations.cards[0].onClick();\n t.deepEqual(actionTypes(dispatchedOpenRecommmendation), [\n LOCATION_OPEN_RECOMMENDATION_REQUEST,\n LOCATION_OPEN_RECOMMENDATION_SUCCESS\n ]);\n});\n\ntest('should create a \"Retry Chapter\" CTA after failure on microlearning progression', t => {\n const dispatch = createDispatch(popinMicrolearningFailure);\n const props = popinEnd(options, {dispatch})(popinMicrolearningFailure);\n\n const header = props.summary.header;\n t.falsy(header.rank);\n t.falsy(header.stars);\n t.is(header.type, 'popinEnd');\n\n const cta = props.summary.header.cta;\n t.is(cta.title, '__Retry chapter');\n t.true(isFunction(cta.onClick));\n t.falsy(cta.href);\n});\n\ntest('should extract feedback content from exit node', t => {\n const ref = 'biba-exit-node-A';\n const progressionId = getCurrentProgressionId(popinMicrolearningFailure);\n const state = pipe(\n set(`data.exitNodes.entities.${ref}`, {\n ref,\n _id: '5a4e2adbd56b8b7ddab06532',\n type: 'success',\n title: 'biba_exit_node_A.title',\n description: 'biba_exit_node_A.description',\n mediaDescription: 'biba_exit_node_A.media.description',\n media: {\n ref: 'biba_exit_node_A-media',\n type: 'pdf',\n mediaUrl: 'biba_exit_node_A.media.pdf.mediaUrl',\n mimeType: 'application/pdf',\n description: 'biba_exit_node_A.media.pdf.description',\n subtitles: 'biba_exit_node_A.media.pdf.subtitles',\n posters: []\n },\n __v: 0\n }),\n set(`data.progressions.entities.${progressionId}.state.nextContent.ref`, ref)\n )(popinMicrolearningFailure);\n\n const dispatch = createDispatch(state);\n const props = popinEnd(options, {dispatch})(state);\n\n t.deepEqual(get('summary.feedback', props), {\n title: 'biba_exit_node_A.title',\n description: 'biba_exit_node_A.description',\n mediaDescription: 'biba_exit_node_A.media.description',\n media: {\n type: 'pdf',\n description: 'biba_exit_node_A.media.pdf.description',\n mimeType: 'application/pdf',\n mediaUrl: 'biba_exit_node_A.media.pdf.mediaUrl'\n }\n });\n});\n\ntest('should extract feedback content from exit node and counters', t => {\n const ref = 'biba-exit-node-A';\n const progressionId = getCurrentProgressionId(popinMicrolearningFailure);\n const state = pipe(\n set(`data.exitNodes.entities.${ref}`, {\n ref,\n _id: '5a4e2adbd56b8b7ddab06532',\n type: 'success',\n title: 'title total: {{ success }}',\n description: 'description {{ success }}/{{ total }}',\n mediaDescription: 'mediaDescription {{ total }}',\n media: {\n ref: 'biba_exit_node_A-media',\n type: 'pdf',\n mediaUrl: 'biba_exit_node_A.media.pdf.mediaUrl',\n mimeType: 'application/pdf',\n description: 'biba_exit_node_A.media.pdf.description',\n subtitles: 'biba_exit_node_A.media.pdf.subtitles',\n posters: []\n },\n __v: 0\n }),\n set(`data.progressions.entities.${progressionId}.state.nextContent.ref`, ref),\n set(`data.progressions.entities.${progressionId}.state.variables`, {success: 4, total: 10})\n )(popinMicrolearningFailure);\n const dispatch = createDispatch(state);\n const props = popinEnd(options, {dispatch})(state);\n\n t.deepEqual(get('summary.feedback', props), {\n title: 'title total: 4',\n description: 'description 4/10',\n mediaDescription: 'mediaDescription 10',\n media: {\n type: 'pdf',\n description: 'biba_exit_node_A.media.pdf.description',\n mimeType: 'application/pdf',\n mediaUrl: 'biba_exit_node_A.media.pdf.mediaUrl'\n }\n });\n});\n"],"file":"popin-end.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../src/map-state-to-props/test/resources.js"],"names":["options","translate","mockTranslate","store","dispatch","getResourcesProps","createAssertVideoShape","t","video","truthy","videoId","description","mimeType","onClick","slide","unselected","props","assertVideoShape","true","is","length","forEach"],"mappings":";;;;;;AAAA;;AAGA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,OAAO,GAAG;AAACC,EAAAA,SAAS,EAAEC;AAAZ,CAAhB;AACA,MAAMC,KAAK,GAAG;AAACC,EAAAA,QAAQ;AAAT,CAAd;AACA,MAAMC,iBAAiB,GAAG,wBAAwBL,OAAxB,EAAiCG,KAAjC,CAA1B;;AAEA,MAAMG,sBAAsB,GAAGC,CAAC,IAAIC,KAAK,IAAI;AAC3CD,EAAAA,CAAC,CAACE,MAAF,CAASD,KAAK,CAACE,OAAf;AACAH,EAAAA,CAAC,CAACE,MAAF,CAASD,KAAK,CAACG,WAAf;AACAJ,EAAAA,CAAC,CAACE,MAAF,CAASD,KAAK,CAACI,QAAf;AACAL,EAAAA,CAAC,CAACE,MAAF,CAASD,KAAK,CAACK,OAAf;AACD,CALD;;AAOA,kBAAK,8BAAL,EAAqCN,CAAC,IAAI;AACxC,QAAMO,KAAK,GAAG,kCAAgBC,eAAhB,CAAd;AACA,QAAMC,KAAK,GAAGX,iBAAiB,CAACU,eAAD,EAAaD,KAAb,CAA/B;AACA,QAAMG,gBAAgB,GAAGX,sBAAsB,CAACC,CAAD,CAA/C;AAEAA,EAAAA,CAAC,CAACW,IAAF,CAAO,uBAAQF,KAAR,CAAP;AACAT,EAAAA,CAAC,CAACY,EAAF,CAAKH,KAAK,CAACI,MAAX,EAAmB,CAAnB;AAEAJ,EAAAA,KAAK,CAACK,OAAN,CAAcJ,gBAAd;AACD,CATD","sourcesContent":["import test from 'ava';\nimport {isArray, identity} from 'lodash/fp';\n\nimport {mockTranslate} from '@coorpacademy/translate';\nimport {getCurrentSlide} from '@coorpacademy/player-store';\nimport creategetResourcesProps from '../resources';\nimport unselected from './fixtures/slides/videos';\n\nconst options = {translate: mockTranslate};\nconst store = {dispatch: identity};\nconst getResourcesProps = creategetResourcesProps(options, store);\n\nconst createAssertVideoShape = t => video => {\n t.truthy(video.videoId);\n t.truthy(video.description);\n t.truthy(video.mimeType);\n t.truthy(video.onClick);\n};\n\ntest('should create list of videos', t => {\n const slide = getCurrentSlide(unselected);\n const props = getResourcesProps(unselected, slide);\n const assertVideoShape = createAssertVideoShape(t);\n\n t.true(isArray(props));\n t.is(props.length, 2);\n\n props.forEach(assertVideoShape);\n});\n"],"file":"resources.js"}
|
package/lib/run-app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../src/run-app.js"],"names":["start","progression","dispatch"],"mappings":";;;;;AAAA;;AAEA,MAAMA,KAAK,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,EAAgB;AAACC,EAAAA;AAAD,CAAhB,KAA+B;AAC3CA,EAAAA,QAAQ,CAAC,qCAAD,CAAR;AACA,SAAOA,QAAQ,CAAC,oCAAkBD,WAAlB,CAAD,CAAf;AACD,CAHD;;eAKeD,K","sourcesContent":["import {selectProgression, setRedirectUrlEnd} from '@coorpacademy/player-store';\n\nconst start = ({progression}, {dispatch}) => {\n dispatch(setRedirectUrlEnd());\n return dispatch(selectProgression(progression));\n};\n\nexport default start;\n"],"file":"run-app.js"}
|
package/lib/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../src/store.js"],"names":["ErrorLogger","ReduxThunkMemoized","middlewares","data","ui","reducers","createReducers","createMiddlewares","options","window","__REDUX_DEVTOOLS_EXTENSION__","f","create"],"mappings":";;;;;AAAA;;AACA;;AAEA,MAAM;AAACA,EAAAA,WAAD;AAAcC,EAAAA;AAAd,IAAoCC,wBAA1C;AACA,MAAM;AAACC,EAAAA,IAAD;AAAOC,EAAAA;AAAP,IAAaC,qBAAnB;;AAEA,MAAMC,cAAc,GAAG,MACrB,4BAAgB;AACdH,EAAAA,IADc;AAEdC,EAAAA;AAFc,CAAhB,CADF;;;;AAMA,MAAMG,iBAAiB,GAAGC,OAAO,IAAI;AACnC,SAAO,oBACL,4BAAgBP,kBAAkB,CAACO,OAAD,CAAlC,EAA6CR,WAAW,CAACQ,OAAD,CAAxD,CADK,EAEL,OAAOC,MAAP,KAAkB,WAAlB,IAAiCA,MAAM,CAACC,4BAAxC,GACID,MAAM,CAACC,4BAAP,EADJ,GAEIC,CAAC,IAAIA,CAJJ,CAAP;AAMD,CAPD;;;;AASA,MAAMC,MAAM,GAAGJ,OAAO,IAAI,wBAAYF,cAAc,EAA1B,EAA8B,EAA9B,EAAkCC,iBAAiB,CAACC,OAAD,CAAnD,CAA1B;;eAEeI,M","sourcesContent":["import {applyMiddleware, combineReducers, compose, createStore} from 'redux';\nimport {middlewares, reducers} from '@coorpacademy/player-store';\n\nconst {ErrorLogger, ReduxThunkMemoized} = middlewares;\nconst {data, ui} = reducers;\n\nconst createReducers = () =>\n combineReducers({\n data,\n ui\n });\n\nconst createMiddlewares = options => {\n return compose(\n applyMiddleware(ReduxThunkMemoized(options), ErrorLogger(options)),\n typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__\n ? window.__REDUX_DEVTOOLS_EXTENSION__()\n : f => f\n );\n};\n\nconst create = options => createStore(createReducers(), {}, createMiddlewares(options));\nexport {createMiddlewares, createReducers};\nexport default create;\n"],"file":"store.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/test/add-timeout.js"],"names":["t","fun","Promise","resolve","pass"],"mappings":";;AAAA;;AACA;;;;AAEA,kBAAK,oCAAL,EAA2C,MAAMA,CAAN,IAAW;AACpD,QAAMC,GAAG,GAAG,0BAAW,CAAX,EAAc,MAAMC,OAAO,CAACC,OAAR,EAApB,CAAZ;AACA,QAAMF,GAAG,EAAT;AACAD,EAAAA,CAAC,CAACI,IAAF;AACD,CAJD","sourcesContent":["import test from 'ava';\nimport {addTimeout} from '../../sandbox/services';\n\ntest(\"should delay promise's fulfillment\", async t => {\n const fun = addTimeout(0, () => Promise.resolve());\n await fun();\n t.pass();\n});\n"],"file":"add-timeout.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../src/test/helpers/css-register.js"],"names":[],"mappings":";;AAAA;;;;AAEA","sourcesContent":["import cssRegister from '@coorpacademy/css-modules-require-hook';\n\ncssRegister();\n"],"file":"css-register.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../src/test/helpers/macro.js"],"names":["macro","t","reducer","state","action","expected","deepEqual","Object","freeze"],"mappings":";;;;;AAAA,MAAMA,KAAK,GAAG,CAACC,CAAD,EAAIC,OAAJ,EAAaC,KAAb,EAAoBC,MAApB,EAA4BC,QAA5B,KAAyC;AACrDJ,EAAAA,CAAC,CAACK,SAAF,CAAYJ,OAAO,CAACK,MAAM,CAACC,MAAP,CAAcL,KAAd,CAAD,EAAuBI,MAAM,CAACC,MAAP,CAAcJ,MAAd,CAAvB,CAAnB,EAAkEG,MAAM,CAACC,MAAP,CAAcH,QAAd,CAAlE;AACD,CAFD;;eAIeL,K","sourcesContent":["const macro = (t, reducer, state, action, expected) => {\n t.deepEqual(reducer(Object.freeze(state), Object.freeze(action)), Object.freeze(expected));\n};\n\nexport default macro;\n"],"file":"macro.js"}
|
package/lib/test/index.js
CHANGED
|
@@ -12,9 +12,9 @@ var fixtures = _interopRequireWildcard(require("../../sandbox/fixtures"));
|
|
|
12
12
|
|
|
13
13
|
var _ = require("..");
|
|
14
14
|
|
|
15
|
-
function _getRequireWildcardCache(
|
|
15
|
+
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
16
16
|
|
|
17
|
-
function _interopRequireWildcard(obj
|
|
17
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
18
18
|
|
|
19
19
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
20
20
|
|
package/lib/test/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../src/test/index.js"],"names":["services","Analytics","AnalyticsService","Answers","fixtures","Clues","Coach","CoachService","Comments","CommentsService","Content","ExitNodes","LeaderBoard","LeaderBoardService","Location","LocationService","Logger","console","Progressions","Recommendations","t","el","document","createElement","app","translate","mockTranslate","container","progression","updateCoaches","chatStarted","coachForDiscipline","selectProgression","update","unsubscribe","pass"],"mappings":";;AAAA;;AACA;;AACA;;AAEA;;AAcA;;AACA;;;;;;;;AAEA,MAAMA,QAAQ,GAAG;AACfC,EAAAA,SAAS,EAAEC,yBADI;AAEfC,EAAAA,OAAO,EAAE,6BAAeC,QAAf,CAFM;AAGfC,EAAAA,KAAK,EAAE,2BAAaD,QAAb,CAHQ;AAIfE,EAAAA,KAAK,EAAEC,qBAJQ;AAKfC,EAAAA,QAAQ,EAAEC,wBALK;AAMfC,EAAAA,OAAO,EAAE,6BAAeN,QAAf,CANM;AAOfO,EAAAA,SAAS,EAAE,+BAAiBP,QAAjB,CAPI;AAQfQ,EAAAA,WAAW,EAAEC,2BARE;AASfC,EAAAA,QAAQ,EAAEC,wBATK;AAUfC,EAAAA,MAAM,EAAEC,OAVO;AAWfC,EAAAA,YAAY,EAAE,kCAAoBd,QAApB,CAXC;AAYfe,EAAAA,eAAe,EAAE,qCAAuBf,QAAvB;AAZF,CAAjB;AAeA,yBAAW,CAAC,QAAD,EAAW,UAAX,EAAuB,WAAvB,CAAX;AAEA,kBAAK,mBAAL,EAA0B,MAAMgB,CAAN,IAAW;AACnC,QAAMC,EAAE,GAAGC,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAX;AACA,QAAMC,GAAG,GAAG,cAAO;AACjBC,IAAAA,SAAS,EAAEC,wBADM;AAEjBC,IAAAA,SAAS,EAAEN,EAFM;AAGjBrB,IAAAA,QAHiB;AAIjB4B,IAAAA,WAAW,EAAE;AAJI,GAAP,CAAZ;AAOA,QAAMJ,GAAG,CAACK,aAAJ,CAAkB;AACtBC,IAAAA,WAAW,EAAE,KADS;AAEtBC,IAAAA,kBAAkB,EAAE;AAFE,GAAlB,CAAN;AAKA,QAAMP,GAAG,CAACQ,iBAAJ,CAAsB,GAAtB,CAAN;AAEAR,EAAAA,GAAG,CAACS,MAAJ;AACAT,EAAAA,GAAG,CAACU,WAAJ;AACAd,EAAAA,CAAC,CAACe,IAAF;AACD,CAnBD","sourcesContent":["import test from 'ava';\nimport browserEnv from 'browser-env';\nimport {mockTranslate} from '@coorpacademy/translate';\n\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';\n\nimport * as fixtures from '../../sandbox/fixtures';\nimport {create} from '..';\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\nbrowserEnv(['window', 'document', 'navigator']);\n\ntest('should create app', async t => {\n const el = document.createElement('div');\n const app = create({\n translate: mockTranslate,\n container: el,\n services,\n progression: '0'\n });\n\n await app.updateCoaches({\n chatStarted: false,\n coachForDiscipline: []\n });\n\n await app.selectProgression('1');\n\n app.update();\n app.unsubscribe();\n t.pass();\n});\n"],"file":"index.js"}
|