@coorpacademy/player-web 4.22.7 → 4.22.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/es/map-state-to-props/test/answer.js +391 -0
  2. package/es/map-state-to-props/test/answer.js.map +1 -0
  3. package/es/map-state-to-props/test/fixtures/player/clue.json +131 -0
  4. package/es/map-state-to-props/test/fixtures/player/loading-clue.json +131 -0
  5. package/es/map-state-to-props/test/fixtures/player/no-clue.json +118 -0
  6. package/es/map-state-to-props/test/fixtures/player/slide-no-lessons.json +115 -0
  7. package/es/map-state-to-props/test/fixtures/player/slide.json +127 -0
  8. package/es/map-state-to-props/test/fixtures/popin-correction/popin-extra-life.json +139 -0
  9. package/es/map-state-to-props/test/fixtures/popin-correction/popin-failure.json +145 -0
  10. package/es/map-state-to-props/test/fixtures/popin-correction/popin-next-level.json +282 -0
  11. package/es/map-state-to-props/test/fixtures/popin-correction/popin-revival.json +140 -0
  12. package/es/map-state-to-props/test/fixtures/popin-correction/popin-success-node.json +154 -0
  13. package/es/map-state-to-props/test/fixtures/popin-correction/popin-success.json +268 -0
  14. package/es/map-state-to-props/test/fixtures/popin-correction/state-fail-multiple-answers.json +473 -0
  15. package/es/map-state-to-props/test/fixtures/popin-end/fail.json +205 -0
  16. package/es/map-state-to-props/test/fixtures/popin-end/learner-adaptive-failure.json +209 -0
  17. package/es/map-state-to-props/test/fixtures/popin-end/learner-failure-with-redirection.json +211 -0
  18. package/es/map-state-to-props/test/fixtures/popin-end/learner-failure.json +211 -0
  19. package/es/map-state-to-props/test/fixtures/popin-end/learner-success-with-redirection.json +278 -0
  20. package/es/map-state-to-props/test/fixtures/popin-end/learner-success.json +275 -0
  21. package/es/map-state-to-props/test/fixtures/popin-end/success.json +223 -0
  22. package/es/map-state-to-props/test/fixtures/progression-learner.json +102 -0
  23. package/es/map-state-to-props/test/fixtures/progression-state.json +45 -0
  24. package/es/map-state-to-props/test/fixtures/slides/basic.json +60 -0
  25. package/es/map-state-to-props/test/fixtures/slides/plop.json +56 -0
  26. package/es/map-state-to-props/test/fixtures/slides/qcm-drag.json +56 -0
  27. package/es/map-state-to-props/test/fixtures/slides/qcm-graphic.json +49 -0
  28. package/es/map-state-to-props/test/fixtures/slides/qcm.json +43 -0
  29. package/es/map-state-to-props/test/fixtures/slides/slider.json +57 -0
  30. package/es/map-state-to-props/test/fixtures/slides/template.json +49 -0
  31. package/es/map-state-to-props/test/fixtures/slides/videos.json +163 -0
  32. package/es/map-state-to-props/test/fixtures/slides/with-context.json +69 -0
  33. package/es/map-state-to-props/test/header.js +131 -0
  34. package/es/map-state-to-props/test/header.js.map +1 -0
  35. package/es/map-state-to-props/test/index.js +107 -0
  36. package/es/map-state-to-props/test/index.js.map +1 -0
  37. package/es/map-state-to-props/test/player.js +680 -0
  38. package/es/map-state-to-props/test/player.js.map +1 -0
  39. package/es/map-state-to-props/test/popin-correction.create-header-cta.js +301 -0
  40. package/es/map-state-to-props/test/popin-correction.create-header-cta.js.map +1 -0
  41. package/es/map-state-to-props/test/popin-correction.js +80 -0
  42. package/es/map-state-to-props/test/popin-correction.js.map +1 -0
  43. package/es/map-state-to-props/test/popin-end.js +313 -0
  44. package/es/map-state-to-props/test/popin-end.js.map +1 -0
  45. package/es/map-state-to-props/test/popin-error.js +77 -0
  46. package/es/map-state-to-props/test/popin-error.js.map +1 -0
  47. package/es/map-state-to-props/test/resources.js +31 -0
  48. package/es/map-state-to-props/test/resources.js.map +1 -0
  49. package/es/test/add-timeout.js +8 -0
  50. package/es/test/add-timeout.js.map +1 -0
  51. package/es/test/helpers/css-register.js +3 -0
  52. package/es/test/helpers/css-register.js.map +1 -0
  53. package/es/test/helpers/macro.js +6 -0
  54. package/es/test/helpers/macro.js.map +1 -0
  55. package/es/test/index.js +39 -0
  56. package/es/test/index.js.map +1 -0
  57. package/es/test/init-reducers.js +50 -0
  58. package/es/test/init-reducers.js.map +1 -0
  59. package/es/test/locales.js +8 -0
  60. package/es/test/locales.js.map +1 -0
  61. package/es/test/run-app.js +20 -0
  62. package/es/test/run-app.js.map +1 -0
  63. package/es/test/store.js +38 -0
  64. package/es/test/store.js.map +1 -0
  65. package/es/views/test/helpers/render.js +13 -0
  66. package/es/views/test/helpers/render.js.map +1 -0
  67. package/es/views/test/helpers/state-to-vnode.js +7 -0
  68. package/es/views/test/helpers/state-to-vnode.js.map +1 -0
  69. package/es/views/test/loading.js +15 -0
  70. package/es/views/test/loading.js.map +1 -0
  71. package/es/views/test/popin-correction.js +223 -0
  72. package/es/views/test/popin-correction.js.map +1 -0
  73. package/es/views/test/popin-end.js +93 -0
  74. package/es/views/test/popin-end.js.map +1 -0
  75. package/es/views/test/router.js +22 -0
  76. package/es/views/test/router.js.map +1 -0
  77. package/es/views/test/slide.js +339 -0
  78. package/es/views/test/slide.js.map +1 -0
  79. package/lib/map-state-to-props/test/answer.js +409 -0
  80. package/lib/map-state-to-props/test/answer.js.map +1 -0
  81. package/lib/map-state-to-props/test/fixtures/player/clue.json +131 -0
  82. package/lib/map-state-to-props/test/fixtures/player/loading-clue.json +131 -0
  83. package/lib/map-state-to-props/test/fixtures/player/no-clue.json +118 -0
  84. package/lib/map-state-to-props/test/fixtures/player/slide-no-lessons.json +115 -0
  85. package/lib/map-state-to-props/test/fixtures/player/slide.json +127 -0
  86. package/lib/map-state-to-props/test/fixtures/popin-correction/popin-extra-life.json +139 -0
  87. package/lib/map-state-to-props/test/fixtures/popin-correction/popin-failure.json +145 -0
  88. package/lib/map-state-to-props/test/fixtures/popin-correction/popin-next-level.json +282 -0
  89. package/lib/map-state-to-props/test/fixtures/popin-correction/popin-revival.json +140 -0
  90. package/lib/map-state-to-props/test/fixtures/popin-correction/popin-success-node.json +154 -0
  91. package/lib/map-state-to-props/test/fixtures/popin-correction/popin-success.json +268 -0
  92. package/lib/map-state-to-props/test/fixtures/popin-correction/state-fail-multiple-answers.json +473 -0
  93. package/lib/map-state-to-props/test/fixtures/popin-end/fail.json +205 -0
  94. package/lib/map-state-to-props/test/fixtures/popin-end/learner-adaptive-failure.json +209 -0
  95. package/lib/map-state-to-props/test/fixtures/popin-end/learner-failure-with-redirection.json +211 -0
  96. package/lib/map-state-to-props/test/fixtures/popin-end/learner-failure.json +211 -0
  97. package/lib/map-state-to-props/test/fixtures/popin-end/learner-success-with-redirection.json +278 -0
  98. package/lib/map-state-to-props/test/fixtures/popin-end/learner-success.json +275 -0
  99. package/lib/map-state-to-props/test/fixtures/popin-end/success.json +223 -0
  100. package/lib/map-state-to-props/test/fixtures/progression-learner.json +102 -0
  101. package/lib/map-state-to-props/test/fixtures/progression-state.json +45 -0
  102. package/lib/map-state-to-props/test/fixtures/slides/basic.json +60 -0
  103. package/lib/map-state-to-props/test/fixtures/slides/plop.json +56 -0
  104. package/lib/map-state-to-props/test/fixtures/slides/qcm-drag.json +56 -0
  105. package/lib/map-state-to-props/test/fixtures/slides/qcm-graphic.json +49 -0
  106. package/lib/map-state-to-props/test/fixtures/slides/qcm.json +43 -0
  107. package/lib/map-state-to-props/test/fixtures/slides/slider.json +57 -0
  108. package/lib/map-state-to-props/test/fixtures/slides/template.json +49 -0
  109. package/lib/map-state-to-props/test/fixtures/slides/videos.json +163 -0
  110. package/lib/map-state-to-props/test/fixtures/slides/with-context.json +69 -0
  111. package/lib/map-state-to-props/test/header.js +143 -0
  112. package/lib/map-state-to-props/test/header.js.map +1 -0
  113. package/lib/map-state-to-props/test/index.js +100 -0
  114. package/lib/map-state-to-props/test/index.js.map +1 -0
  115. package/lib/map-state-to-props/test/player.js +714 -0
  116. package/lib/map-state-to-props/test/player.js.map +1 -0
  117. package/lib/map-state-to-props/test/popin-correction.create-header-cta.js +315 -0
  118. package/lib/map-state-to-props/test/popin-correction.create-header-cta.js.map +1 -0
  119. package/lib/map-state-to-props/test/popin-correction.js +85 -0
  120. package/lib/map-state-to-props/test/popin-correction.js.map +1 -0
  121. package/lib/map-state-to-props/test/popin-end.js +328 -0
  122. package/lib/map-state-to-props/test/popin-end.js.map +1 -0
  123. package/lib/map-state-to-props/test/popin-error.js +85 -0
  124. package/lib/map-state-to-props/test/popin-error.js.map +1 -0
  125. package/lib/map-state-to-props/test/resources.js +42 -0
  126. package/lib/map-state-to-props/test/resources.js.map +1 -0
  127. package/lib/test/add-timeout.js +14 -0
  128. package/lib/test/add-timeout.js.map +1 -0
  129. package/lib/test/helpers/css-register.js +8 -0
  130. package/lib/test/helpers/css-register.js.map +1 -0
  131. package/lib/test/helpers/macro.js +12 -0
  132. package/lib/test/helpers/macro.js.map +1 -0
  133. package/lib/test/index.js +53 -0
  134. package/lib/test/index.js.map +1 -0
  135. package/lib/test/init-reducers.js +57 -0
  136. package/lib/test/init-reducers.js.map +1 -0
  137. package/lib/test/locales.js +18 -0
  138. package/lib/test/locales.js.map +1 -0
  139. package/lib/test/run-app.js +27 -0
  140. package/lib/test/run-app.js.map +1 -0
  141. package/lib/test/store.js +45 -0
  142. package/lib/test/store.js.map +1 -0
  143. package/lib/views/test/helpers/render.js +24 -0
  144. package/lib/views/test/helpers/render.js.map +1 -0
  145. package/lib/views/test/helpers/state-to-vnode.js +14 -0
  146. package/lib/views/test/helpers/state-to-vnode.js.map +1 -0
  147. package/lib/views/test/loading.js +22 -0
  148. package/lib/views/test/loading.js.map +1 -0
  149. package/lib/views/test/popin-correction.js +237 -0
  150. package/lib/views/test/popin-correction.js.map +1 -0
  151. package/lib/views/test/popin-end.js +105 -0
  152. package/lib/views/test/popin-end.js.map +1 -0
  153. package/lib/views/test/router.js +32 -0
  154. package/lib/views/test/router.js.map +1 -0
  155. package/lib/views/test/slide.js +363 -0
  156. package/lib/views/test/slide.js.map +1 -0
  157. package/package.json +4 -3
@@ -0,0 +1,8 @@
1
+ import path from 'path';
2
+ import test from 'ava';
3
+ import glob from 'glob';
4
+ import locales from '../../locales/en/player';
5
+ import localesUseMacro from '../../../../test/helpers/locales';
6
+ const files = glob.sync(path.join(__dirname, '../**/*.js')).filter(file => !file.includes('/test/'));
7
+ test('All locale keys should be used, and used properly', localesUseMacro, __dirname, files, locales);
8
+ //# sourceMappingURL=locales.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locales.js","names":["path","test","glob","locales","localesUseMacro","files","sync","join","__dirname","filter","file","includes"],"sources":["../../src/test/locales.js"],"sourcesContent":["import path from 'path';\nimport test from 'ava';\nimport glob from 'glob';\nimport locales from '../../locales/en/player';\nimport localesUseMacro from '../../../../test/helpers/locales';\n\nconst files = glob\n .sync(path.join(__dirname, '../**/*.js'))\n .filter(file => !file.includes('/test/'));\n\ntest(\n 'All locale keys should be used, and used properly',\n localesUseMacro,\n __dirname,\n files,\n locales\n);\n"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,MAAjB;AACA,OAAOC,IAAP,MAAiB,KAAjB;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,OAAOC,OAAP,MAAoB,yBAApB;AACA,OAAOC,eAAP,MAA4B,kCAA5B;AAEA,MAAMC,KAAK,GAAGH,IAAI,CACfI,IADW,CACNN,IAAI,CAACO,IAAL,CAAUC,SAAV,EAAqB,YAArB,CADM,EAEXC,MAFW,CAEJC,IAAI,IAAI,CAACA,IAAI,CAACC,QAAL,CAAc,QAAd,CAFL,CAAd;AAIAV,IAAI,CACF,mDADE,EAEFG,eAFE,EAGFI,SAHE,EAIFH,KAJE,EAKFF,OALE,CAAJ"}
@@ -0,0 +1,20 @@
1
+ import _isFunction from "lodash/fp/isFunction";
2
+ import test from 'ava';
3
+ import runApp from '../run-app';
4
+ test('it should run app', t => {
5
+ const options = {
6
+ progression: {
7
+ id: 'foo'
8
+ }
9
+ };
10
+ t.plan(3);
11
+ const store = {
12
+ dispatch: action => {
13
+ t.true(_isFunction(action));
14
+ return 'bar';
15
+ }
16
+ };
17
+ const app = runApp(options, store);
18
+ t.is(app, 'bar');
19
+ });
20
+ //# sourceMappingURL=run-app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-app.js","names":["test","runApp","t","options","progression","id","plan","store","dispatch","action","true","app","is"],"sources":["../../src/test/run-app.js"],"sourcesContent":["import test from 'ava';\nimport {isFunction} from 'lodash/fp';\nimport runApp from '../run-app';\n\ntest('it should run app', t => {\n const options = {\n progression: {\n id: 'foo'\n }\n };\n\n t.plan(3);\n const store = {\n dispatch: action => {\n t.true(isFunction(action));\n return 'bar';\n }\n };\n\n const app = runApp(options, store);\n t.is(app, 'bar');\n});\n"],"mappings":";AAAA,OAAOA,IAAP,MAAiB,KAAjB;AAEA,OAAOC,MAAP,MAAmB,YAAnB;AAEAD,IAAI,CAAC,mBAAD,EAAsBE,CAAC,IAAI;EAC7B,MAAMC,OAAO,GAAG;IACdC,WAAW,EAAE;MACXC,EAAE,EAAE;IADO;EADC,CAAhB;EAMAH,CAAC,CAACI,IAAF,CAAO,CAAP;EACA,MAAMC,KAAK,GAAG;IACZC,QAAQ,EAAEC,MAAM,IAAI;MAClBP,CAAC,CAACQ,IAAF,CAAO,YAAWD,MAAX,CAAP;MACA,OAAO,KAAP;IACD;EAJW,CAAd;EAOA,MAAME,GAAG,GAAGV,MAAM,CAACE,OAAD,EAAUI,KAAV,CAAlB;EACAL,CAAC,CAACU,EAAF,CAAKD,GAAL,EAAU,KAAV;AACD,CAjBG,CAAJ"}
@@ -0,0 +1,38 @@
1
+ import test from 'ava';
2
+ import { createStore } from 'redux';
3
+ import { createMiddlewares } from '../store';
4
+ const appOptions = {
5
+ services: {
6
+ error: () => {
7
+ throw new Error('error logger should not have been called');
8
+ }
9
+ }
10
+ };
11
+ test('should apply redux-thunk', async t => {
12
+ t.plan(5);
13
+ const store = createStore(state => {
14
+ t.pass();
15
+ return state;
16
+ }, 'state', createMiddlewares(appOptions));
17
+ await store.dispatch({
18
+ type: 1
19
+ });
20
+ return store.dispatch((dispatch, getState, options) => {
21
+ t.is(options, appOptions);
22
+ t.is(getState(), 'state');
23
+ return dispatch({
24
+ type: 2
25
+ });
26
+ });
27
+ });
28
+ test('should enable devtools', t => {
29
+ t.plan(1);
30
+ global.window = {
31
+ __REDUX_DEVTOOLS_EXTENSION__: () => {
32
+ t.pass();
33
+ return f => f;
34
+ }
35
+ };
36
+ createStore(state => state, 'state', createMiddlewares(appOptions));
37
+ });
38
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","names":["test","createStore","createMiddlewares","appOptions","services","error","Error","t","plan","store","state","pass","dispatch","type","getState","options","is","global","window","__REDUX_DEVTOOLS_EXTENSION__","f"],"sources":["../../src/test/store.js"],"sourcesContent":["import test from 'ava';\nimport {createStore} from 'redux';\nimport {createMiddlewares} from '../store';\n\nconst appOptions = {\n services: {\n error: () => {\n throw new Error('error logger should not have been called');\n }\n }\n};\n\ntest('should apply redux-thunk', async t => {\n t.plan(5);\n\n const store = createStore(\n state => {\n t.pass();\n return state;\n },\n 'state',\n createMiddlewares(appOptions)\n );\n\n await store.dispatch({type: 1});\n return store.dispatch((dispatch, getState, options) => {\n t.is(options, appOptions);\n t.is(getState(), 'state');\n return dispatch({\n type: 2\n });\n });\n});\n\ntest('should enable devtools', t => {\n t.plan(1);\n global.window = {\n __REDUX_DEVTOOLS_EXTENSION__: () => {\n t.pass();\n return f => f;\n }\n };\n\n createStore(state => state, 'state', createMiddlewares(appOptions));\n});\n"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,KAAjB;AACA,SAAQC,WAAR,QAA0B,OAA1B;AACA,SAAQC,iBAAR,QAAgC,UAAhC;AAEA,MAAMC,UAAU,GAAG;EACjBC,QAAQ,EAAE;IACRC,KAAK,EAAE,MAAM;MACX,MAAM,IAAIC,KAAJ,CAAU,0CAAV,CAAN;IACD;EAHO;AADO,CAAnB;AAQAN,IAAI,CAAC,0BAAD,EAA6B,MAAMO,CAAN,IAAW;EAC1CA,CAAC,CAACC,IAAF,CAAO,CAAP;EAEA,MAAMC,KAAK,GAAGR,WAAW,CACvBS,KAAK,IAAI;IACPH,CAAC,CAACI,IAAF;IACA,OAAOD,KAAP;EACD,CAJsB,EAKvB,OALuB,EAMvBR,iBAAiB,CAACC,UAAD,CANM,CAAzB;EASA,MAAMM,KAAK,CAACG,QAAN,CAAe;IAACC,IAAI,EAAE;EAAP,CAAf,CAAN;EACA,OAAOJ,KAAK,CAACG,QAAN,CAAe,CAACA,QAAD,EAAWE,QAAX,EAAqBC,OAArB,KAAiC;IACrDR,CAAC,CAACS,EAAF,CAAKD,OAAL,EAAcZ,UAAd;IACAI,CAAC,CAACS,EAAF,CAAKF,QAAQ,EAAb,EAAiB,OAAjB;IACA,OAAOF,QAAQ,CAAC;MACdC,IAAI,EAAE;IADQ,CAAD,CAAf;EAGD,CANM,CAAP;AAOD,CApBG,CAAJ;AAsBAb,IAAI,CAAC,wBAAD,EAA2BO,CAAC,IAAI;EAClCA,CAAC,CAACC,IAAF,CAAO,CAAP;EACAS,MAAM,CAACC,MAAP,GAAgB;IACdC,4BAA4B,EAAE,MAAM;MAClCZ,CAAC,CAACI,IAAF;MACA,OAAOS,CAAC,IAAIA,CAAZ;IACD;EAJa,CAAhB;EAOAnB,WAAW,CAACS,KAAK,IAAIA,KAAV,EAAiB,OAAjB,EAA0BR,iBAAiB,CAACC,UAAD,CAA3C,CAAX;AACD,CAVG,CAAJ"}
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import ReactDOM from 'react-dom/server';
3
+ import { mockTranslate } from '@coorpacademy/translate';
4
+ import { Provider } from '@coorpacademy/components';
5
+
6
+ const render = vNode => {
7
+ ReactDOM.renderToStaticMarkup(React.createElement(Provider, {
8
+ translate: mockTranslate
9
+ }, vNode));
10
+ };
11
+
12
+ export default render;
13
+ //# sourceMappingURL=render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.js","names":["React","ReactDOM","mockTranslate","Provider","render","vNode","renderToStaticMarkup","createElement","translate"],"sources":["../../../../src/views/test/helpers/render.js"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom/server';\nimport {mockTranslate} from '@coorpacademy/translate';\nimport {Provider} from '@coorpacademy/components';\n\nconst render = vNode => {\n ReactDOM.renderToStaticMarkup(React.createElement(Provider, {translate: mockTranslate}, vNode));\n};\n\nexport default render;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,QAAP,MAAqB,kBAArB;AACA,SAAQC,aAAR,QAA4B,yBAA5B;AACA,SAAQC,QAAR,QAAuB,0BAAvB;;AAEA,MAAMC,MAAM,GAAGC,KAAK,IAAI;EACtBJ,QAAQ,CAACK,oBAAT,CAA8BN,KAAK,CAACO,aAAN,CAAoBJ,QAApB,EAA8B;IAACK,SAAS,EAAEN;EAAZ,CAA9B,EAA0DG,KAA1D,CAA9B;AACD,CAFD;;AAIA,eAAeD,MAAf"}
@@ -0,0 +1,7 @@
1
+ import { createStateToVNode, views } from '../..';
2
+ import { selectMapStateToVNode } from '../../../map-state-to-props';
3
+
4
+ const stateToVNode = (options, store) => selectMapStateToVNode(options, store, views, createStateToVNode);
5
+
6
+ export default stateToVNode;
7
+ //# sourceMappingURL=state-to-vnode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-to-vnode.js","names":["createStateToVNode","views","selectMapStateToVNode","stateToVNode","options","store"],"sources":["../../../../src/views/test/helpers/state-to-vnode.js"],"sourcesContent":["import {createStateToVNode, views} from '../..';\nimport {selectMapStateToVNode} from '../../../map-state-to-props';\n\nconst stateToVNode = (options, store) =>\n selectMapStateToVNode(options, store, views, createStateToVNode);\n\nexport default stateToVNode;\n"],"mappings":"AAAA,SAAQA,kBAAR,EAA4BC,KAA5B,QAAwC,OAAxC;AACA,SAAQC,qBAAR,QAAoC,6BAApC;;AAEA,MAAMC,YAAY,GAAG,CAACC,OAAD,EAAUC,KAAV,KACnBH,qBAAqB,CAACE,OAAD,EAAUC,KAAV,EAAiBJ,KAAjB,EAAwBD,kBAAxB,CADvB;;AAGA,eAAeG,YAAf"}
@@ -0,0 +1,15 @@
1
+ import test from 'ava';
2
+ import testRendering from './helpers/render';
3
+ import stateToVNode from './helpers/state-to-vnode';
4
+ const mapStateToVNode = stateToVNode({}, {});
5
+ test('should display loading view', t => {
6
+ const vNode = mapStateToVNode({
7
+ ui: {
8
+ current: {
9
+ progressionId: null
10
+ }
11
+ }
12
+ });
13
+ t.notThrows(() => testRendering(vNode));
14
+ });
15
+ //# sourceMappingURL=loading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loading.js","names":["test","testRendering","stateToVNode","mapStateToVNode","t","vNode","ui","current","progressionId","notThrows"],"sources":["../../../src/views/test/loading.js"],"sourcesContent":["import test from 'ava';\nimport testRendering from './helpers/render';\nimport stateToVNode from './helpers/state-to-vnode';\n\nconst mapStateToVNode = stateToVNode({}, {});\n\ntest('should display loading view', t => {\n const vNode = mapStateToVNode({ui: {current: {progressionId: null}}});\n t.notThrows(() => testRendering(vNode));\n});\n"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,KAAjB;AACA,OAAOC,aAAP,MAA0B,kBAA1B;AACA,OAAOC,YAAP,MAAyB,0BAAzB;AAEA,MAAMC,eAAe,GAAGD,YAAY,CAAC,EAAD,EAAK,EAAL,CAApC;AAEAF,IAAI,CAAC,6BAAD,EAAgCI,CAAC,IAAI;EACvC,MAAMC,KAAK,GAAGF,eAAe,CAAC;IAACG,EAAE,EAAE;MAACC,OAAO,EAAE;QAACC,aAAa,EAAE;MAAhB;IAAV;EAAL,CAAD,CAA7B;EACAJ,CAAC,CAACK,SAAF,CAAY,MAAMR,aAAa,CAACI,KAAD,CAA/B;AACD,CAHG,CAAJ"}
@@ -0,0 +1,223 @@
1
+ import _omit from "lodash/fp/omit";
2
+ import _set from "lodash/fp/set";
3
+ import _isFunction from "lodash/fp/isFunction";
4
+ import _isArray from "lodash/fp/isArray";
5
+ import _identity from "lodash/fp/identity";
6
+ import _forEach from "lodash/fp/forEach";
7
+ import test from 'ava';
8
+ import { mockTranslate } from '@coorpacademy/translate';
9
+ import { UI_TOGGLE_ACCORDION, UI_VIDEO_RESUME, UI_VIDEO_PAUSE, UI_VIDEO_ENDED, selectResource } from '@coorpacademy/player-store';
10
+ import statePopinFailure from '../../map-state-to-props/test/fixtures/popin-correction/popin-failure';
11
+ import statePopinSuccess from '../../map-state-to-props/test/fixtures/popin-correction/popin-success';
12
+ import statePopinFailureMultipleAnswers from '../../map-state-to-props/test/fixtures/popin-correction/state-fail-multiple-answers';
13
+ import statePopinExtraLife from '../../map-state-to-props/test/fixtures/popin-correction/popin-extra-life';
14
+ import statePopinRevival from '../../map-state-to-props/test/fixtures/popin-correction/popin-revival';
15
+ import stateToVNode from './helpers/state-to-vnode';
16
+ import testRendering from './helpers/render';
17
+ const Vimeo = {
18
+ Player: () => true
19
+ };
20
+ const options = {
21
+ translate: mockTranslate,
22
+ Vimeo
23
+ };
24
+ const mapStateToVNode = stateToVNode(options, {
25
+ dispatch: _identity
26
+ });
27
+ test('should set properties for success popin', t => {
28
+ const vNode = mapStateToVNode(statePopinSuccess);
29
+ testRendering(vNode);
30
+ const {
31
+ props
32
+ } = vNode;
33
+ t.is(props.header.lives, 1);
34
+ t.false(props.header.failed);
35
+ t.is(props.header.title, '__Good job');
36
+ t.is(props.header.subtitle, '__Good answer');
37
+ t.is(props.question.answerPrefix, '__Correct answer');
38
+ t.is(props.question.answer, '2');
39
+ t.false(props.resources.open);
40
+ t.false(props.klf.open);
41
+ t.true(props.tips.open);
42
+ const resetHandler = props.header.cta.onClick;
43
+ t.true(_isFunction(resetHandler));
44
+ const actionReset = resetHandler();
45
+ t.true(_isFunction(actionReset));
46
+ const toggleAccordionHandler = props.onClick;
47
+ t.true(_isFunction(toggleAccordionHandler));
48
+ const actionToggleAccordion = toggleAccordionHandler(0);
49
+ t.deepEqual(actionToggleAccordion, {
50
+ type: UI_TOGGLE_ACCORDION,
51
+ payload: {
52
+ id: 0
53
+ }
54
+ });
55
+ });
56
+ test('should set properties to open resource tab if wrong answer and no resource viewed', t => {
57
+ const vNode = mapStateToVNode(statePopinFailure);
58
+ testRendering(vNode);
59
+ const {
60
+ props
61
+ } = vNode;
62
+ t.is(props.header.lives, 0);
63
+ t.true(props.header.failed);
64
+ t.is(props.header.title, '__Ouch');
65
+ t.is(props.header.subtitle, '__Wrong answer');
66
+ t.is(props.question.answer, 'Text');
67
+ t.true(props.resources.open);
68
+ t.false(props.klf.open);
69
+ t.false(props.tips.open);
70
+ const resources = props.resources.value;
71
+ t.true(_isArray(resources));
72
+ t.is(resources.length, 2);
73
+ t.true(resources[0].selected);
74
+ t.false(resources[1].selected);
75
+ });
76
+ test('should trigger actions for resources', t => {
77
+ const vNode = mapStateToVNode(statePopinFailure);
78
+ testRendering(vNode);
79
+ const {
80
+ props
81
+ } = vNode;
82
+ const resources = props.resources.value;
83
+
84
+ _forEach(resource => {
85
+ const {
86
+ onClick,
87
+ onPlay,
88
+ onPause,
89
+ onEnded,
90
+ onResume
91
+ } = resource;
92
+ const actionSelectResource = onClick();
93
+ const actionPlayVideo = onPlay();
94
+ const actionPauseVideo = onPause();
95
+ const actionResumeVideo = onResume();
96
+ const actionEndedVideo = onEnded();
97
+
98
+ const baseResource = _omit(['onClick', 'onPause', 'onPlay', 'onEnded', 'onResume', 'selected'], resource);
99
+
100
+ t.deepEqual(selectResource(resource._id), actionSelectResource);
101
+ t.true(_isFunction(actionPlayVideo));
102
+ t.deepEqual(baseResource, actionPauseVideo.resource);
103
+ t.is(actionPauseVideo.type, UI_VIDEO_PAUSE);
104
+ t.deepEqual(baseResource, actionEndedVideo.resource);
105
+ t.is(actionEndedVideo.type, UI_VIDEO_ENDED);
106
+ t.is(actionResumeVideo.type, UI_VIDEO_RESUME);
107
+ }, resources);
108
+ });
109
+ test('should set properties when selecting second resource', t => {
110
+ const vNode = mapStateToVNode(_set('ui.corrections.playResource', '590b862e2e967f64333ad4fc', statePopinFailure));
111
+ testRendering(vNode);
112
+ const {
113
+ props
114
+ } = vNode;
115
+ t.is(props.header.lives, 0);
116
+ t.true(props.header.failed);
117
+ t.is(props.header.title, '__Ouch');
118
+ t.is(props.header.subtitle, '__Wrong answer');
119
+ t.deepEqual(props.header.corrections, [{
120
+ answer: 'Toto',
121
+ isCorrect: false
122
+ }]);
123
+ t.is(props.question.answer, 'Text');
124
+ t.true(props.resources.open);
125
+ t.false(props.klf.open);
126
+ t.false(props.tips.open);
127
+ const resources = props.resources.value;
128
+ t.true(_isArray(resources));
129
+ t.is(resources.length, 2);
130
+ t.false(resources[0].selected);
131
+ t.true(resources[1].selected);
132
+ });
133
+ test('should display loading when correction is not still fetched', t => {
134
+ const statePopinLoading = _set('data.answers.entities.0.sli_Vy88~R-bX', null, statePopinSuccess);
135
+
136
+ const vNode = mapStateToVNode(statePopinLoading);
137
+ testRendering(vNode);
138
+ const {
139
+ props
140
+ } = vNode;
141
+ t.deepEqual(props.header, {
142
+ type: 'popinCorrection'
143
+ });
144
+ t.is(props.question.answer, '');
145
+ t.false(props.resources.open);
146
+ t.false(props.klf.open);
147
+ t.true(props.tips.open);
148
+ });
149
+ test("should display loading state when answer's result is not still received", t => {
150
+ const statePopinLoading = _set('data.progressions.entities.0.state.isCorrect', null, statePopinSuccess);
151
+
152
+ const vNode = mapStateToVNode(statePopinLoading);
153
+ testRendering(vNode);
154
+ const {
155
+ props
156
+ } = vNode;
157
+ t.deepEqual(props.header, {
158
+ type: 'popinCorrection'
159
+ });
160
+ t.is(props.question.answer, '2');
161
+ t.false(props.resources.open);
162
+ t.false(props.klf.open);
163
+ t.true(props.tips.open);
164
+ });
165
+ test('should display correction view when slide has not ressources', t => {
166
+ const statePopinWithoutRessources = _set(['data', 'contents', 'slide', 'entities', '1.B2.4', 'lessons'], [], statePopinFailure);
167
+
168
+ const vNode = mapStateToVNode(statePopinWithoutRessources);
169
+ testRendering(vNode);
170
+ const {
171
+ props
172
+ } = vNode;
173
+ t.true(props.resources.open);
174
+ t.false(props.klf.open);
175
+ t.false(props.tips.open);
176
+ const resources = props.resources.value;
177
+ t.true(_isArray(resources));
178
+ t.is(resources.length, 0);
179
+ });
180
+ test('should show correction on multiple answers for a slide', t => {
181
+ const vNode = mapStateToVNode(statePopinFailureMultipleAnswers);
182
+ testRendering(vNode);
183
+ const {
184
+ props
185
+ } = vNode;
186
+ t.is(props.header.lives, 0);
187
+ t.true(props.header.failed);
188
+ t.is(props.header.title, '__Ouch');
189
+ t.is(props.header.subtitle, '__Wrong answer');
190
+ t.is(props.question.answer, 'France, Suisse');
191
+ t.deepEqual(props.header.corrections, [{
192
+ answer: 'Suisse',
193
+ isCorrect: true
194
+ }, {
195
+ answer: 'Fiji',
196
+ isCorrect: false
197
+ }]);
198
+ t.true(props.resources.open);
199
+ t.false(props.klf.open);
200
+ t.false(props.tips.open);
201
+ });
202
+ test('should show correction for extra life state', t => {
203
+ const vNode = mapStateToVNode(statePopinExtraLife);
204
+ testRendering(vNode);
205
+ const {
206
+ props
207
+ } = vNode;
208
+ t.is(props.header.lives, 0);
209
+ t.true(props.header.failed);
210
+ t.is(props.gameOver, false);
211
+ t.is(props.quit.cta.title, '__Quit');
212
+ });
213
+ test('should show correction for revival state', t => {
214
+ const vNode = mapStateToVNode(statePopinRevival);
215
+ testRendering(vNode);
216
+ const {
217
+ props
218
+ } = vNode;
219
+ t.is(props.header.lives, 0);
220
+ t.true(props.header.failed);
221
+ t.is(props.header.cta.title, '__Next');
222
+ });
223
+ //# sourceMappingURL=popin-correction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popin-correction.js","names":["test","mockTranslate","UI_TOGGLE_ACCORDION","UI_VIDEO_RESUME","UI_VIDEO_PAUSE","UI_VIDEO_ENDED","selectResource","statePopinFailure","statePopinSuccess","statePopinFailureMultipleAnswers","statePopinExtraLife","statePopinRevival","stateToVNode","testRendering","Vimeo","Player","options","translate","mapStateToVNode","dispatch","t","vNode","props","is","header","lives","false","failed","title","subtitle","question","answerPrefix","answer","resources","open","klf","true","tips","resetHandler","cta","onClick","actionReset","toggleAccordionHandler","actionToggleAccordion","deepEqual","type","payload","id","value","length","selected","resource","onPlay","onPause","onEnded","onResume","actionSelectResource","actionPlayVideo","actionPauseVideo","actionResumeVideo","actionEndedVideo","baseResource","_id","corrections","isCorrect","statePopinLoading","statePopinWithoutRessources","gameOver","quit"],"sources":["../../../src/views/test/popin-correction.js"],"sourcesContent":["import test from 'ava';\nimport {forEach, identity, isArray, isFunction, set, omit} from 'lodash/fp';\n\nimport {mockTranslate} from '@coorpacademy/translate';\nimport {\n UI_TOGGLE_ACCORDION,\n UI_VIDEO_RESUME,\n UI_VIDEO_PAUSE,\n UI_VIDEO_ENDED,\n selectResource\n} from '@coorpacademy/player-store';\nimport statePopinFailure from '../../map-state-to-props/test/fixtures/popin-correction/popin-failure';\nimport statePopinSuccess from '../../map-state-to-props/test/fixtures/popin-correction/popin-success';\nimport statePopinFailureMultipleAnswers from '../../map-state-to-props/test/fixtures/popin-correction/state-fail-multiple-answers';\nimport statePopinExtraLife from '../../map-state-to-props/test/fixtures/popin-correction/popin-extra-life';\nimport statePopinRevival from '../../map-state-to-props/test/fixtures/popin-correction/popin-revival';\nimport stateToVNode from './helpers/state-to-vnode';\nimport testRendering from './helpers/render';\n\nconst Vimeo = {Player: () => true};\nconst options = {\n translate: mockTranslate,\n Vimeo\n};\n\nconst mapStateToVNode = stateToVNode(options, {dispatch: identity});\n\ntest('should set properties for success popin', t => {\n const vNode = mapStateToVNode(statePopinSuccess);\n testRendering(vNode);\n const {props} = vNode;\n\n t.is(props.header.lives, 1);\n t.false(props.header.failed);\n t.is(props.header.title, '__Good job');\n t.is(props.header.subtitle, '__Good answer');\n t.is(props.question.answerPrefix, '__Correct answer');\n t.is(props.question.answer, '2');\n t.false(props.resources.open);\n t.false(props.klf.open);\n t.true(props.tips.open);\n\n const resetHandler = props.header.cta.onClick;\n t.true(isFunction(resetHandler));\n const actionReset = resetHandler();\n t.true(isFunction(actionReset));\n\n const toggleAccordionHandler = props.onClick;\n t.true(isFunction(toggleAccordionHandler));\n const actionToggleAccordion = toggleAccordionHandler(0);\n t.deepEqual(actionToggleAccordion, {\n type: UI_TOGGLE_ACCORDION,\n payload: {id: 0}\n });\n});\n\ntest('should set properties to open resource tab if wrong answer and no resource viewed', t => {\n const vNode = mapStateToVNode(statePopinFailure);\n testRendering(vNode);\n const {props} = vNode;\n\n t.is(props.header.lives, 0);\n t.true(props.header.failed);\n t.is(props.header.title, '__Ouch');\n t.is(props.header.subtitle, '__Wrong answer');\n t.is(props.question.answer, 'Text');\n t.true(props.resources.open);\n t.false(props.klf.open);\n t.false(props.tips.open);\n\n const resources = props.resources.value;\n\n t.true(isArray(resources));\n t.is(resources.length, 2);\n t.true(resources[0].selected);\n t.false(resources[1].selected);\n});\n\ntest('should trigger actions for resources', t => {\n const vNode = mapStateToVNode(statePopinFailure);\n testRendering(vNode);\n const {props} = vNode;\n const resources = props.resources.value;\n\n forEach(resource => {\n const {onClick, onPlay, onPause, onEnded, onResume} = resource;\n const actionSelectResource = onClick();\n const actionPlayVideo = onPlay();\n const actionPauseVideo = onPause();\n const actionResumeVideo = onResume();\n const actionEndedVideo = onEnded();\n const baseResource = omit(\n ['onClick', 'onPause', 'onPlay', 'onEnded', 'onResume', 'selected'],\n resource\n );\n\n t.deepEqual(selectResource(resource._id), actionSelectResource);\n t.true(isFunction(actionPlayVideo));\n\n t.deepEqual(baseResource, actionPauseVideo.resource);\n t.is(actionPauseVideo.type, UI_VIDEO_PAUSE);\n\n t.deepEqual(baseResource, actionEndedVideo.resource);\n t.is(actionEndedVideo.type, UI_VIDEO_ENDED);\n\n t.is(actionResumeVideo.type, UI_VIDEO_RESUME);\n }, resources);\n});\n\ntest('should set properties when selecting second resource', t => {\n const vNode = mapStateToVNode(\n set('ui.corrections.playResource', '590b862e2e967f64333ad4fc', statePopinFailure)\n );\n testRendering(vNode);\n const {props} = vNode;\n\n t.is(props.header.lives, 0);\n t.true(props.header.failed);\n t.is(props.header.title, '__Ouch');\n t.is(props.header.subtitle, '__Wrong answer');\n t.deepEqual(props.header.corrections, [{answer: 'Toto', isCorrect: false}]);\n t.is(props.question.answer, 'Text');\n t.true(props.resources.open);\n t.false(props.klf.open);\n t.false(props.tips.open);\n\n const resources = props.resources.value;\n\n t.true(isArray(resources));\n t.is(resources.length, 2);\n t.false(resources[0].selected);\n t.true(resources[1].selected);\n});\n\ntest('should display loading when correction is not still fetched', t => {\n const statePopinLoading = set('data.answers.entities.0.sli_Vy88~R-bX', null, statePopinSuccess);\n\n const vNode = mapStateToVNode(statePopinLoading);\n testRendering(vNode);\n const {props} = vNode;\n\n t.deepEqual(props.header, {type: 'popinCorrection'});\n t.is(props.question.answer, '');\n t.false(props.resources.open);\n t.false(props.klf.open);\n t.true(props.tips.open);\n});\n\ntest(\"should display loading state when answer's result is not still received\", t => {\n const statePopinLoading = set(\n 'data.progressions.entities.0.state.isCorrect',\n null,\n statePopinSuccess\n );\n\n const vNode = mapStateToVNode(statePopinLoading);\n testRendering(vNode);\n const {props} = vNode;\n\n t.deepEqual(props.header, {type: 'popinCorrection'});\n t.is(props.question.answer, '2');\n t.false(props.resources.open);\n t.false(props.klf.open);\n t.true(props.tips.open);\n});\n\ntest('should display correction view when slide has not ressources', t => {\n const statePopinWithoutRessources = set(\n ['data', 'contents', 'slide', 'entities', '1.B2.4', 'lessons'],\n [],\n statePopinFailure\n );\n const vNode = mapStateToVNode(statePopinWithoutRessources);\n testRendering(vNode);\n const {props} = vNode;\n\n t.true(props.resources.open);\n t.false(props.klf.open);\n t.false(props.tips.open);\n\n const resources = props.resources.value;\n\n t.true(isArray(resources));\n t.is(resources.length, 0);\n});\n\ntest('should show correction on multiple answers for a slide', t => {\n const vNode = mapStateToVNode(statePopinFailureMultipleAnswers);\n testRendering(vNode);\n const {props} = vNode;\n\n t.is(props.header.lives, 0);\n t.true(props.header.failed);\n t.is(props.header.title, '__Ouch');\n t.is(props.header.subtitle, '__Wrong answer');\n t.is(props.question.answer, 'France, Suisse');\n t.deepEqual(props.header.corrections, [\n {answer: 'Suisse', isCorrect: true},\n {answer: 'Fiji', isCorrect: false}\n ]);\n t.true(props.resources.open);\n t.false(props.klf.open);\n t.false(props.tips.open);\n});\n\ntest('should show correction for extra life state', t => {\n const vNode = mapStateToVNode(statePopinExtraLife);\n testRendering(vNode);\n const {props} = vNode;\n\n t.is(props.header.lives, 0);\n t.true(props.header.failed);\n t.is(props.gameOver, false);\n t.is(props.quit.cta.title, '__Quit');\n});\n\ntest('should show correction for revival state', t => {\n const vNode = mapStateToVNode(statePopinRevival);\n testRendering(vNode);\n const {props} = vNode;\n\n t.is(props.header.lives, 0);\n t.true(props.header.failed);\n t.is(props.header.cta.title, '__Next');\n});\n"],"mappings":"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"}
@@ -0,0 +1,93 @@
1
+ import _identity from "lodash/fp/identity";
2
+ import _set from "lodash/fp/set";
3
+ import test from 'ava';
4
+ import { mockTranslate } from '@coorpacademy/translate';
5
+ import success from '../../map-state-to-props/test/fixtures/popin-end/success';
6
+ import fail from '../../map-state-to-props/test/fixtures/popin-end/fail';
7
+ import stateToVNode from './helpers/state-to-vnode';
8
+ import testRendering from './helpers/render';
9
+ const options = {
10
+ translate: mockTranslate
11
+ };
12
+ const toVNode = stateToVNode(options, {
13
+ dispatch: _identity
14
+ });
15
+ test('should set properties for success popin for microlearning', async t => {
16
+ const vNode = toVNode(success);
17
+ testRendering(vNode);
18
+ const {
19
+ props
20
+ } = vNode;
21
+ t.is(props.header.lives.count, 0);
22
+ t.is(props.summary.header.title, '');
23
+ t.is(props.summary.header.subtitle, '__Congratulations!');
24
+ t.is(props.summary.header.failed, false);
25
+ t.is(props.summary.header.stars, '+10');
26
+ t.is(props.summary.header.rank, '+10');
27
+ t.is(props.summary.recommendation.title, '__Related subjects');
28
+ t.is(props.summary.recommendation.cards.length, 3);
29
+ t.is(props.summary.action.type, 'nextCourse');
30
+ t.is(props.summary.action.title, 'Chapter 2');
31
+ t.is(props.summary.action.card.view, 'grid');
32
+ const card = props.summary.recommendation.cards[1];
33
+ t.is(card.view, 'grid');
34
+ t.is(props.summary.footer.title, '__Back to home');
35
+ const exitHandler = props.summary.footer.onClick;
36
+ await t.notThrows(exitHandler);
37
+ });
38
+ test("should display +0 when user don't get higher score than his best score", t => {
39
+ const vNode = toVNode(_set(['data', 'contents', 'chapter', 'entities', '1.B2', 'bestScore'], 20, success));
40
+ testRendering(vNode);
41
+ const {
42
+ props
43
+ } = vNode;
44
+ t.is(props.summary.header.stars, '+0');
45
+ });
46
+ test('should set properties for failure popin', async t => {
47
+ const vNode = toVNode(fail);
48
+ testRendering(vNode);
49
+ const {
50
+ props
51
+ } = vNode;
52
+ t.is(props.header.lives.count, 0);
53
+ t.is(props.summary.header.title, '__Ooops');
54
+ t.is(props.summary.header.subtitle, '__You are out of lives!');
55
+ t.is(props.summary.header.failed, true);
56
+ t.is(props.summary.header.stars, null);
57
+ t.is(props.summary.header.rank, null);
58
+ t.is(props.summary.action.title, 'Les réseaux sociaux au service du crowdfunding');
59
+ t.is(props.summary.recommendation.title, '__Related subjects');
60
+ t.is(props.summary.recommendation.cards.length, 3);
61
+ const card = props.summary.recommendation.cards[1];
62
+ t.is(card.view, 'grid');
63
+ t.is(props.summary.footer.title, '__Back to home');
64
+ const exitHandler = props.summary.footer.onClick;
65
+ await t.notThrows(exitHandler);
66
+ t.is(props.summary.header.cta.title, '__Retry chapter');
67
+ const headerRetryHandler = props.summary.header.cta.onClick;
68
+ await t.notThrows(headerRetryHandler);
69
+ t.is(props.summary.action.button.title, '__Retry chapter');
70
+ const retryHandler = props.summary.action.button.onClick;
71
+ await t.notThrows(retryHandler);
72
+ });
73
+ test('should set properties for failure popin when losing rank', async t => {
74
+ const vNode = toVNode(_set('data.rank.start', 90, fail));
75
+ testRendering(vNode);
76
+ const {
77
+ props
78
+ } = vNode;
79
+ t.is(props.header.lives.count, 0);
80
+ t.is(props.summary.header.title, '__Ooops');
81
+ t.is(props.summary.header.subtitle, '__You are out of lives!');
82
+ t.is(props.summary.header.failed, true);
83
+ t.is(props.summary.header.stars, null);
84
+ t.is(props.summary.header.rank, '-10');
85
+ t.is(props.summary.recommendation.title, '__Related subjects');
86
+ t.is(props.summary.recommendation.cards.length, 3);
87
+ const card = props.summary.recommendation.cards[1];
88
+ t.is(card.view, 'grid');
89
+ t.is(props.summary.footer.title, '__Back to home');
90
+ const exitHandler = props.summary.footer.onClick;
91
+ await t.notThrows(exitHandler);
92
+ });
93
+ //# sourceMappingURL=popin-end.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popin-end.js","names":["test","mockTranslate","success","fail","stateToVNode","testRendering","options","translate","toVNode","dispatch","t","vNode","props","is","header","lives","count","summary","title","subtitle","failed","stars","rank","recommendation","cards","length","action","type","card","view","footer","exitHandler","onClick","notThrows","cta","headerRetryHandler","button","retryHandler"],"sources":["../../../src/views/test/popin-end.js"],"sourcesContent":["import test from 'ava';\nimport {set, identity} from 'lodash/fp';\n\nimport {mockTranslate} from '@coorpacademy/translate';\nimport success from '../../map-state-to-props/test/fixtures/popin-end/success';\nimport fail from '../../map-state-to-props/test/fixtures/popin-end/fail';\nimport stateToVNode from './helpers/state-to-vnode';\nimport testRendering from './helpers/render';\n\nconst options = {\n translate: mockTranslate\n};\n\nconst toVNode = stateToVNode(options, {dispatch: identity});\n\ntest('should set properties for success popin for microlearning', async t => {\n const vNode = toVNode(success);\n testRendering(vNode);\n const {props} = vNode;\n\n t.is(props.header.lives.count, 0);\n t.is(props.summary.header.title, '');\n t.is(props.summary.header.subtitle, '__Congratulations!');\n t.is(props.summary.header.failed, false);\n t.is(props.summary.header.stars, '+10');\n t.is(props.summary.header.rank, '+10');\n\n t.is(props.summary.recommendation.title, '__Related subjects');\n t.is(props.summary.recommendation.cards.length, 3);\n\n t.is(props.summary.action.type, 'nextCourse');\n t.is(props.summary.action.title, 'Chapter 2');\n t.is(props.summary.action.card.view, 'grid');\n\n const card = props.summary.recommendation.cards[1];\n t.is(card.view, 'grid');\n\n t.is(props.summary.footer.title, '__Back to home');\n const exitHandler = props.summary.footer.onClick;\n await t.notThrows(exitHandler);\n});\n\ntest(\"should display +0 when user don't get higher score than his best score\", t => {\n const vNode = toVNode(\n set(['data', 'contents', 'chapter', 'entities', '1.B2', 'bestScore'], 20, success)\n );\n testRendering(vNode);\n const {props} = vNode;\n t.is(props.summary.header.stars, '+0');\n});\n\ntest('should set properties for failure popin', async t => {\n const vNode = toVNode(fail);\n testRendering(vNode);\n const {props} = vNode;\n\n t.is(props.header.lives.count, 0);\n t.is(props.summary.header.title, '__Ooops');\n t.is(props.summary.header.subtitle, '__You are out of lives!');\n t.is(props.summary.header.failed, true);\n t.is(props.summary.header.stars, null);\n t.is(props.summary.header.rank, null);\n\n t.is(props.summary.action.title, 'Les réseaux sociaux au service du crowdfunding');\n\n t.is(props.summary.recommendation.title, '__Related subjects');\n t.is(props.summary.recommendation.cards.length, 3);\n\n const card = props.summary.recommendation.cards[1];\n t.is(card.view, 'grid');\n\n t.is(props.summary.footer.title, '__Back to home');\n const exitHandler = props.summary.footer.onClick;\n await t.notThrows(exitHandler);\n\n t.is(props.summary.header.cta.title, '__Retry chapter');\n const headerRetryHandler = props.summary.header.cta.onClick;\n await t.notThrows(headerRetryHandler);\n\n t.is(props.summary.action.button.title, '__Retry chapter');\n const retryHandler = props.summary.action.button.onClick;\n await t.notThrows(retryHandler);\n});\n\ntest('should set properties for failure popin when losing rank', async t => {\n const vNode = toVNode(set('data.rank.start', 90, fail));\n testRendering(vNode);\n const {props} = vNode;\n\n t.is(props.header.lives.count, 0);\n t.is(props.summary.header.title, '__Ooops');\n t.is(props.summary.header.subtitle, '__You are out of lives!');\n t.is(props.summary.header.failed, true);\n t.is(props.summary.header.stars, null);\n t.is(props.summary.header.rank, '-10');\n\n t.is(props.summary.recommendation.title, '__Related subjects');\n t.is(props.summary.recommendation.cards.length, 3);\n\n const card = props.summary.recommendation.cards[1];\n t.is(card.view, 'grid');\n\n t.is(props.summary.footer.title, '__Back to home');\n const exitHandler = props.summary.footer.onClick;\n await t.notThrows(exitHandler);\n});\n"],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import _get from "lodash/fp/get";
2
+ import _identity from "lodash/fp/identity";
3
+ import test from 'ava';
4
+ import { mockTranslate } from '@coorpacademy/translate';
5
+ import { popinCorrectionStateToProps } from '../../map-state-to-props/popin-correction';
6
+ import statePopinExtraLife from '../../map-state-to-props/test/fixtures/popin-correction/popin-extra-life';
7
+ const Vimeo = {
8
+ Player: () => true
9
+ };
10
+ const options = {
11
+ translate: mockTranslate,
12
+ Vimeo
13
+ };
14
+ const mapStateToProps = popinCorrectionStateToProps(options, {
15
+ dispatch: _identity
16
+ });
17
+ test('should open popin-correction if current content ref is extraLife', t => {
18
+ const props = mapStateToProps(statePopinExtraLife);
19
+ t.is(_get('header.lives', props), 0);
20
+ t.is(_get('quit.cta.title', props), '__Quit');
21
+ });
22
+ //# sourceMappingURL=router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.js","names":["test","mockTranslate","popinCorrectionStateToProps","statePopinExtraLife","Vimeo","Player","options","translate","mapStateToProps","dispatch","t","props","is"],"sources":["../../../src/views/test/router.js"],"sourcesContent":["import test from 'ava';\nimport {mockTranslate} from '@coorpacademy/translate';\nimport {identity, get} from 'lodash/fp';\n\nimport {popinCorrectionStateToProps} from '../../map-state-to-props/popin-correction';\nimport statePopinExtraLife from '../../map-state-to-props/test/fixtures/popin-correction/popin-extra-life';\n\nconst Vimeo = {Player: () => true};\nconst options = {\n translate: mockTranslate,\n Vimeo\n};\n\nconst mapStateToProps = popinCorrectionStateToProps(options, {dispatch: identity});\n\ntest('should open popin-correction if current content ref is extraLife', t => {\n const props = mapStateToProps(statePopinExtraLife);\n\n t.is(get('header.lives', props), 0);\n t.is(get('quit.cta.title', props), '__Quit');\n});\n"],"mappings":";;AAAA,OAAOA,IAAP,MAAiB,KAAjB;AACA,SAAQC,aAAR,QAA4B,yBAA5B;AAGA,SAAQC,2BAAR,QAA0C,2CAA1C;AACA,OAAOC,mBAAP,MAAgC,0EAAhC;AAEA,MAAMC,KAAK,GAAG;EAACC,MAAM,EAAE,MAAM;AAAf,CAAd;AACA,MAAMC,OAAO,GAAG;EACdC,SAAS,EAAEN,aADG;EAEdG;AAFc,CAAhB;AAKA,MAAMI,eAAe,GAAGN,2BAA2B,CAACI,OAAD,EAAU;EAACG,QAAQ;AAAT,CAAV,CAAnD;AAEAT,IAAI,CAAC,kEAAD,EAAqEU,CAAC,IAAI;EAC5E,MAAMC,KAAK,GAAGH,eAAe,CAACL,mBAAD,CAA7B;EAEAO,CAAC,CAACE,EAAF,CAAK,KAAI,cAAJ,EAAoBD,KAApB,CAAL,EAAiC,CAAjC;EACAD,CAAC,CAACE,EAAF,CAAK,KAAI,gBAAJ,EAAsBD,KAAtB,CAAL,EAAmC,QAAnC;AACD,CALG,CAAJ"}