@coorpacademy/player-web 4.22.52 → 4.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/index.js +1 -8
- package/es/index.js.map +1 -1
- package/es/map-state-to-props/answer.js +0 -35
- package/es/map-state-to-props/answer.js.map +1 -1
- package/es/map-state-to-props/error-popin.js +0 -4
- package/es/map-state-to-props/error-popin.js.map +1 -1
- package/es/map-state-to-props/header.js +3 -14
- package/es/map-state-to-props/header.js.map +1 -1
- package/es/map-state-to-props/index.js +0 -6
- package/es/map-state-to-props/index.js.map +1 -1
- package/es/map-state-to-props/loading.js +0 -1
- package/es/map-state-to-props/loading.js.map +1 -1
- package/es/map-state-to-props/player.js +0 -13
- package/es/map-state-to-props/player.js.map +1 -1
- package/es/map-state-to-props/popin-correction.js +0 -25
- package/es/map-state-to-props/popin-correction.js.map +1 -1
- package/es/map-state-to-props/popin-end.js +6 -35
- package/es/map-state-to-props/popin-end.js.map +1 -1
- package/es/map-state-to-props/resources.js +4 -10
- package/es/map-state-to-props/resources.js.map +1 -1
- package/es/map-state-to-props/slide.js +0 -2
- package/es/map-state-to-props/slide.js.map +1 -1
- package/es/map-state-to-props/test/answer.js +0 -21
- package/es/map-state-to-props/test/answer.js.map +1 -1
- package/es/map-state-to-props/test/header.js +0 -2
- package/es/map-state-to-props/test/header.js.map +1 -1
- package/es/map-state-to-props/test/index.js +22 -29
- package/es/map-state-to-props/test/index.js.map +1 -1
- package/es/map-state-to-props/test/player.js +6 -19
- 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 +0 -15
- 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 +0 -8
- package/es/map-state-to-props/test/popin-correction.js.map +1 -1
- package/es/map-state-to-props/test/popin-end.js +0 -13
- package/es/map-state-to-props/test/popin-end.js.map +1 -1
- package/es/map-state-to-props/test/popin-error.js.map +1 -1
- package/es/map-state-to-props/test/resources.js +0 -2
- package/es/map-state-to-props/test/resources.js.map +1 -1
- package/es/run-app.js +0 -2
- package/es/run-app.js.map +1 -1
- package/es/store.js +0 -4
- 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 +0 -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 +0 -2
- package/es/views/test/helpers/render.js.map +1 -1
- package/es/views/test/helpers/state-to-vnode.js +0 -2
- 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 +0 -6
- 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 +0 -1
- package/es/views/test/slide.js.map +1 -1
- package/lib/index.js +2 -18
- package/lib/index.js.map +1 -1
- package/lib/map-state-to-props/answer.js +1 -47
- package/lib/map-state-to-props/answer.js.map +1 -1
- package/lib/map-state-to-props/error-popin.js +2 -10
- package/lib/map-state-to-props/error-popin.js.map +1 -1
- package/lib/map-state-to-props/header.js +5 -19
- package/lib/map-state-to-props/header.js.map +1 -1
- package/lib/map-state-to-props/index.js +1 -19
- package/lib/map-state-to-props/index.js.map +1 -1
- package/lib/map-state-to-props/loading.js +1 -4
- package/lib/map-state-to-props/loading.js.map +1 -1
- package/lib/map-state-to-props/player.js +2 -22
- package/lib/map-state-to-props/player.js.map +1 -1
- package/lib/map-state-to-props/popin-correction.js +1 -32
- package/lib/map-state-to-props/popin-correction.js.map +1 -1
- package/lib/map-state-to-props/popin-end.js +8 -47
- package/lib/map-state-to-props/popin-end.js.map +1 -1
- package/lib/map-state-to-props/resources.js +6 -20
- package/lib/map-state-to-props/resources.js.map +1 -1
- package/lib/map-state-to-props/slide.js +2 -11
- package/lib/map-state-to-props/slide.js.map +1 -1
- package/lib/map-state-to-props/test/answer.js +1 -37
- package/lib/map-state-to-props/test/answer.js.map +1 -1
- package/lib/map-state-to-props/test/header.js +1 -12
- package/lib/map-state-to-props/test/header.js.map +1 -1
- package/lib/map-state-to-props/test/index.js +23 -20
- package/lib/map-state-to-props/test/index.js.map +1 -1
- package/lib/map-state-to-props/test/player.js +12 -52
- 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 +1 -27
- 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 +1 -11
- package/lib/map-state-to-props/test/popin-correction.js.map +1 -1
- package/lib/map-state-to-props/test/popin-end.js +1 -26
- package/lib/map-state-to-props/test/popin-end.js.map +1 -1
- package/lib/map-state-to-props/test/popin-error.js +1 -6
- package/lib/map-state-to-props/test/popin-error.js.map +1 -1
- package/lib/map-state-to-props/test/resources.js +1 -11
- package/lib/map-state-to-props/test/resources.js.map +1 -1
- package/lib/run-app.js +1 -5
- package/lib/run-app.js.map +1 -1
- package/lib/store.js +1 -11
- package/lib/store.js.map +1 -1
- package/lib/test/add-timeout.js +1 -4
- package/lib/test/add-timeout.js.map +1 -1
- package/lib/test/helpers/css-register.js +1 -3
- package/lib/test/helpers/css-register.js.map +1 -1
- package/lib/test/helpers/macro.js +1 -4
- package/lib/test/helpers/macro.js.map +1 -1
- package/lib/test/index.js +3 -12
- package/lib/test/index.js.map +1 -1
- package/lib/test/init-reducers.js +1 -5
- package/lib/test/init-reducers.js.map +1 -1
- package/lib/test/locales.js +1 -8
- package/lib/test/locales.js.map +1 -1
- package/lib/test/run-app.js +1 -5
- package/lib/test/run-app.js.map +1 -1
- package/lib/test/store.js +1 -5
- package/lib/test/store.js.map +1 -1
- package/lib/views/index.js +2 -9
- package/lib/views/index.js.map +1 -1
- package/lib/views/test/helpers/render.js +2 -10
- package/lib/views/test/helpers/render.js.map +1 -1
- package/lib/views/test/helpers/state-to-vnode.js +1 -6
- package/lib/views/test/helpers/state-to-vnode.js.map +1 -1
- package/lib/views/test/loading.js +1 -5
- package/lib/views/test/loading.js.map +1 -1
- package/lib/views/test/popin-correction.js +1 -18
- package/lib/views/test/popin-correction.js.map +1 -1
- package/lib/views/test/popin-end.js +1 -10
- package/lib/views/test/popin-end.js.map +1 -1
- package/lib/views/test/router.js +1 -8
- package/lib/views/test/router.js.map +1 -1
- package/lib/views/test/slide.js +3 -23
- package/lib/views/test/slide.js.map +1 -1
- package/package.json +13 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"player.js","names":["services","Analytics","AnalyticsService","Answers","AnswersService","fixtures","Clues","CluesService","Coach","CoachService","Comments","CommentsService","Content","ContentService","ExitNodes","ExitNodesService","LeaderBoard","LeaderBoardService","Location","LocationService","Logger","console","Progressions","ProgressionsService","Recommendations","RecommendationsService","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 {\n Analytics as AnalyticsService,\n Answers as AnswersService,\n Clues as CluesService,\n Coach as CoachService,\n Comments as CommentsService,\n Content as ContentService,\n ExitNodes as ExitNodesService,\n LeaderBoard as LeaderBoardService,\n Location as LocationService,\n Progressions as ProgressionsService,\n Recommendations as RecommendationsService\n} from '@coorpacademy/player-services';\nimport {UI_SELECT_ROUTE} from '@coorpacademy/player-store';\nimport createPlayer from '../player';\nimport createHeader from '../header';\nimport * as fixtures from '../../../sandbox/fixtures';\nimport learnerProgressionStateFixture from './fixtures/progression-learner';\nimport plopSlide from './fixtures/slides/plop';\nimport basicSlide from './fixtures/slides/basic';\nimport contextSlide from './fixtures/slides/with-context';\nimport templateSlide from './fixtures/slides/template';\nimport qcmSlide from './fixtures/slides/qcm';\nimport qcmDragSlide from './fixtures/slides/qcm-drag';\nimport qcmGraphicSlide from './fixtures/slides/qcm-graphic';\n\nconst services = {\n Analytics: AnalyticsService,\n Answers: AnswersService(fixtures),\n Clues: CluesService(fixtures),\n Coach: CoachService,\n Comments: CommentsService,\n Content: ContentService(fixtures),\n ExitNodes: ExitNodesService(fixtures),\n LeaderBoard: LeaderBoardService,\n Location: LocationService,\n Logger: console,\n Progressions: ProgressionsService(fixtures),\n Recommendations: RecommendationsService(fixtures)\n};\n\nexport const options = {translate: mockTranslate, services};\nexport const store = {dispatch: identity};\nconst createPlayerProps = createPlayer(options, store);\nconst createHeaderProps = createHeader(options, store);\n\nconst availableSlides = pipe(\n map(slide => [slide._id, slide]),\n fromPairs\n)([basicSlide, plopSlide, qcmSlide, qcmDragSlide, qcmGraphicSlide, contextSlide]);\n\nconst createProgression = (slide, contentRef) => ({\n engine: {\n ref: 'microlearning',\n version: '1'\n },\n content: {\n ref: contentRef,\n type: 'chapter'\n },\n state: {\n nextContent: {\n ref: slide._id,\n type: 'slide'\n },\n lives: 1,\n livesDisabled: false,\n step: {\n current: 1\n },\n viewedResources: []\n }\n});\n\nexport const data = {\n contents: {\n chapter: {\n entities: {\n nonAdaptiveContent: {\n _id: 'nonAdaptiveContent',\n isConditional: false\n },\n adaptiveContent: {\n _id: 'adaptiveContent',\n isConditional: true\n }\n }\n },\n slide: {\n entities: availableSlides\n }\n },\n progressions: {\n entities: {\n basic: createProgression(basicSlide, 'nonAdaptiveContent'),\n plop: createProgression(plopSlide, 'nonAdaptiveContent'),\n qcm: createProgression(qcmSlide, 'nonAdaptiveContent'),\n qcmDrag: createProgression(qcmDragSlide, 'nonAdaptiveContent'),\n qcmGraphic: createProgression(qcmGraphicSlide, 'nonAdaptiveContent'),\n template: createProgression(templateSlide, 'nonAdaptiveContent'),\n context: createProgression(contextSlide, 'nonAdaptiveContent'),\n adaptiveBasic: createProgression(basicSlide, 'adaptiveContent'),\n adaptiveQcm: createProgression(qcmSlide, 'adaptiveContent'),\n adaptiveQcmDrag: createProgression(qcmDragSlide, 'adaptiveContent'),\n adaptiveQcmGraphic: createProgression(qcmGraphicSlide, 'adaptiveContent'),\n adaptiveContext: createProgression(contextSlide, 'adaptiveContent'),\n adaptiveTemplate: createProgression(templateSlide, 'adaptiveContent')\n }\n }\n};\n\nconst isDisabledFor = (slide, isConditional, answer) => {\n const progressionId = 'progression';\n const chapterId = 'chapter';\n return createPlayerProps({\n data: {\n contents: {\n slide: {\n entities: {\n [slide._id]: {...slide, chapter_id: chapterId}\n }\n },\n chapter: {\n entities: {\n [chapterId]: {\n _id: chapterId,\n isConditional\n }\n }\n }\n },\n progressions: {\n entities: {\n [progressionId]: createProgression(slide, chapterId)\n }\n }\n },\n ui: {\n route: {[progressionId]: 'answer'},\n current: {progressionId},\n answers: {[progressionId]: {value: answer}}\n }\n }).cta.disabled;\n};\n\ntest('should create player props for basic question and show coaches', t => {\n const state = {\n data,\n ui: {\n route: {basic: 'answer'},\n current: {progressionId: 'basic'},\n coaches: {availableCoaches: 1}\n }\n };\n\n const props = createPlayerProps(state);\n const headerProps = createHeaderProps(state);\n\n t.deepEqual(props.answerType.media, {\n _id: '593eb72a187bd18c01283592',\n mimeType: 'image/jpeg',\n type: 'img',\n url: '//static.coorpacademy.com/content/ijoinchanel/en/slides/1B2_Q6/1B2-Q6-canap-v1.jpg'\n });\n t.is(props.typeClue, 'answer');\n t.is(props.question, \"Écrivez le mot Text dans l'input.\\n\");\n t.is(props.answerType.model.type, 'freeText');\n t.true(isFunction(props.answerType.model.onChange));\n t.is(props.slideContext, undefined);\n t.is(props.cta.submitValue, '__Validate');\n t.true(props.cta.disabled);\n\n t.is(props.buttons.length, 4);\n t.is(props.buttons[3].title, '__Coach');\n t.is(props.buttons[3].type, 'coach');\n t.deepEqual(omit('content.onClick', props.header), omit('content.onClick', headerProps));\n t.true(isFunction(props.header.content.onClick));\n});\ntest('should enable the validate button when there is an answer', t => {\n t.true(isDisabledFor(basicSlide, false, []));\n t.false(isDisabledFor(basicSlide, false, ['foo']));\n});\n\ntest('should enable the validate button when there are two answers in an non-adaptive content for all questions', t => {\n const answers = ['foo', 'bar'];\n\n t.false(isDisabledFor(basicSlide, false, answers));\n t.false(isDisabledFor(qcmSlide, false, answers));\n t.false(isDisabledFor(qcmGraphicSlide, false, answers));\n t.false(isDisabledFor(qcmDragSlide, false, answers));\n t.false(isDisabledFor(contextSlide, false, answers));\n t.false(isDisabledFor(templateSlide, false, answers));\n});\n\ntest('should disable the validate button when there are several answers in an adaptive content for qcm questions', t => {\n t.false(isDisabledFor(basicSlide, true, ['foo', 'bar']));\n t.true(isDisabledFor(qcmSlide, true, ['foo', 'bar']));\n t.true(isDisabledFor(qcmGraphicSlide, true, ['foo', 'bar']));\n t.false(isDisabledFor(qcmDragSlide, true, ['foo', 'bar']));\n t.false(isDisabledFor(contextSlide, true, ['foo', 'bar']));\n t.false(isDisabledFor(templateSlide, true, ['foo', 'bar']));\n\n t.false(isDisabledFor(basicSlide, true, ['foo', 'bar', 'baz']));\n t.true(isDisabledFor(qcmSlide, true, ['foo', 'bar', 'baz']));\n t.true(isDisabledFor(qcmGraphicSlide, true, ['foo', 'bar', 'baz']));\n t.false(isDisabledFor(qcmDragSlide, true, ['foo', 'bar', 'baz']));\n t.false(isDisabledFor(contextSlide, true, ['foo', 'bar', 'baz']));\n t.false(isDisabledFor(templateSlide, true, ['foo', 'bar', 'baz']));\n});\n\ntest('should disable the validate button when there the text answer has been deleted', t => {\n const state = {\n data,\n ui: {\n route: {basic: 'answer'},\n current: {progressionId: 'basic'},\n answers: {basic: {value: ['']}}\n }\n };\n\n const props = createPlayerProps(state);\n\n t.true(props.cta.disabled);\n});\n\ntest('should return defaut props when slide.question.type is not handles', t => {\n const state = {\n data,\n ui: {\n route: {basic: 'answer'},\n current: {progressionId: 'plop'},\n answers: {basic: {value: ['']}}\n }\n };\n\n t.throws(() => createPlayerProps(state), {message: 'plop is not an handled question.type'});\n});\n\ntest('should disable the validate button when no answer is provided', t => {\n const state = {\n data,\n ui: {\n route: {basic: 'answer'},\n current: {progressionId: 'basic'},\n answers: {}\n }\n };\n\n const props = createPlayerProps(state);\n\n t.true(props.cta.disabled);\n});\n\ntest('should disable the validate button when a previous selected answer has been unselected', t => {\n const state = {\n data,\n ui: {\n route: {basic: 'answer'},\n current: {progressionId: 'basic'},\n answers: {basic: {value: []}}\n }\n };\n\n const props = createPlayerProps(state);\n\n t.true(props.cta.disabled);\n});\n\ntest('should disable the validate button when some answer fields are empty', t => {\n const state = {\n data,\n ui: {\n route: {template: 'answer'},\n current: {progressionId: 'template'},\n answers: {template: {value: ['', 'Test']}}\n }\n };\n\n const props = createPlayerProps(state);\n\n t.true(props.cta.disabled);\n});\n\ntest('should disable the validate button when no answer has been selected by user on template question', t => {\n const state = {\n data,\n ui: {\n route: {template: 'answer'},\n current: {progressionId: 'template'}\n }\n };\n\n const props = createPlayerProps(state);\n\n t.true(props.cta.disabled);\n});\n\ntest('should display context tab button if slide context is available', t => {\n t.plan(10);\n const state = {\n data,\n ui: {\n route: {context: 'answer'},\n current: {progressionId: 'context'}\n }\n };\n\n const dispatch = action => {\n t.deepEqual(action, {\n type: UI_SELECT_ROUTE,\n payload: 'context',\n meta: {\n progressionId: 'context'\n }\n });\n };\n\n const props = createPlayer(options, {dispatch: action => action(dispatch, () => state)})(state);\n\n t.is(typeof props.slideContext, 'object');\n t.is(props.slideContext.title, 'Some context title');\n t.is(typeof props.slideContext.description, 'string');\n t.is(props.slideContext.description, contextSlide.context.description);\n t.is(props.buttons.length, 5);\n t.is(props.buttons[0].title, '__Context');\n t.is(props.buttons[0].type, 'context');\n t.false(props.buttons[0].selected);\n t.is(typeof props.buttons[0].onClick, 'function');\n\n props.buttons[0].onClick();\n});\n\ntest('should display \"Back to question\" for the cta in the tabs', t => {\n const state = {\n data,\n ui: {\n current: {progressionId: 'basic'},\n route: {\n basic: 'media'\n }\n }\n };\n\n const props = createPlayerProps(state);\n\n t.is(props.cta.submitValue, '__Back to question');\n\n state.ui.route.foo = 'clue';\n\n t.is(typeof props.onClickSeeClue, 'function');\n props.onClickSeeClue();\n\n t.is(props.cta.submitValue, '__Back to question');\n});\n\ntest('should display \"Go to question\" for the context tab cta', t => {\n const state = {\n data,\n ui: {\n current: {progressionId: 'basic'},\n route: {\n basic: 'context'\n }\n }\n };\n\n const props = createPlayerProps(state);\n t.is(props.cta.submitValue, '__Go to question');\n});\n\ntest('should display new media notification when user has not seen any media for the current slide', t => {\n const progression = createProgression(basicSlide);\n progression.state.viewedResources = [\n {\n resources: ['1234']\n }\n ];\n const state = {\n data: {\n contents: data.contents,\n progressions: {\n entities: {\n basic: progression\n }\n }\n },\n ui: {\n current: {progressionId: 'basic'},\n route: {\n basic: 'answer'\n }\n }\n };\n\n const props = createPlayerProps(state);\n t.true(props.showNewMedia);\n});\n\ntest('should display new media notification for the answer/undefined route when user has not seen any media', t => {\n const state = {\n data: {\n contents: data.contents,\n progressions: {\n entities: {\n basic: createProgression(basicSlide)\n }\n }\n },\n ui: {\n current: {progressionId: 'basic'},\n route: {}\n }\n };\n\n [undefined].forEach(route => {\n const props = createPlayerProps(set('ui.route.basic', route, state));\n t.true(isEmpty(props));\n });\n\n ['media', 'clue', 'context', 'answer'].forEach(route => {\n const props = createPlayerProps(set('ui.route.basic', route, state));\n t.false(isEmpty(props));\n });\n});\n\ntest('should not display new media notification for the other routes when user has not seen any media', t => {\n const state = {\n data: {\n contents: data.contents,\n progressions: {\n entities: {\n basic: createProgression(basicSlide)\n }\n }\n },\n ui: {\n current: {progressionId: 'basic'},\n route: {}\n }\n };\n\n ['media', 'clue'].forEach(route => {\n const props = createPlayerProps(set('ui.route.basic', route, state));\n t.false(props.showNewMedia);\n });\n});\n\ntest('should not display new media notification when user has seen at least one media of the current slide', t => {\n const progression = createProgression(basicSlide);\n progression.state.viewedResources = [\n {\n type: 'chapter',\n ref: basicSlide.chapter_id,\n resources: [basicSlide.lessons[0].ref]\n }\n ];\n const state = {\n data: {\n contents: data.contents,\n progressions: {\n entities: {\n basic: progression\n }\n }\n },\n ui: {\n current: {progressionId: 'basic'},\n route: {\n basic: 'answer'\n }\n }\n };\n\n const props = createPlayerProps(state);\n t.false(props.showNewMedia);\n});\n\ntest('should display review lesson notification when user has seen at least one media of the current slide', t => {\n const progression = createProgression(basicSlide);\n progression.state.viewedResources = [\n {\n type: 'chapter',\n ref: basicSlide.chapter_id,\n resources: [basicSlide.lessons[0].ref]\n }\n ];\n const state = {\n data: {\n contents: data.contents,\n progressions: {\n entities: {\n basic: progression\n }\n }\n },\n ui: {\n current: {progressionId: 'basic'},\n route: {\n basic: 'answer'\n }\n }\n };\n\n const props = createPlayerProps(state);\n t.true(props.showReviewLesson);\n});\n\ntest('should not display review lesson notification when user has not seen any media for the current slide', t => {\n const progression = createProgression(basicSlide);\n progression.state.viewedResources = [\n {\n type: 'chapter',\n ref: basicSlide.chapter_id,\n resources: []\n }\n ];\n const state = {\n data: {\n contents: data.contents,\n progressions: {\n entities: {\n basic: progression\n }\n }\n },\n ui: {\n current: {progressionId: 'basic'},\n route: {\n basic: 'answer'\n }\n }\n };\n\n const props = createPlayerProps(state);\n t.false(props.showReviewLesson);\n});\n\ntest('should feed step prop in non-adaptive mode', t => {\n const state = set(\n 'data.contents.level.entities.1.info.nbSlides',\n 12,\n learnerProgressionStateFixture\n );\n\n const props = createPlayerProps(state);\n\n t.deepEqual(props.step, {current: 0, total: 12});\n});\n\ntest('should not feed step prop in adaptive mode', t => {\n const state = pipe(\n set('data.contents.level.entities.1.info.nbSlides', 12),\n set('data.contents.chapter.entities.chapter2.isConditional', true)\n )(learnerProgressionStateFixture);\n\n const props = createPlayerProps(state);\n\n t.falsy(props.step);\n});\n\ntest('should not send an id prop in resources', t => {\n const props = createPlayerProps(learnerProgressionStateFixture);\n\n t.is(get('resources.0.id', props), undefined);\n});\n\nconst createLearnerProgression = (slide, contentRef) => ({\n engine: {\n ref: 'learner',\n version: '1'\n },\n content: {\n ref: contentRef,\n type: 'level'\n },\n state: {\n nextContent: {\n ref: slide._id,\n type: 'slide'\n },\n lives: 1,\n livesDisabled: false,\n step: {\n current: 1\n },\n viewedResources: []\n }\n});\n\nconst check = (slide, answer) => {\n const progressionId = 'progression';\n const levelId = 'level';\n const chapterId = 'chapter';\n return createPlayerProps({\n data: {\n contents: {\n slide: {\n entities: {\n [slide._id]: {...slide, chapter_id: chapterId}\n }\n },\n level: {\n entities: {\n [levelId]: {\n ref: levelId,\n chapterIds: [chapterId],\n isConditional: true\n }\n }\n },\n chapter: {\n entities: {\n [chapterId]: {\n _id: chapterId,\n isConditional: false\n }\n }\n }\n },\n progressions: {\n entities: {\n [progressionId]: createLearnerProgression(slide, levelId)\n }\n }\n },\n ui: {\n route: {[progressionId]: 'answer'},\n current: {progressionId},\n answers: {[progressionId]: {value: answer}}\n }\n }).cta.disabled;\n};\n\ntest('should allow multi answers on adaptive level if the current chapter is not adaptive', t => {\n t.true(check(basicSlide, []));\n t.true(check(qcmSlide, []));\n t.true(check(qcmGraphicSlide, []));\n t.true(check(qcmDragSlide, []));\n t.true(check(contextSlide, []));\n t.true(check(templateSlide, []));\n\n t.false(check(basicSlide, ['foo']));\n t.false(check(qcmSlide, ['foo']));\n t.false(check(qcmGraphicSlide, ['foo']));\n t.false(check(qcmDragSlide, ['foo']));\n t.false(check(contextSlide, ['foo']));\n t.false(check(templateSlide, ['foo']));\n\n t.false(check(basicSlide, ['foo', 'bar']));\n t.false(check(qcmSlide, ['foo', 'bar']));\n t.false(check(qcmGraphicSlide, ['foo', 'bar']));\n t.false(check(qcmDragSlide, ['foo', 'bar']));\n t.false(check(contextSlide, ['foo', 'bar']));\n t.false(check(templateSlide, ['foo', 'bar']));\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"player.js","names":["_ava","_interopRequireDefault","require","_translate","_playerServices","_playerStore","_player","_header","fixtures","_interopRequireWildcard","_progressionLearner","_plop","_basic","_withContext","_template","_qcm","_qcmDrag","_qcmGraphic","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","services","Analytics","AnalyticsService","Answers","AnswersService","Clues","CluesService","Coach","CoachService","Comments","CommentsService","Content","ContentService","ExitNodes","ExitNodesService","LeaderBoard","LeaderBoardService","Location","LocationService","Logger","console","Progressions","ProgressionsService","Recommendations","RecommendationsService","options","exports","translate","mockTranslate","store","dispatch","_identity2","createPlayerProps","createPlayer","createHeaderProps","createHeader","availableSlides","_pipe2","_map2","slide","_id","_fromPairs2","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","coaches","availableCoaches","props","headerProps","deepEqual","answerType","media","mimeType","url","is","typeClue","question","model","true","_isFunction2","onChange","slideContext","undefined","submitValue","buttons","length","title","_omit2","header","onClick","false","throws","message","plan","action","UI_SELECT_ROUTE","payload","meta","description","selected","foo","onClickSeeClue","progression","resources","showNewMedia","forEach","_set2","_isEmpty2","lessons","showReviewLesson","learnerProgressionStateFixture","total","falsy","_get2","createLearnerProgression","check","levelId","level","chapterIds"],"sources":["../../../src/map-state-to-props/test/player.js"],"sourcesContent":["import test from 'ava';\nimport {map, get, isEmpty, set, pipe, fromPairs, isFunction, identity, omit} from 'lodash/fp';\n\nimport {mockTranslate} from '@coorpacademy/translate';\nimport {\n Analytics as AnalyticsService,\n Answers as AnswersService,\n Clues as CluesService,\n Coach as CoachService,\n Comments as CommentsService,\n Content as ContentService,\n ExitNodes as ExitNodesService,\n LeaderBoard as LeaderBoardService,\n Location as LocationService,\n Progressions as ProgressionsService,\n Recommendations as RecommendationsService\n} from '@coorpacademy/player-services';\nimport {UI_SELECT_ROUTE} from '@coorpacademy/player-store';\nimport createPlayer from '../player';\nimport createHeader from '../header';\nimport * as fixtures from '../../../sandbox/fixtures';\nimport learnerProgressionStateFixture from './fixtures/progression-learner';\nimport plopSlide from './fixtures/slides/plop';\nimport basicSlide from './fixtures/slides/basic';\nimport contextSlide from './fixtures/slides/with-context';\nimport templateSlide from './fixtures/slides/template';\nimport qcmSlide from './fixtures/slides/qcm';\nimport qcmDragSlide from './fixtures/slides/qcm-drag';\nimport qcmGraphicSlide from './fixtures/slides/qcm-graphic';\n\nconst services = {\n Analytics: AnalyticsService,\n Answers: AnswersService(fixtures),\n Clues: CluesService(fixtures),\n Coach: CoachService,\n Comments: CommentsService,\n Content: ContentService(fixtures),\n ExitNodes: ExitNodesService(fixtures),\n LeaderBoard: LeaderBoardService,\n Location: LocationService,\n Logger: console,\n Progressions: ProgressionsService(fixtures),\n Recommendations: RecommendationsService(fixtures)\n};\n\nexport const options = {translate: mockTranslate, services};\nexport const store = {dispatch: identity};\nconst createPlayerProps = createPlayer(options, store);\nconst createHeaderProps = createHeader(options, store);\n\nconst availableSlides = pipe(\n map(slide => [slide._id, slide]),\n fromPairs\n)([basicSlide, plopSlide, qcmSlide, qcmDragSlide, qcmGraphicSlide, contextSlide]);\n\nconst createProgression = (slide, contentRef) => ({\n engine: {\n ref: 'microlearning',\n version: '1'\n },\n content: {\n ref: contentRef,\n type: 'chapter'\n },\n state: {\n nextContent: {\n ref: slide._id,\n type: 'slide'\n },\n lives: 1,\n livesDisabled: false,\n step: {\n current: 1\n },\n viewedResources: []\n }\n});\n\nexport const data = {\n contents: {\n chapter: {\n entities: {\n nonAdaptiveContent: {\n _id: 'nonAdaptiveContent',\n isConditional: false\n },\n adaptiveContent: {\n _id: 'adaptiveContent',\n isConditional: true\n }\n }\n },\n slide: {\n entities: availableSlides\n }\n },\n progressions: {\n entities: {\n basic: createProgression(basicSlide, 'nonAdaptiveContent'),\n plop: createProgression(plopSlide, 'nonAdaptiveContent'),\n qcm: createProgression(qcmSlide, 'nonAdaptiveContent'),\n qcmDrag: createProgression(qcmDragSlide, 'nonAdaptiveContent'),\n qcmGraphic: createProgression(qcmGraphicSlide, 'nonAdaptiveContent'),\n template: createProgression(templateSlide, 'nonAdaptiveContent'),\n context: createProgression(contextSlide, 'nonAdaptiveContent'),\n adaptiveBasic: createProgression(basicSlide, 'adaptiveContent'),\n adaptiveQcm: createProgression(qcmSlide, 'adaptiveContent'),\n adaptiveQcmDrag: createProgression(qcmDragSlide, 'adaptiveContent'),\n adaptiveQcmGraphic: createProgression(qcmGraphicSlide, 'adaptiveContent'),\n adaptiveContext: createProgression(contextSlide, 'adaptiveContent'),\n adaptiveTemplate: createProgression(templateSlide, 'adaptiveContent')\n }\n }\n};\n\nconst isDisabledFor = (slide, isConditional, answer) => {\n const progressionId = 'progression';\n const chapterId = 'chapter';\n return createPlayerProps({\n data: {\n contents: {\n slide: {\n entities: {\n [slide._id]: {...slide, chapter_id: chapterId}\n }\n },\n chapter: {\n entities: {\n [chapterId]: {\n _id: chapterId,\n isConditional\n }\n }\n }\n },\n progressions: {\n entities: {\n [progressionId]: createProgression(slide, chapterId)\n }\n }\n },\n ui: {\n route: {[progressionId]: 'answer'},\n current: {progressionId},\n answers: {[progressionId]: {value: answer}}\n }\n }).cta.disabled;\n};\n\ntest('should create player props for basic question and show coaches', t => {\n const state = {\n data,\n ui: {\n route: {basic: 'answer'},\n current: {progressionId: 'basic'},\n coaches: {availableCoaches: 1}\n }\n };\n\n const props = createPlayerProps(state);\n const headerProps = createHeaderProps(state);\n\n t.deepEqual(props.answerType.media, {\n _id: '593eb72a187bd18c01283592',\n mimeType: 'image/jpeg',\n type: 'img',\n url: '//static.coorpacademy.com/content/ijoinchanel/en/slides/1B2_Q6/1B2-Q6-canap-v1.jpg'\n });\n t.is(props.typeClue, 'answer');\n t.is(props.question, \"Écrivez le mot Text dans l'input.\\n\");\n t.is(props.answerType.model.type, 'freeText');\n t.true(isFunction(props.answerType.model.onChange));\n t.is(props.slideContext, undefined);\n t.is(props.cta.submitValue, '__Validate');\n t.true(props.cta.disabled);\n\n t.is(props.buttons.length, 4);\n t.is(props.buttons[3].title, '__Coach');\n t.is(props.buttons[3].type, 'coach');\n t.deepEqual(omit('content.onClick', props.header), omit('content.onClick', headerProps));\n t.true(isFunction(props.header.content.onClick));\n});\ntest('should enable the validate button when there is an answer', t => {\n t.true(isDisabledFor(basicSlide, false, []));\n t.false(isDisabledFor(basicSlide, false, ['foo']));\n});\n\ntest('should enable the validate button when there are two answers in an non-adaptive content for all questions', t => {\n const answers = ['foo', 'bar'];\n\n t.false(isDisabledFor(basicSlide, false, answers));\n t.false(isDisabledFor(qcmSlide, false, answers));\n t.false(isDisabledFor(qcmGraphicSlide, false, answers));\n t.false(isDisabledFor(qcmDragSlide, false, answers));\n t.false(isDisabledFor(contextSlide, false, answers));\n t.false(isDisabledFor(templateSlide, false, answers));\n});\n\ntest('should disable the validate button when there are several answers in an adaptive content for qcm questions', t => {\n t.false(isDisabledFor(basicSlide, true, ['foo', 'bar']));\n t.true(isDisabledFor(qcmSlide, true, ['foo', 'bar']));\n t.true(isDisabledFor(qcmGraphicSlide, true, ['foo', 'bar']));\n t.false(isDisabledFor(qcmDragSlide, true, ['foo', 'bar']));\n t.false(isDisabledFor(contextSlide, true, ['foo', 'bar']));\n t.false(isDisabledFor(templateSlide, true, ['foo', 'bar']));\n\n t.false(isDisabledFor(basicSlide, true, ['foo', 'bar', 'baz']));\n t.true(isDisabledFor(qcmSlide, true, ['foo', 'bar', 'baz']));\n t.true(isDisabledFor(qcmGraphicSlide, true, ['foo', 'bar', 'baz']));\n t.false(isDisabledFor(qcmDragSlide, true, ['foo', 'bar', 'baz']));\n t.false(isDisabledFor(contextSlide, true, ['foo', 'bar', 'baz']));\n t.false(isDisabledFor(templateSlide, true, ['foo', 'bar', 'baz']));\n});\n\ntest('should disable the validate button when there the text answer has been deleted', t => {\n const state = {\n data,\n ui: {\n route: {basic: 'answer'},\n current: {progressionId: 'basic'},\n answers: {basic: {value: ['']}}\n }\n };\n\n const props = createPlayerProps(state);\n\n t.true(props.cta.disabled);\n});\n\ntest('should return defaut props when slide.question.type is not handles', t => {\n const state = {\n data,\n ui: {\n route: {basic: 'answer'},\n current: {progressionId: 'plop'},\n answers: {basic: {value: ['']}}\n }\n };\n\n t.throws(() => createPlayerProps(state), {message: 'plop is not an handled question.type'});\n});\n\ntest('should disable the validate button when no answer is provided', t => {\n const state = {\n data,\n ui: {\n route: {basic: 'answer'},\n current: {progressionId: 'basic'},\n answers: {}\n }\n };\n\n const props = createPlayerProps(state);\n\n t.true(props.cta.disabled);\n});\n\ntest('should disable the validate button when a previous selected answer has been unselected', t => {\n const state = {\n data,\n ui: {\n route: {basic: 'answer'},\n current: {progressionId: 'basic'},\n answers: {basic: {value: []}}\n }\n };\n\n const props = createPlayerProps(state);\n\n t.true(props.cta.disabled);\n});\n\ntest('should disable the validate button when some answer fields are empty', t => {\n const state = {\n data,\n ui: {\n route: {template: 'answer'},\n current: {progressionId: 'template'},\n answers: {template: {value: ['', 'Test']}}\n }\n };\n\n const props = createPlayerProps(state);\n\n t.true(props.cta.disabled);\n});\n\ntest('should disable the validate button when no answer has been selected by user on template question', t => {\n const state = {\n data,\n ui: {\n route: {template: 'answer'},\n current: {progressionId: 'template'}\n }\n };\n\n const props = createPlayerProps(state);\n\n t.true(props.cta.disabled);\n});\n\ntest('should display context tab button if slide context is available', t => {\n t.plan(10);\n const state = {\n data,\n ui: {\n route: {context: 'answer'},\n current: {progressionId: 'context'}\n }\n };\n\n const dispatch = action => {\n t.deepEqual(action, {\n type: UI_SELECT_ROUTE,\n payload: 'context',\n meta: {\n progressionId: 'context'\n }\n });\n };\n\n const props = createPlayer(options, {dispatch: action => action(dispatch, () => state)})(state);\n\n t.is(typeof props.slideContext, 'object');\n t.is(props.slideContext.title, 'Some context title');\n t.is(typeof props.slideContext.description, 'string');\n t.is(props.slideContext.description, contextSlide.context.description);\n t.is(props.buttons.length, 5);\n t.is(props.buttons[0].title, '__Context');\n t.is(props.buttons[0].type, 'context');\n t.false(props.buttons[0].selected);\n t.is(typeof props.buttons[0].onClick, 'function');\n\n props.buttons[0].onClick();\n});\n\ntest('should display \"Back to question\" for the cta in the tabs', t => {\n const state = {\n data,\n ui: {\n current: {progressionId: 'basic'},\n route: {\n basic: 'media'\n }\n }\n };\n\n const props = createPlayerProps(state);\n\n t.is(props.cta.submitValue, '__Back to question');\n\n state.ui.route.foo = 'clue';\n\n t.is(typeof props.onClickSeeClue, 'function');\n props.onClickSeeClue();\n\n t.is(props.cta.submitValue, '__Back to question');\n});\n\ntest('should display \"Go to question\" for the context tab cta', t => {\n const state = {\n data,\n ui: {\n current: {progressionId: 'basic'},\n route: {\n basic: 'context'\n }\n }\n };\n\n const props = createPlayerProps(state);\n t.is(props.cta.submitValue, '__Go to question');\n});\n\ntest('should display new media notification when user has not seen any media for the current slide', t => {\n const progression = createProgression(basicSlide);\n progression.state.viewedResources = [\n {\n resources: ['1234']\n }\n ];\n const state = {\n data: {\n contents: data.contents,\n progressions: {\n entities: {\n basic: progression\n }\n }\n },\n ui: {\n current: {progressionId: 'basic'},\n route: {\n basic: 'answer'\n }\n }\n };\n\n const props = createPlayerProps(state);\n t.true(props.showNewMedia);\n});\n\ntest('should display new media notification for the answer/undefined route when user has not seen any media', t => {\n const state = {\n data: {\n contents: data.contents,\n progressions: {\n entities: {\n basic: createProgression(basicSlide)\n }\n }\n },\n ui: {\n current: {progressionId: 'basic'},\n route: {}\n }\n };\n\n [undefined].forEach(route => {\n const props = createPlayerProps(set('ui.route.basic', route, state));\n t.true(isEmpty(props));\n });\n\n ['media', 'clue', 'context', 'answer'].forEach(route => {\n const props = createPlayerProps(set('ui.route.basic', route, state));\n t.false(isEmpty(props));\n });\n});\n\ntest('should not display new media notification for the other routes when user has not seen any media', t => {\n const state = {\n data: {\n contents: data.contents,\n progressions: {\n entities: {\n basic: createProgression(basicSlide)\n }\n }\n },\n ui: {\n current: {progressionId: 'basic'},\n route: {}\n }\n };\n\n ['media', 'clue'].forEach(route => {\n const props = createPlayerProps(set('ui.route.basic', route, state));\n t.false(props.showNewMedia);\n });\n});\n\ntest('should not display new media notification when user has seen at least one media of the current slide', t => {\n const progression = createProgression(basicSlide);\n progression.state.viewedResources = [\n {\n type: 'chapter',\n ref: basicSlide.chapter_id,\n resources: [basicSlide.lessons[0].ref]\n }\n ];\n const state = {\n data: {\n contents: data.contents,\n progressions: {\n entities: {\n basic: progression\n }\n }\n },\n ui: {\n current: {progressionId: 'basic'},\n route: {\n basic: 'answer'\n }\n }\n };\n\n const props = createPlayerProps(state);\n t.false(props.showNewMedia);\n});\n\ntest('should display review lesson notification when user has seen at least one media of the current slide', t => {\n const progression = createProgression(basicSlide);\n progression.state.viewedResources = [\n {\n type: 'chapter',\n ref: basicSlide.chapter_id,\n resources: [basicSlide.lessons[0].ref]\n }\n ];\n const state = {\n data: {\n contents: data.contents,\n progressions: {\n entities: {\n basic: progression\n }\n }\n },\n ui: {\n current: {progressionId: 'basic'},\n route: {\n basic: 'answer'\n }\n }\n };\n\n const props = createPlayerProps(state);\n t.true(props.showReviewLesson);\n});\n\ntest('should not display review lesson notification when user has not seen any media for the current slide', t => {\n const progression = createProgression(basicSlide);\n progression.state.viewedResources = [\n {\n type: 'chapter',\n ref: basicSlide.chapter_id,\n resources: []\n }\n ];\n const state = {\n data: {\n contents: data.contents,\n progressions: {\n entities: {\n basic: progression\n }\n }\n },\n ui: {\n current: {progressionId: 'basic'},\n route: {\n basic: 'answer'\n }\n }\n };\n\n const props = createPlayerProps(state);\n t.false(props.showReviewLesson);\n});\n\ntest('should feed step prop in non-adaptive mode', t => {\n const state = set(\n 'data.contents.level.entities.1.info.nbSlides',\n 12,\n learnerProgressionStateFixture\n );\n\n const props = createPlayerProps(state);\n\n t.deepEqual(props.step, {current: 0, total: 12});\n});\n\ntest('should not feed step prop in adaptive mode', t => {\n const state = pipe(\n set('data.contents.level.entities.1.info.nbSlides', 12),\n set('data.contents.chapter.entities.chapter2.isConditional', true)\n )(learnerProgressionStateFixture);\n\n const props = createPlayerProps(state);\n\n t.falsy(props.step);\n});\n\ntest('should not send an id prop in resources', t => {\n const props = createPlayerProps(learnerProgressionStateFixture);\n\n t.is(get('resources.0.id', props), undefined);\n});\n\nconst createLearnerProgression = (slide, contentRef) => ({\n engine: {\n ref: 'learner',\n version: '1'\n },\n content: {\n ref: contentRef,\n type: 'level'\n },\n state: {\n nextContent: {\n ref: slide._id,\n type: 'slide'\n },\n lives: 1,\n livesDisabled: false,\n step: {\n current: 1\n },\n viewedResources: []\n }\n});\n\nconst check = (slide, answer) => {\n const progressionId = 'progression';\n const levelId = 'level';\n const chapterId = 'chapter';\n return createPlayerProps({\n data: {\n contents: {\n slide: {\n entities: {\n [slide._id]: {...slide, chapter_id: chapterId}\n }\n },\n level: {\n entities: {\n [levelId]: {\n ref: levelId,\n chapterIds: [chapterId],\n isConditional: true\n }\n }\n },\n chapter: {\n entities: {\n [chapterId]: {\n _id: chapterId,\n isConditional: false\n }\n }\n }\n },\n progressions: {\n entities: {\n [progressionId]: createLearnerProgression(slide, levelId)\n }\n }\n },\n ui: {\n route: {[progressionId]: 'answer'},\n current: {progressionId},\n answers: {[progressionId]: {value: answer}}\n }\n }).cta.disabled;\n};\n\ntest('should allow multi answers on adaptive level if the current chapter is not adaptive', t => {\n t.true(check(basicSlide, []));\n t.true(check(qcmSlide, []));\n t.true(check(qcmGraphicSlide, []));\n t.true(check(qcmDragSlide, []));\n t.true(check(contextSlide, []));\n t.true(check(templateSlide, []));\n\n t.false(check(basicSlide, ['foo']));\n t.false(check(qcmSlide, ['foo']));\n t.false(check(qcmGraphicSlide, ['foo']));\n t.false(check(qcmDragSlide, ['foo']));\n t.false(check(contextSlide, ['foo']));\n t.false(check(templateSlide, ['foo']));\n\n t.false(check(basicSlide, ['foo', 'bar']));\n t.false(check(qcmSlide, ['foo', 'bar']));\n t.false(check(qcmGraphicSlide, ['foo', 'bar']));\n t.false(check(qcmDragSlide, ['foo', 'bar']));\n t.false(check(contextSlide, ['foo', 'bar']));\n t.false(check(templateSlide, ['foo', 'bar']));\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,41 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _isFunction2 = _interopRequireDefault(require("lodash/fp/isFunction"));
|
|
4
|
-
|
|
5
4
|
var _cloneDeep2 = _interopRequireDefault(require("lodash/fp/cloneDeep"));
|
|
6
|
-
|
|
7
5
|
var _identity2 = _interopRequireDefault(require("lodash/fp/identity"));
|
|
8
|
-
|
|
9
6
|
var _omit2 = _interopRequireDefault(require("lodash/fp/omit"));
|
|
10
|
-
|
|
11
7
|
var _find2 = _interopRequireDefault(require("lodash/fp/find"));
|
|
12
|
-
|
|
13
8
|
var _set2 = _interopRequireDefault(require("lodash/fp/set"));
|
|
14
|
-
|
|
15
9
|
var _map2 = _interopRequireDefault(require("lodash/fp/map"));
|
|
16
|
-
|
|
17
10
|
var _ava = _interopRequireDefault(require("ava"));
|
|
18
|
-
|
|
19
11
|
var _translate = require("@coorpacademy/translate");
|
|
20
|
-
|
|
21
12
|
var _playerStore = require("@coorpacademy/player-store");
|
|
22
|
-
|
|
23
13
|
var _popinCorrection = require("../popin-correction");
|
|
24
|
-
|
|
25
14
|
var _popinExtraLife = _interopRequireDefault(require("./fixtures/popin-correction/popin-extra-life"));
|
|
26
|
-
|
|
27
15
|
var _popinFailure = _interopRequireDefault(require("./fixtures/popin-correction/popin-failure"));
|
|
28
|
-
|
|
29
16
|
var _popinRevival = _interopRequireDefault(require("./fixtures/popin-correction/popin-revival"));
|
|
30
|
-
|
|
31
17
|
var _popinSuccess = _interopRequireDefault(require("./fixtures/popin-correction/popin-success"));
|
|
32
|
-
|
|
33
18
|
var _popinSuccessNode = _interopRequireDefault(require("./fixtures/popin-correction/popin-success-node"));
|
|
34
|
-
|
|
35
19
|
var _popinNextLevel = _interopRequireDefault(require("./fixtures/popin-correction/popin-next-level"));
|
|
36
|
-
|
|
37
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
38
|
-
|
|
20
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
39
21
|
const services = {
|
|
40
22
|
Answers: {
|
|
41
23
|
findById: _identity2.default
|
|
@@ -82,40 +64,32 @@ const services = {
|
|
|
82
64
|
findById: _identity2.default
|
|
83
65
|
}
|
|
84
66
|
};
|
|
85
|
-
|
|
86
67
|
const createDispatch = state => {
|
|
87
68
|
const getState = () => state;
|
|
88
|
-
|
|
89
69
|
return async action => {
|
|
90
70
|
const dispatched = [];
|
|
91
|
-
|
|
92
71
|
const dispatch = maybeAction => {
|
|
93
72
|
if (!(0, _isFunction2.default)(maybeAction)) {
|
|
94
73
|
dispatched.push(maybeAction);
|
|
95
74
|
return maybeAction;
|
|
96
75
|
}
|
|
97
|
-
|
|
98
76
|
return maybeAction(dispatch, getState, {
|
|
99
77
|
services
|
|
100
78
|
});
|
|
101
79
|
};
|
|
102
|
-
|
|
103
80
|
await dispatch(action);
|
|
104
81
|
return dispatched;
|
|
105
82
|
};
|
|
106
83
|
};
|
|
107
|
-
|
|
108
84
|
const actionTypes = actions => (0, _map2.default)(({
|
|
109
85
|
type
|
|
110
86
|
}) => type, actions);
|
|
111
|
-
|
|
112
87
|
const metaOf = (actionType, actions) => {
|
|
113
88
|
const action = (0, _find2.default)(({
|
|
114
89
|
type
|
|
115
90
|
}) => type === actionType, actions);
|
|
116
91
|
return action && action.meta;
|
|
117
92
|
};
|
|
118
|
-
|
|
119
93
|
(0, _ava.default)('should open Assistance', async t => {
|
|
120
94
|
const state = _popinSuccess.default;
|
|
121
95
|
const dispatch = createDispatch(state);
|
|
@@ -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,"file":"popin-correction.create-header-cta.js","names":["_ava","_interopRequireDefault","require","_translate","_playerStore","_popinCorrection","_popinExtraLife","_popinFailure","_popinRevival","_popinSuccess","_popinSuccessNode","_popinNextLevel","e","__esModule","default","services","Answers","findById","_identity2","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","_isFunction2","push","actionTypes","actions","_map2","metaOf","actionType","_find2","meta","test","t","popinSuccess","linkAssistance","openPopinAssistance","deepEqual","UI_PROGRESSION_ACTION_TYPES","OPEN_ASSISTANCE_REQUEST","OPEN_ASSISTANCE_SUCCESS","progressionId","getCurrentProgressionId","cta","createHeaderCTA","translate","mockTranslate","_omit2","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","_cloneDeep2","popinNextLevel","data","progressions","entities","content","currentSlideRef","nextContent","prevSlideRef","contents","slide","createHeader","is","_set2","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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","ignoreList":[]}
|
|
@@ -1,25 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _identity2 = _interopRequireDefault(require("lodash/fp/identity"));
|
|
4
|
-
|
|
5
4
|
var _set2 = _interopRequireDefault(require("lodash/fp/set"));
|
|
6
|
-
|
|
7
5
|
var _get2 = _interopRequireDefault(require("lodash/fp/get"));
|
|
8
|
-
|
|
9
6
|
var _ava = _interopRequireDefault(require("ava"));
|
|
10
|
-
|
|
11
7
|
var _translate = require("@coorpacademy/translate");
|
|
12
|
-
|
|
13
8
|
var _playerStore = require("@coorpacademy/player-store");
|
|
14
|
-
|
|
15
9
|
var _popinCorrection = require("../popin-correction");
|
|
16
|
-
|
|
17
10
|
var _popinExtraLife = _interopRequireDefault(require("./fixtures/popin-correction/popin-extra-life"));
|
|
18
|
-
|
|
19
11
|
var _popinFailure = _interopRequireDefault(require("./fixtures/popin-correction/popin-failure"));
|
|
20
|
-
|
|
21
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
22
|
-
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
23
13
|
(0, _ava.default)('should put revival to true if current step is extra life and a lesson has been viewed', t => {
|
|
24
14
|
const progressionId = (0, _playerStore.getCurrentProgressionId)(_popinExtraLife.default);
|
|
25
15
|
const state = (0, _set2.default)(['data', 'progressions', 'entities', progressionId, 'state', 'hasViewedAResourceAtThisStep'], true, _popinExtraLife.default);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popin-correction.js","names":["test","t","progressionId","getCurrentProgressionId","popinExtraLife","state","props","popinCorrectionStateToProps","translate","mockTranslate","dispatch","true","is","quit","undefined","Object","freeze","false","header","type","deepEqual","title","text","lifeAmount","popinFailure","gameOver","overlay","lives"],"sources":["../../../src/map-state-to-props/test/popin-correction.js"],"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"],"mappings":"
|
|
1
|
+
{"version":3,"file":"popin-correction.js","names":["_ava","_interopRequireDefault","require","_translate","_playerStore","_popinCorrection","_popinExtraLife","_popinFailure","e","__esModule","default","test","t","progressionId","getCurrentProgressionId","popinExtraLife","state","_set2","props","popinCorrectionStateToProps","translate","mockTranslate","dispatch","_identity2","true","_get2","is","quit","undefined","Object","freeze","false","header","type","deepEqual","title","text","lifeAmount","popinFailure","gameOver","overlay","lives"],"sources":["../../../src/map-state-to-props/test/popin-correction.js"],"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"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,43 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _isUndefined2 = _interopRequireDefault(require("lodash/fp/isUndefined"));
|
|
4
|
-
|
|
5
4
|
var _isFunction2 = _interopRequireDefault(require("lodash/fp/isFunction"));
|
|
6
|
-
|
|
7
5
|
var _identity2 = _interopRequireDefault(require("lodash/fp/identity"));
|
|
8
|
-
|
|
9
6
|
var _pipe2 = _interopRequireDefault(require("lodash/fp/pipe"));
|
|
10
|
-
|
|
11
7
|
var _set2 = _interopRequireDefault(require("lodash/fp/set"));
|
|
12
|
-
|
|
13
8
|
var _map2 = _interopRequireDefault(require("lodash/fp/map"));
|
|
14
|
-
|
|
15
9
|
var _get2 = _interopRequireDefault(require("lodash/fp/get"));
|
|
16
|
-
|
|
17
10
|
var _ava = _interopRequireDefault(require("ava"));
|
|
18
|
-
|
|
19
11
|
var _translate = require("@coorpacademy/translate");
|
|
20
|
-
|
|
21
12
|
var _playerStore = require("@coorpacademy/player-store");
|
|
22
|
-
|
|
23
13
|
var _popinEnd = _interopRequireDefault(require("../popin-end"));
|
|
24
|
-
|
|
25
14
|
var _learnerSuccess = _interopRequireDefault(require("./fixtures/popin-end/learner-success"));
|
|
26
|
-
|
|
27
15
|
var _learnerSuccessWithRedirection = _interopRequireDefault(require("./fixtures/popin-end/learner-success-with-redirection"));
|
|
28
|
-
|
|
29
16
|
var _learnerFailure = _interopRequireDefault(require("./fixtures/popin-end/learner-failure"));
|
|
30
|
-
|
|
31
17
|
var _learnerFailureWithRedirection = _interopRequireDefault(require("./fixtures/popin-end/learner-failure-with-redirection"));
|
|
32
|
-
|
|
33
18
|
var _learnerAdaptiveFailure = _interopRequireDefault(require("./fixtures/popin-end/learner-adaptive-failure"));
|
|
34
|
-
|
|
35
19
|
var _fail = _interopRequireDefault(require("./fixtures/popin-end/fail"));
|
|
36
|
-
|
|
37
20
|
var _success = _interopRequireDefault(require("./fixtures/popin-end/success"));
|
|
38
|
-
|
|
39
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
40
|
-
|
|
21
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
41
22
|
const services = {
|
|
42
23
|
Comments: {
|
|
43
24
|
post: _identity2.default
|
|
@@ -48,26 +29,20 @@ const services = {
|
|
|
48
29
|
seeComment: _identity2.default
|
|
49
30
|
}
|
|
50
31
|
};
|
|
51
|
-
|
|
52
32
|
const createDispatch = state => {
|
|
53
33
|
const getState = () => state;
|
|
54
|
-
|
|
55
34
|
return async action => {
|
|
56
35
|
const dispatched = [];
|
|
57
|
-
|
|
58
36
|
const dispatch = maybeAction => (0, _isFunction2.default)(maybeAction) ? maybeAction(dispatch, getState, {
|
|
59
37
|
services
|
|
60
38
|
}) : dispatched.push(maybeAction);
|
|
61
|
-
|
|
62
39
|
await dispatch(action);
|
|
63
40
|
return dispatched;
|
|
64
41
|
};
|
|
65
42
|
};
|
|
66
|
-
|
|
67
43
|
const actionTypes = actions => (0, _map2.default)(({
|
|
68
44
|
type
|
|
69
45
|
}) => type, actions);
|
|
70
|
-
|
|
71
46
|
const options = {
|
|
72
47
|
translate: _translate.mockTranslate
|
|
73
48
|
};
|