@coorpacademy/app-review 0.2.12 → 0.3.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.
Files changed (198) hide show
  1. package/es/actions/api/fetch-correction.js +1 -1
  2. package/es/actions/api/post-answer.d.ts +6 -0
  3. package/es/actions/api/post-answer.js +3 -1
  4. package/es/actions/ui/answers.d.ts +3 -0
  5. package/es/actions/ui/answers.js +3 -1
  6. package/es/reducers/index.d.ts +1 -1
  7. package/es/reducers/ui/answers.d.ts +4 -2
  8. package/es/reducers/ui/answers.js +6 -3
  9. package/es/reducers/ui/index.d.ts +4 -4
  10. package/es/reducers/ui/slide.d.ts +6 -4
  11. package/es/reducers/ui/slide.js +12 -4
  12. package/es/views/slides/index.js +4 -4
  13. package/lib/actions/api/fetch-correction.js +1 -1
  14. package/lib/actions/api/post-answer.d.ts +6 -0
  15. package/lib/actions/api/post-answer.js +4 -2
  16. package/lib/actions/ui/answers.d.ts +3 -0
  17. package/lib/actions/ui/answers.js +3 -1
  18. package/lib/reducers/index.d.ts +1 -1
  19. package/lib/reducers/ui/answers.d.ts +4 -2
  20. package/lib/reducers/ui/answers.js +6 -3
  21. package/lib/reducers/ui/index.d.ts +4 -4
  22. package/lib/reducers/ui/slide.d.ts +6 -4
  23. package/lib/reducers/ui/slide.js +12 -4
  24. package/lib/views/slides/index.js +4 -4
  25. package/package.json +2 -2
  26. package/src/actions/api/fetch-correction.ts +1 -1
  27. package/src/actions/api/post-answer.ts +5 -1
  28. package/src/actions/api/test/fetch-correction.test.ts +6 -2
  29. package/src/actions/api/test/fetch-rank.test.ts +2 -4
  30. package/src/actions/api/test/fetch-skills.test.ts +2 -4
  31. package/src/actions/api/test/fetch-slide.test.ts +2 -4
  32. package/src/actions/api/test/post-answer.test.ts +52 -13
  33. package/src/actions/api/test/post-progression.test.ts +2 -4
  34. package/src/actions/data/test/token.test.ts +2 -4
  35. package/src/actions/ui/answers.ts +4 -1
  36. package/src/actions/ui/test/answers.test.ts +38 -14
  37. package/src/actions/ui/test/next-slide.test.ts +8 -4
  38. package/src/actions/ui/test/slides.test.ts +2 -4
  39. package/src/reducers/data/test/progression.test.ts +1 -0
  40. package/src/reducers/ui/answers.ts +11 -5
  41. package/src/reducers/ui/index.ts +2 -2
  42. package/src/reducers/ui/slide.ts +30 -9
  43. package/src/reducers/ui/test/answers.test.ts +61 -13
  44. package/src/reducers/ui/test/slide.test.ts +36 -7
  45. package/src/views/skills/test/skills.test.ts +4 -8
  46. package/src/views/slides/index.ts +4 -4
  47. package/src/views/slides/test/index.test.ts +173 -28
  48. package/src/views/slides/test/slide.free-text.on-change.test.ts +7 -2
  49. package/src/views/slides/test/slide.qcm-drag.on-click.test.ts +7 -2
  50. package/src/views/slides/test/slide.qcm-graphic.on-click.test.ts +7 -2
  51. package/src/views/slides/test/slide.qcm.on-click.test.ts +7 -2
  52. package/src/views/slides/test/slide.slider.on-change.test.ts +7 -2
  53. package/src/views/slides/test/slide.slider.on-slider-change.test.ts +7 -2
  54. package/src/views/slides/test/slide.template.on-change.test.ts +12 -4
  55. package/es/actions/api/test/fetch-correction.test.d.ts +0 -1
  56. package/es/actions/api/test/fetch-correction.test.js +0 -91
  57. package/es/actions/api/test/fetch-rank.test.d.ts +0 -1
  58. package/es/actions/api/test/fetch-rank.test.js +0 -100
  59. package/es/actions/api/test/fetch-skills.test.d.ts +0 -1
  60. package/es/actions/api/test/fetch-skills.test.js +0 -61
  61. package/es/actions/api/test/fetch-slide.test.d.ts +0 -1
  62. package/es/actions/api/test/fetch-slide.test.js +0 -68
  63. package/es/actions/api/test/post-answer.test.d.ts +0 -1
  64. package/es/actions/api/test/post-answer.test.js +0 -172
  65. package/es/actions/api/test/post-progression.test.d.ts +0 -1
  66. package/es/actions/api/test/post-progression.test.js +0 -109
  67. package/es/actions/data/test/token.test.d.ts +0 -1
  68. package/es/actions/data/test/token.test.js +0 -27
  69. package/es/actions/ui/test/answers.test.d.ts +0 -1
  70. package/es/actions/ui/test/answers.test.js +0 -117
  71. package/es/actions/ui/test/next-slide.test.d.ts +0 -1
  72. package/es/actions/ui/test/next-slide.test.js +0 -63
  73. package/es/actions/ui/test/slides.test.d.ts +0 -1
  74. package/es/actions/ui/test/slides.test.js +0 -28
  75. package/es/reducers/data/test/corrections.test.d.ts +0 -1
  76. package/es/reducers/data/test/corrections.test.js +0 -27
  77. package/es/reducers/data/test/progression.test.d.ts +0 -1
  78. package/es/reducers/data/test/progression.test.js +0 -24
  79. package/es/reducers/data/test/rank.test.d.ts +0 -1
  80. package/es/reducers/data/test/rank.test.js +0 -59
  81. package/es/reducers/data/test/skills.test.d.ts +0 -1
  82. package/es/reducers/data/test/skills.test.js +0 -12
  83. package/es/reducers/data/test/slides.test.d.ts +0 -1
  84. package/es/reducers/data/test/slides.test.js +0 -21
  85. package/es/reducers/data/test/token.test.d.ts +0 -1
  86. package/es/reducers/data/test/token.test.js +0 -11
  87. package/es/reducers/ui/test/answers.test.d.ts +0 -1
  88. package/es/reducers/ui/test/answers.test.js +0 -31
  89. package/es/reducers/ui/test/current-slide-ref.test.d.ts +0 -1
  90. package/es/reducers/ui/test/current-slide-ref.test.js +0 -12
  91. package/es/reducers/ui/test/navigation.test.d.ts +0 -1
  92. package/es/reducers/ui/test/navigation.test.js +0 -15
  93. package/es/reducers/ui/test/slide.test.d.ts +0 -1
  94. package/es/reducers/ui/test/slide.test.js +0 -24
  95. package/es/services/test/fetch-correction.test.d.ts +0 -1
  96. package/es/services/test/fetch-correction.test.js +0 -39
  97. package/es/services/test/fetch-rank.test.d.ts +0 -1
  98. package/es/services/test/fetch-rank.test.js +0 -24
  99. package/es/services/test/fetch-skills.test.d.ts +0 -1
  100. package/es/services/test/fetch-skills.test.js +0 -29
  101. package/es/services/test/fetch-slide.test.d.ts +0 -1
  102. package/es/services/test/fetch-slide.test.js +0 -22
  103. package/es/services/test/post-answer.test.d.ts +0 -1
  104. package/es/services/test/post-answer.test.js +0 -88
  105. package/es/services/test/post-progression.test.d.ts +0 -1
  106. package/es/services/test/post-progression.test.js +0 -56
  107. package/es/views/skills/test/skills.test.d.ts +0 -1
  108. package/es/views/skills/test/skills.test.js +0 -98
  109. package/es/views/slides/test/index.test.d.ts +0 -1
  110. package/es/views/slides/test/index.test.js +0 -979
  111. package/es/views/slides/test/map-api-slide-to-ui.test.d.ts +0 -1
  112. package/es/views/slides/test/map-api-slide-to-ui.test.js +0 -36
  113. package/es/views/slides/test/slide.free-text.on-change.test.d.ts +0 -1
  114. package/es/views/slides/test/slide.free-text.on-change.test.js +0 -72
  115. package/es/views/slides/test/slide.qcm-drag.on-click.test.d.ts +0 -1
  116. package/es/views/slides/test/slide.qcm-drag.on-click.test.js +0 -72
  117. package/es/views/slides/test/slide.qcm-graphic.on-click.test.d.ts +0 -1
  118. package/es/views/slides/test/slide.qcm-graphic.on-click.test.js +0 -72
  119. package/es/views/slides/test/slide.qcm.on-click.test.d.ts +0 -1
  120. package/es/views/slides/test/slide.qcm.on-click.test.js +0 -74
  121. package/es/views/slides/test/slide.slider.on-change.test.d.ts +0 -1
  122. package/es/views/slides/test/slide.slider.on-change.test.js +0 -73
  123. package/es/views/slides/test/slide.slider.on-slider-change.test.d.ts +0 -1
  124. package/es/views/slides/test/slide.slider.on-slider-change.test.js +0 -63
  125. package/es/views/slides/test/slide.template.on-change.test.d.ts +0 -1
  126. package/es/views/slides/test/slide.template.on-change.test.js +0 -85
  127. package/lib/actions/api/test/fetch-correction.test.d.ts +0 -1
  128. package/lib/actions/api/test/fetch-correction.test.js +0 -151
  129. package/lib/actions/api/test/fetch-rank.test.d.ts +0 -1
  130. package/lib/actions/api/test/fetch-rank.test.js +0 -171
  131. package/lib/actions/api/test/fetch-skills.test.d.ts +0 -1
  132. package/lib/actions/api/test/fetch-skills.test.js +0 -120
  133. package/lib/actions/api/test/fetch-slide.test.d.ts +0 -1
  134. package/lib/actions/api/test/fetch-slide.test.js +0 -127
  135. package/lib/actions/api/test/post-answer.test.d.ts +0 -1
  136. package/lib/actions/api/test/post-answer.test.js +0 -254
  137. package/lib/actions/api/test/post-progression.test.d.ts +0 -1
  138. package/lib/actions/api/test/post-progression.test.js +0 -167
  139. package/lib/actions/data/test/token.test.d.ts +0 -1
  140. package/lib/actions/data/test/token.test.js +0 -72
  141. package/lib/actions/ui/test/answers.test.d.ts +0 -1
  142. package/lib/actions/ui/test/answers.test.js +0 -233
  143. package/lib/actions/ui/test/next-slide.test.d.ts +0 -1
  144. package/lib/actions/ui/test/next-slide.test.js +0 -64
  145. package/lib/actions/ui/test/slides.test.d.ts +0 -1
  146. package/lib/actions/ui/test/slides.test.js +0 -73
  147. package/lib/reducers/data/test/corrections.test.d.ts +0 -1
  148. package/lib/reducers/data/test/corrections.test.js +0 -28
  149. package/lib/reducers/data/test/progression.test.d.ts +0 -1
  150. package/lib/reducers/data/test/progression.test.js +0 -24
  151. package/lib/reducers/data/test/rank.test.d.ts +0 -1
  152. package/lib/reducers/data/test/rank.test.js +0 -59
  153. package/lib/reducers/data/test/skills.test.d.ts +0 -1
  154. package/lib/reducers/data/test/skills.test.js +0 -12
  155. package/lib/reducers/data/test/slides.test.d.ts +0 -1
  156. package/lib/reducers/data/test/slides.test.js +0 -22
  157. package/lib/reducers/data/test/token.test.d.ts +0 -1
  158. package/lib/reducers/data/test/token.test.js +0 -11
  159. package/lib/reducers/ui/test/answers.test.d.ts +0 -1
  160. package/lib/reducers/ui/test/answers.test.js +0 -31
  161. package/lib/reducers/ui/test/current-slide-ref.test.d.ts +0 -1
  162. package/lib/reducers/ui/test/current-slide-ref.test.js +0 -12
  163. package/lib/reducers/ui/test/navigation.test.d.ts +0 -1
  164. package/lib/reducers/ui/test/navigation.test.js +0 -15
  165. package/lib/reducers/ui/test/slide.test.d.ts +0 -1
  166. package/lib/reducers/ui/test/slide.test.js +0 -24
  167. package/lib/services/test/fetch-correction.test.d.ts +0 -1
  168. package/lib/services/test/fetch-correction.test.js +0 -95
  169. package/lib/services/test/fetch-rank.test.d.ts +0 -1
  170. package/lib/services/test/fetch-rank.test.js +0 -78
  171. package/lib/services/test/fetch-skills.test.d.ts +0 -1
  172. package/lib/services/test/fetch-skills.test.js +0 -83
  173. package/lib/services/test/fetch-slide.test.d.ts +0 -1
  174. package/lib/services/test/fetch-slide.test.js +0 -76
  175. package/lib/services/test/post-answer.test.d.ts +0 -1
  176. package/lib/services/test/post-answer.test.js +0 -142
  177. package/lib/services/test/post-progression.test.d.ts +0 -1
  178. package/lib/services/test/post-progression.test.js +0 -110
  179. package/lib/views/skills/test/skills.test.d.ts +0 -1
  180. package/lib/views/skills/test/skills.test.js +0 -98
  181. package/lib/views/slides/test/index.test.d.ts +0 -1
  182. package/lib/views/slides/test/index.test.js +0 -990
  183. package/lib/views/slides/test/map-api-slide-to-ui.test.d.ts +0 -1
  184. package/lib/views/slides/test/map-api-slide-to-ui.test.js +0 -47
  185. package/lib/views/slides/test/slide.free-text.on-change.test.d.ts +0 -1
  186. package/lib/views/slides/test/slide.free-text.on-change.test.js +0 -74
  187. package/lib/views/slides/test/slide.qcm-drag.on-click.test.d.ts +0 -1
  188. package/lib/views/slides/test/slide.qcm-drag.on-click.test.js +0 -74
  189. package/lib/views/slides/test/slide.qcm-graphic.on-click.test.d.ts +0 -1
  190. package/lib/views/slides/test/slide.qcm-graphic.on-click.test.js +0 -74
  191. package/lib/views/slides/test/slide.qcm.on-click.test.d.ts +0 -1
  192. package/lib/views/slides/test/slide.qcm.on-click.test.js +0 -76
  193. package/lib/views/slides/test/slide.slider.on-change.test.d.ts +0 -1
  194. package/lib/views/slides/test/slide.slider.on-change.test.js +0 -75
  195. package/lib/views/slides/test/slide.slider.on-slider-change.test.d.ts +0 -1
  196. package/lib/views/slides/test/slide.slider.on-slider-change.test.js +0 -65
  197. package/lib/views/slides/test/slide.template.on-change.test.d.ts +0 -1
  198. package/lib/views/slides/test/slide.template.on-change.test.js +0 -88
@@ -63,9 +63,13 @@ test('should create initial props when fetched slide is not still received', t =
63
63
  ui: {
64
64
  currentSlideRef: '',
65
65
  navigation: ['loader', 'slides'],
66
- answers: [],
66
+ answers: {},
67
67
  slide: {
68
- validateButton: false
68
+ sli_N1XACJobn: {
69
+ validateButton: false,
70
+ animateCorrectionPopin: false,
71
+ showCorrectionPopin: false
72
+ }
69
73
  }
70
74
  }
71
75
  };
@@ -154,9 +158,13 @@ test('should create props when first slide is on the state', t => {
154
158
  ui: {
155
159
  currentSlideRef: 'sli_VJYjJnJhg',
156
160
  navigation: ['loader', 'slides'],
157
- answers: [],
161
+ answers: {},
158
162
  slide: {
159
- validateButton: false
163
+ sli_VJYjJnJhg: {
164
+ validateButton: false,
165
+ animateCorrectionPopin: false,
166
+ showCorrectionPopin: false
167
+ }
160
168
  }
161
169
  }
162
170
  };
@@ -259,9 +267,13 @@ test('should create props when slide is on the state and user has selected answe
259
267
  ui: {
260
268
  currentSlideRef: 'sli_VJYjJnJhg',
261
269
  navigation: ['loader', 'slides'],
262
- answers: ['My value'],
270
+ answers: {sli_VJYjJnJhg: ['My value']},
263
271
  slide: {
264
- validateButton: true
272
+ sli_VJYjJnJhg: {
273
+ validateButton: true,
274
+ animateCorrectionPopin: false,
275
+ showCorrectionPopin: false
276
+ }
265
277
  }
266
278
  }
267
279
  };
@@ -365,9 +377,18 @@ test('should verify props when first slide was answered correctly and next slide
365
377
  ui: {
366
378
  currentSlideRef: 'sli_VJYjJnJhg',
367
379
  navigation: ['loader', 'slides'],
368
- answers: ['My value'],
380
+ answers: {sli_VJYjJnJhg: ['My value']},
369
381
  slide: {
370
- validateButton: false
382
+ sli_VJYjJnJhg: {
383
+ validateButton: false,
384
+ animateCorrectionPopin: false,
385
+ showCorrectionPopin: false
386
+ },
387
+ sli_VkSQroQnx: {
388
+ validateButton: false,
389
+ animateCorrectionPopin: false,
390
+ showCorrectionPopin: false
391
+ }
371
392
  }
372
393
  }
373
394
  };
@@ -475,9 +496,18 @@ test('should verify props when first slide was answered with error and next slid
475
496
  ui: {
476
497
  currentSlideRef: 'sli_VJYjJnJhg',
477
498
  navigation: ['loader', 'slides'],
478
- answers: ['My value'],
499
+ answers: {sli_VJYjJnJhg: ['My value']},
479
500
  slide: {
480
- validateButton: false
501
+ sli_VJYjJnJhg: {
502
+ validateButton: false,
503
+ animateCorrectionPopin: false,
504
+ showCorrectionPopin: false
505
+ },
506
+ sli_VkSQroQnx: {
507
+ validateButton: false,
508
+ animateCorrectionPopin: false,
509
+ showCorrectionPopin: false
510
+ }
481
511
  }
482
512
  }
483
513
  };
@@ -520,7 +550,7 @@ test('should verify props when first slide was answered with error and next slid
520
550
  });
521
551
 
522
552
  test('should verify props when first slide was answered, next slide is fetched & correction is fetched', t => {
523
- // Scenario: after POST_ANSWER_SUCCESS and SLIDE_FETCH_SUCCESS for the nextContent.ref slide
553
+ // Scenario: after POST_ANSWER_SUCCESS and SLIDE_FETCH_SUCCESS for the nextContent.ref slide and CORRECTION_FETCH_SUCCESS
524
554
  const state: StoreState = {
525
555
  data: {
526
556
  progression: postAnswerResponses.sli_VJYjJnJhg,
@@ -538,11 +568,18 @@ test('should verify props when first slide was answered, next slide is fetched &
538
568
  ui: {
539
569
  currentSlideRef: 'sli_VJYjJnJhg',
540
570
  navigation: ['loader', 'slides'],
541
- answers: ['My value'],
571
+ answers: {sli_VJYjJnJhg: ['My value']},
542
572
  slide: {
543
- validateButton: false,
544
- animateCorrectionPopin: true,
545
- showCorrectionPopin: true
573
+ sli_VJYjJnJhg: {
574
+ validateButton: false,
575
+ animateCorrectionPopin: true,
576
+ showCorrectionPopin: true
577
+ },
578
+ sli_VkSQroQnx: {
579
+ validateButton: false,
580
+ animateCorrectionPopin: false,
581
+ showCorrectionPopin: false
582
+ }
546
583
  }
547
584
  }
548
585
  };
@@ -634,7 +671,7 @@ test('should verify props when first slide was answered, next slide is fetched &
634
671
  });
635
672
 
636
673
  test('should verify props when first slide was answered incorrectly, next slide is fetched & correction is fetched', t => {
637
- // Scenario: after POST_ANSWER_SUCCESS and SLIDE_FETCH_SUCCESS for the nextContent.ref slide
674
+ // Scenario: after POST_ANSWER_SUCCESS and SLIDE_FETCH_SUCCESS for the nextContent.ref slide and CORRECTION_FETCH_SUCCESS
638
675
  const state: StoreState = {
639
676
  data: {
640
677
  progression: incorrectFreeTextPostAnswerResponse,
@@ -652,11 +689,18 @@ test('should verify props when first slide was answered incorrectly, next slide
652
689
  ui: {
653
690
  currentSlideRef: 'sli_VJYjJnJhg',
654
691
  navigation: ['loader', 'slides'],
655
- answers: ['My value'],
692
+ answers: {sli_VJYjJnJhg: ['My value']},
656
693
  slide: {
657
- validateButton: false,
658
- animateCorrectionPopin: true,
659
- showCorrectionPopin: true
694
+ sli_VJYjJnJhg: {
695
+ validateButton: false,
696
+ animateCorrectionPopin: true,
697
+ showCorrectionPopin: true
698
+ },
699
+ sli_VkSQroQnx: {
700
+ validateButton: false,
701
+ animateCorrectionPopin: false,
702
+ showCorrectionPopin: false
703
+ }
660
704
  }
661
705
  }
662
706
  };
@@ -766,9 +810,20 @@ test('should verify props when currentSlideRef has changed to nextContent of pro
766
810
  ui: {
767
811
  currentSlideRef: 'sli_VkSQroQnx',
768
812
  navigation: ['loader', 'slides'],
769
- answers: [],
813
+ answers: {
814
+ sli_VJYjJnJhg: ['Benchmark']
815
+ },
770
816
  slide: {
771
- validateButton: false
817
+ sli_VJYjJnJhg: {
818
+ validateButton: false,
819
+ animateCorrectionPopin: false,
820
+ showCorrectionPopin: true
821
+ },
822
+ sli_VkSQroQnx: {
823
+ validateButton: false,
824
+ animateCorrectionPopin: false,
825
+ showCorrectionPopin: false
826
+ }
772
827
  }
773
828
  }
774
829
  };
@@ -838,9 +893,39 @@ test('should verify props when progression is in success', t => {
838
893
  ui: {
839
894
  currentSlideRef: templateSlide.universalRef,
840
895
  navigation: ['loader', 'slides'],
841
- answers: [],
896
+ answers: {
897
+ sli_VJYjJnJhg: ['Benchmark'],
898
+ sli_VkSQroQnx: ['Faux'],
899
+ sli_N1XACJobn: ['Le créateur peut fixer un pourcentage pour chaque transaction future'],
900
+ sli_VkAzsCLKb: ['7'],
901
+ 'sli_N13-hG3kX': ['Leaderboard', 'utilisateurs', 'étoiles']
902
+ },
842
903
  slide: {
843
- validateButton: false
904
+ sli_VJYjJnJhg: {
905
+ validateButton: false,
906
+ animateCorrectionPopin: false,
907
+ showCorrectionPopin: false
908
+ },
909
+ sli_VkSQroQnx: {
910
+ validateButton: false,
911
+ animateCorrectionPopin: false,
912
+ showCorrectionPopin: false
913
+ },
914
+ sli_N1XACJobn: {
915
+ validateButton: false,
916
+ animateCorrectionPopin: false,
917
+ showCorrectionPopin: false
918
+ },
919
+ sli_VkAzsCLKb: {
920
+ validateButton: false,
921
+ animateCorrectionPopin: false,
922
+ showCorrectionPopin: false
923
+ },
924
+ 'sli_N13-hG3kX': {
925
+ validateButton: false,
926
+ animateCorrectionPopin: true,
927
+ showCorrectionPopin: true
928
+ }
844
929
  }
845
930
  }
846
931
  };
@@ -910,9 +995,39 @@ test('should verify props when progression has answered a current pendingSlide',
910
995
  ui: {
911
996
  currentSlideRef: freeTextSlide.universalRef,
912
997
  navigation: ['loader', 'slides'],
913
- answers: [],
998
+ answers: {
999
+ sli_VJYjJnJhg: ['Benchmark'],
1000
+ sli_VkSQroQnx: ['Vrai'],
1001
+ sli_N1XACJobn: ['Le créateur peut fixer un pourcentage pour chaque transaction future'],
1002
+ sli_VkAzsCLKb: ['7'],
1003
+ 'sli_N13-hG3kX': ['Leaderboard', 'utilisateurs', 'étoiles']
1004
+ },
914
1005
  slide: {
915
- validateButton: false
1006
+ sli_VJYjJnJhg: {
1007
+ validateButton: false,
1008
+ animateCorrectionPopin: true,
1009
+ showCorrectionPopin: true
1010
+ },
1011
+ sli_VkSQroQnx: {
1012
+ validateButton: false,
1013
+ animateCorrectionPopin: false,
1014
+ showCorrectionPopin: false
1015
+ },
1016
+ sli_N1XACJobn: {
1017
+ validateButton: false,
1018
+ animateCorrectionPopin: false,
1019
+ showCorrectionPopin: false
1020
+ },
1021
+ sli_VkAzsCLKb: {
1022
+ validateButton: false,
1023
+ animateCorrectionPopin: false,
1024
+ showCorrectionPopin: false
1025
+ },
1026
+ 'sli_N13-hG3kX': {
1027
+ validateButton: false,
1028
+ animateCorrectionPopin: false,
1029
+ showCorrectionPopin: false
1030
+ }
916
1031
  }
917
1032
  }
918
1033
  };
@@ -979,9 +1094,39 @@ test('should verify props when progression still has a pendingSlide', t => {
979
1094
  ui: {
980
1095
  currentSlideRef: qcmSlide.universalRef,
981
1096
  navigation: ['loader', 'slides'],
982
- answers: [],
1097
+ answers: {
1098
+ sli_VJYjJnJhg: ['Benchmark'],
1099
+ sli_VkSQroQnx: ['Vrai'],
1100
+ sli_N1XACJobn: ['Le créateur peut fixer un pourcentage pour chaque transaction future'],
1101
+ sli_VkAzsCLKb: ['7'],
1102
+ 'sli_N13-hG3kX': ['Leaderboard', 'utilisateurs', 'étoiles']
1103
+ },
983
1104
  slide: {
984
- validateButton: false
1105
+ sli_VJYjJnJhg: {
1106
+ validateButton: false,
1107
+ animateCorrectionPopin: false,
1108
+ showCorrectionPopin: false
1109
+ },
1110
+ sli_VkSQroQnx: {
1111
+ validateButton: false,
1112
+ animateCorrectionPopin: false,
1113
+ showCorrectionPopin: false
1114
+ },
1115
+ sli_N1XACJobn: {
1116
+ validateButton: false,
1117
+ animateCorrectionPopin: false,
1118
+ showCorrectionPopin: false
1119
+ },
1120
+ sli_VkAzsCLKb: {
1121
+ validateButton: false,
1122
+ animateCorrectionPopin: false,
1123
+ showCorrectionPopin: false
1124
+ },
1125
+ 'sli_N13-hG3kX': {
1126
+ validateButton: false,
1127
+ animateCorrectionPopin: false,
1128
+ showCorrectionPopin: false
1129
+ }
985
1130
  }
986
1131
  }
987
1132
  };
@@ -46,9 +46,13 @@ const initialState: StoreState = {
46
46
  ui: {
47
47
  currentSlideRef: freeTextSlide._id,
48
48
  navigation: ['skills', 'slides'],
49
- answers: [],
49
+ answers: {},
50
50
  slide: {
51
- validateButton: false
51
+ [freeTextSlide._id]: {
52
+ validateButton: false,
53
+ animateCorrectionPopin: false,
54
+ showCorrectionPopin: false
55
+ }
52
56
  }
53
57
  }
54
58
  };
@@ -59,6 +63,7 @@ test('should dispatch EDIT_BASIC action via the property onChange of a Free Text
59
63
  const expectedActions = [
60
64
  {
61
65
  type: EDIT_BASIC,
66
+ meta: {slideRef: freeTextSlide._id},
62
67
  payload: ['My Answer']
63
68
  }
64
69
  ];
@@ -46,9 +46,13 @@ const initialState: StoreState = {
46
46
  ui: {
47
47
  currentSlideRef: qcmDragSlide._id,
48
48
  navigation: ['skills', 'slides'],
49
- answers: [],
49
+ answers: {},
50
50
  slide: {
51
- validateButton: false
51
+ [qcmDragSlide._id]: {
52
+ validateButton: false,
53
+ animateCorrectionPopin: false,
54
+ showCorrectionPopin: false
55
+ }
52
56
  }
53
57
  }
54
58
  };
@@ -59,6 +63,7 @@ test('should dispatch EDIT_QCM_DRAG action via the property onClick of a QCM Dra
59
63
  const expectedActions = [
60
64
  {
61
65
  type: EDIT_QCM_DRAG,
66
+ meta: {slideRef: qcmDragSlide._id},
62
67
  payload: ['La démoralisation']
63
68
  }
64
69
  ];
@@ -46,9 +46,13 @@ const initialState: StoreState = {
46
46
  ui: {
47
47
  currentSlideRef: qcmGraphicSlide._id,
48
48
  navigation: ['skills', 'slides'],
49
- answers: [],
49
+ answers: {},
50
50
  slide: {
51
- validateButton: false
51
+ [qcmGraphicSlide._id]: {
52
+ validateButton: false,
53
+ animateCorrectionPopin: false,
54
+ showCorrectionPopin: false
55
+ }
52
56
  }
53
57
  }
54
58
  };
@@ -59,6 +63,7 @@ test('should dispatch EDIT_QCM_GRAPHIC action via the property onClick of a QCM
59
63
  const expectedActions = [
60
64
  {
61
65
  type: EDIT_QCM_GRAPHIC,
66
+ meta: {slideRef: qcmGraphicSlide._id},
62
67
  payload: ['Le retour d’information']
63
68
  }
64
69
  ];
@@ -46,9 +46,13 @@ const initialState: StoreState = {
46
46
  ui: {
47
47
  currentSlideRef: qcmSlide._id,
48
48
  navigation: ['skills', 'slides'],
49
- answers: [],
49
+ answers: {},
50
50
  slide: {
51
- validateButton: false
51
+ [qcmSlide._id]: {
52
+ validateButton: false,
53
+ animateCorrectionPopin: false,
54
+ showCorrectionPopin: false
55
+ }
52
56
  }
53
57
  }
54
58
  };
@@ -59,6 +63,7 @@ test('should dispatch EDIT_QCM action via the property onClick of a QCM slide',
59
63
  const expectedActions = [
60
64
  {
61
65
  type: EDIT_QCM,
66
+ meta: {slideRef: qcmSlide._id},
62
67
  payload: [
63
68
  "Pour chaque transaction il existe un pourcentage fixe déterminé par le droit d'auteur du pays où se tient la vente"
64
69
  ]
@@ -46,9 +46,13 @@ const initialState: StoreState = {
46
46
  ui: {
47
47
  currentSlideRef: sliderSlide._id,
48
48
  navigation: ['skills', 'slides'],
49
- answers: [],
49
+ answers: {},
50
50
  slide: {
51
- validateButton: false
51
+ [sliderSlide._id]: {
52
+ validateButton: false,
53
+ animateCorrectionPopin: false,
54
+ showCorrectionPopin: false
55
+ }
52
56
  }
53
57
  }
54
58
  };
@@ -59,6 +63,7 @@ test('should dispatch EDIT_SLIDER action via the property onChange of a Slider s
59
63
  const expectedActions = [
60
64
  {
61
65
  type: EDIT_SLIDER,
66
+ meta: {slideRef: sliderSlide._id},
62
67
  payload: ['5']
63
68
  }
64
69
  ];
@@ -45,9 +45,13 @@ const initialState: StoreState = {
45
45
  ui: {
46
46
  currentSlideRef: sliderSlide._id,
47
47
  navigation: ['skills', 'slides'],
48
- answers: [],
48
+ answers: {},
49
49
  slide: {
50
- validateButton: false
50
+ [sliderSlide._id]: {
51
+ validateButton: false,
52
+ animateCorrectionPopin: false,
53
+ showCorrectionPopin: false
54
+ }
51
55
  }
52
56
  }
53
57
  };
@@ -58,6 +62,7 @@ test('should dispatch EDIT_SLIDER action via the property onSliderChange of a Sl
58
62
  const expectedActions = [
59
63
  {
60
64
  type: EDIT_SLIDER,
65
+ meta: {slideRef: sliderSlide._id},
61
66
  payload: ['111']
62
67
  }
63
68
  ];
@@ -46,9 +46,13 @@ const initialState: StoreState = {
46
46
  ui: {
47
47
  currentSlideRef: templateSlide._id,
48
48
  navigation: ['skills', 'slides'],
49
- answers: [],
49
+ answers: {},
50
50
  slide: {
51
- validateButton: false
51
+ [templateSlide._id]: {
52
+ validateButton: false,
53
+ animateCorrectionPopin: false,
54
+ showCorrectionPopin: false
55
+ }
52
56
  }
53
57
  }
54
58
  };
@@ -56,7 +60,9 @@ const initialState: StoreState = {
56
60
  test('should dispatch EDIT_TEMPLATE action via the property onChange of a Template Text slide', t => {
57
61
  t.plan(2);
58
62
 
59
- const expectedActions = [{type: EDIT_TEMPLATE, payload: ['', 'test', '']}];
63
+ const expectedActions = [
64
+ {type: EDIT_TEMPLATE, meta: {slideRef: templateSlide._id}, payload: ['', 'test', '']}
65
+ ];
60
66
  const {dispatch, getState} = createTestStore(t, initialState, services, expectedActions);
61
67
 
62
68
  const props = mapStateToSlidesProps(getState(), dispatch);
@@ -78,7 +84,9 @@ test('should dispatch EDIT_TEMPLATE action via the property onChange of a Templa
78
84
  test('should dispatch EDIT_TEMPLATE action via the property onChange of a Template Select slide', t => {
79
85
  t.plan(2);
80
86
 
81
- const expectedActions = [{type: EDIT_TEMPLATE, payload: ['Catalogue', '', '']}];
87
+ const expectedActions = [
88
+ {type: EDIT_TEMPLATE, meta: {slideRef: templateSlide._id}, payload: ['Catalogue', '', '']}
89
+ ];
82
90
  const {dispatch, getState} = createTestStore(t, initialState, services, expectedActions);
83
91
 
84
92
  const props = mapStateToSlidesProps(getState(), dispatch);
@@ -1 +0,0 @@
1
- export {};
@@ -1,91 +0,0 @@
1
- import test from 'ava';
2
- import { getChoicesCorrection, postAnswerResponses, services as mockedServices } from '../../../test/util/services.mock';
3
- import { createTestStore } from '../../test/create-test-store';
4
- import { CORRECTION_FETCH_FAILURE, CORRECTION_FETCH_REQUEST, CORRECTION_FETCH_SUCCESS, fetchCorrection } from '../fetch-correction';
5
- import { freeTextSlide } from '../../../views/slides/test/fixtures/free-text';
6
- import { qcmSlide } from '../../../views/slides/test/fixtures/qcm';
7
- const progression = postAnswerResponses[freeTextSlide.universalRef];
8
- const skillRef = '_skill-ref';
9
- const answer = ['Lister vos tâches pour vous libérer l’esprit', 'Vous isoler dans un lieu calme'];
10
- const initialState = {
11
- data: {
12
- progression,
13
- slides: {
14
- [freeTextSlide.universalRef]: freeTextSlide,
15
- [qcmSlide.universalRef]: qcmSlide
16
- },
17
- skills: [{ skillRef, custom: false, name: skillRef, slidesToReview: 5 }],
18
- token: '1234',
19
- corrections: {},
20
- rank: {}
21
- },
22
- ui: {
23
- currentSlideRef: freeTextSlide._id,
24
- navigation: ['skills', 'slides'],
25
- answers: answer,
26
- slide: {
27
- validateButton: false
28
- }
29
- }
30
- };
31
- test('should dispatch CORRECTION_FETCH_SUCCESS actions when fetchCorrection returns a correction object', async (t) => {
32
- t.plan(6);
33
- const services = {
34
- ...mockedServices,
35
- fetchCorrection: (slideRef, token, progressionId, _answer) => {
36
- t.is(slideRef, freeTextSlide.universalRef);
37
- t.is(token, '1234');
38
- t.is(progression._id, progressionId);
39
- t.is(_answer, answer);
40
- return Promise.resolve(getChoicesCorrection(slideRef));
41
- }
42
- };
43
- const expectedActions = [
44
- {
45
- type: CORRECTION_FETCH_REQUEST,
46
- meta: {
47
- slideRef: freeTextSlide.universalRef
48
- }
49
- },
50
- {
51
- type: CORRECTION_FETCH_SUCCESS,
52
- payload: getChoicesCorrection(freeTextSlide.universalRef),
53
- meta: {
54
- slideRef: freeTextSlide.universalRef
55
- }
56
- }
57
- ];
58
- const { dispatch } = createTestStore(t, initialState, services, expectedActions);
59
- await dispatch(fetchCorrection);
60
- });
61
- test('should dispatch CORRECTION_FETCH_FAILURE action when fetchCorrection fails', async (t) => {
62
- t.plan(6);
63
- const services = {
64
- ...mockedServices,
65
- fetchCorrection: (slideRef, token, progressionId, _answer) => {
66
- t.is(slideRef, freeTextSlide.universalRef);
67
- t.is(token, '1234');
68
- t.is(progression._id, progressionId);
69
- t.is(_answer, answer);
70
- return Promise.reject(new Error('unexpected'));
71
- }
72
- };
73
- const expectedActions = [
74
- {
75
- type: CORRECTION_FETCH_REQUEST,
76
- meta: {
77
- slideRef: freeTextSlide.universalRef
78
- }
79
- },
80
- {
81
- type: CORRECTION_FETCH_FAILURE,
82
- meta: {
83
- slideRef: freeTextSlide.universalRef
84
- },
85
- payload: new Error('unexpected'),
86
- error: true
87
- }
88
- ];
89
- const { dispatch } = createTestStore(t, initialState, services, expectedActions);
90
- await dispatch(fetchCorrection);
91
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,100 +0,0 @@
1
- import test from 'ava';
2
- import { fetchStartRank, fetchEndRank, RANK_FETCH_START_REQUEST, RANK_FETCH_START_SUCCESS, RANK_FETCH_START_FAILURE, RANK_FETCH_END_REQUEST, RANK_FETCH_END_SUCCESS, RANK_FETCH_END_FAILURE } from '../fetch-rank';
3
- import { services as mockedServices } from '../../../test/util/services.mock';
4
- import { createTestStore } from '../../test/create-test-store';
5
- const initialState = {
6
- data: {
7
- progression: null,
8
- slides: {},
9
- skills: [],
10
- token: '1234',
11
- corrections: {},
12
- rank: {}
13
- },
14
- ui: {
15
- currentSlideRef: '',
16
- navigation: [],
17
- answers: [],
18
- slide: {
19
- validateButton: false
20
- }
21
- }
22
- };
23
- test('should dispatch FETCH_START_SUCCESS action when fetchStartRank returns the start rank', async (t) => {
24
- t.plan(3);
25
- const services = {
26
- ...mockedServices,
27
- fetchRank: token => {
28
- t.is(token, '1234');
29
- return Promise.resolve({ rank: 93 });
30
- }
31
- };
32
- const expectedActions = [
33
- { type: RANK_FETCH_START_REQUEST },
34
- {
35
- type: RANK_FETCH_START_SUCCESS,
36
- payload: { rank: 93 }
37
- }
38
- ];
39
- const { dispatch } = createTestStore(t, initialState, services, expectedActions);
40
- await dispatch(fetchStartRank);
41
- });
42
- test('should dispatch FETCH_START_FAILURE action when fetchStartRank fails', async (t) => {
43
- t.plan(3);
44
- const services = {
45
- ...mockedServices,
46
- fetchRank: token => {
47
- t.is(token, '1234');
48
- return Promise.reject(new Error('unexpected'));
49
- }
50
- };
51
- const expectedActions = [
52
- { type: RANK_FETCH_START_REQUEST },
53
- {
54
- type: RANK_FETCH_START_FAILURE,
55
- payload: new Error('unexpected'),
56
- error: true
57
- }
58
- ];
59
- const { dispatch } = createTestStore(t, initialState, services, expectedActions);
60
- await dispatch(fetchStartRank);
61
- });
62
- test('should dispatch FETCH_END_SUCCESS action when fetchEndRank returns the end rank', async (t) => {
63
- t.plan(3);
64
- const services = {
65
- ...mockedServices,
66
- fetchRank: token => {
67
- t.is(token, '1234');
68
- return Promise.resolve({ rank: 93 });
69
- }
70
- };
71
- const expectedActions = [
72
- { type: RANK_FETCH_END_REQUEST },
73
- {
74
- type: RANK_FETCH_END_SUCCESS,
75
- payload: { rank: 93 }
76
- }
77
- ];
78
- const { dispatch } = createTestStore(t, initialState, services, expectedActions);
79
- await dispatch(fetchEndRank);
80
- });
81
- test('should dispatch FETCH_END_FAILURE action when fetchEndRank fails', async (t) => {
82
- t.plan(3);
83
- const services = {
84
- ...mockedServices,
85
- fetchRank: token => {
86
- t.is(token, '1234');
87
- return Promise.reject(new Error('unexpected'));
88
- }
89
- };
90
- const expectedActions = [
91
- { type: RANK_FETCH_END_REQUEST },
92
- {
93
- type: RANK_FETCH_END_FAILURE,
94
- payload: new Error('unexpected'),
95
- error: true
96
- }
97
- ];
98
- const { dispatch } = createTestStore(t, initialState, services, expectedActions);
99
- await dispatch(fetchEndRank);
100
- });
@@ -1 +0,0 @@
1
- export {};