@legalplace/wizardx-core 2.6.4 → 2.7.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 (346) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/dist/App.js +13 -4
  3. package/dist/PluginLoader.d.ts +3 -1
  4. package/dist/PluginLoader.js +12 -0
  5. package/dist/ThemeLoader.d.ts +2 -2
  6. package/dist/componentsConnectors/connectBox.d.ts +3 -1
  7. package/dist/componentsConnectors/connectDocument.d.ts +3 -1
  8. package/dist/componentsConnectors/connectHeader.d.ts +3 -1
  9. package/dist/componentsConnectors/connectMetaTitle.d.ts +3 -1
  10. package/dist/componentsConnectors/connectOption.d.ts +6 -2
  11. package/dist/componentsConnectors/connectOption.js +1 -1
  12. package/dist/componentsConnectors/connectPagination.d.ts +3 -1
  13. package/dist/componentsConnectors/connectPreview.d.ts +3 -1
  14. package/dist/componentsConnectors/connectProgress.d.ts +3 -1
  15. package/dist/componentsConnectors/connectRootOption.d.ts +3 -1
  16. package/dist/componentsConnectors/connectSection.d.ts +3 -1
  17. package/dist/componentsConnectors/connectSection.js +7 -10
  18. package/dist/componentsConnectors/connectSummary.d.ts +3 -1
  19. package/dist/componentsConnectors/connectSummaryItem.d.ts +3 -1
  20. package/dist/componentsConnectors/connectVariable.d.ts +6 -2
  21. package/dist/componentsConnectors/connectVariable.js +1 -1
  22. package/dist/componentsConnectors/connectWizardWrapper.d.ts +3 -1
  23. package/dist/componentsConnectors/connector/componentConnector.d.ts +5 -1
  24. package/dist/componentsConnectors/connector/componentConnector.js +44 -4
  25. package/dist/componentsConnectors/connector/index.d.ts +1 -0
  26. package/dist/componentsConnectors/connector/index.js +1 -0
  27. package/dist/componentsConnectors/index.d.ts +17 -0
  28. package/dist/componentsConnectors/index.js +17 -0
  29. package/dist/componentsConnectors/library.d.ts +43 -15
  30. package/dist/helpers/apiEndpoint.d.ts +1 -0
  31. package/dist/helpers/apiEndpoint.js +4 -0
  32. package/dist/helpers/index.d.ts +4 -0
  33. package/dist/helpers/index.js +4 -0
  34. package/dist/helpers/propsEqualityCheck.d.ts +1 -0
  35. package/dist/helpers/propsEqualityCheck.js +9 -0
  36. package/dist/hooks/index.d.ts +4 -0
  37. package/dist/hooks/index.js +4 -0
  38. package/dist/hooks/useActions.d.ts +2 -0
  39. package/dist/hooks/useActions.js +4 -0
  40. package/dist/hooks/useDispatch.d.ts +1 -0
  41. package/dist/hooks/useDispatch.js +4 -0
  42. package/dist/hooks/useSelectors.d.ts +2 -0
  43. package/dist/hooks/useSelectors.js +4 -0
  44. package/dist/index.d.ts +13 -0
  45. package/dist/index.js +13 -0
  46. package/dist/libs/PathReader.d.ts +10 -6
  47. package/dist/libs/PathReader.js +47 -28
  48. package/dist/libs/index.d.ts +5 -0
  49. package/dist/libs/index.js +5 -0
  50. package/dist/redux/actions/index.d.ts +9 -0
  51. package/dist/redux/actions/index.js +9 -0
  52. package/dist/redux/actions/library.d.ts +59 -63
  53. package/dist/redux/actions/sagas/index.d.ts +3 -0
  54. package/dist/redux/actions/sagas/index.js +3 -0
  55. package/dist/redux/actions/sagas/model.d.ts +1 -5
  56. package/dist/redux/constants/app.d.ts +2 -0
  57. package/dist/redux/constants/app.js +2 -0
  58. package/dist/redux/constants/index.d.ts +8 -0
  59. package/dist/redux/constants/index.js +8 -0
  60. package/dist/redux/constants/sagas/index.d.ts +3 -0
  61. package/dist/redux/constants/sagas/index.js +3 -0
  62. package/dist/redux/index.d.ts +5 -0
  63. package/dist/redux/index.js +5 -0
  64. package/dist/redux/middlewares/conditionsWatcherMiddleware.js +11 -5
  65. package/dist/redux/middlewares/conditionsWatcherMiddleware.test.js +120 -113
  66. package/dist/redux/middlewares/paginationWatcherMiddleware.js +2 -2
  67. package/dist/redux/middlewares/smartscriptMiddleware.js +8 -0
  68. package/dist/redux/reducers/pluginsStore.d.ts +3 -0
  69. package/dist/redux/reducers/pluginsStore.js +12 -0
  70. package/dist/redux/routerHistory.js +2 -2
  71. package/dist/redux/sagas/fetchModel.js +22 -6
  72. package/dist/redux/sagas/initInputs.js +6 -7
  73. package/dist/redux/sagas/saveData.js +2 -0
  74. package/dist/redux/selectors/app.js +13 -18
  75. package/dist/redux/selectors/cache.d.ts +17 -0
  76. package/dist/redux/selectors/cache.js +35 -0
  77. package/dist/redux/selectors/conditions.js +7 -7
  78. package/dist/redux/selectors/index.d.ts +8 -0
  79. package/dist/redux/selectors/index.js +8 -0
  80. package/dist/redux/selectors/inputs.js +3 -3
  81. package/dist/redux/selectors/library.d.ts +2 -2
  82. package/dist/redux/selectors/references.js +26 -26
  83. package/dist/redux/selectors/selectors.d.ts +2 -2
  84. package/dist/redux/selectors/selectors.js +19 -8
  85. package/dist/redux/selectors/selectors.test.js +6 -6
  86. package/dist/redux/selectors/user.js +5 -5
  87. package/dist/redux/store.d.ts +1 -1
  88. package/dist/redux/store.js +12 -4
  89. package/dist/service/api.manager.d.ts +1 -6
  90. package/dist/service/index.d.ts +3 -0
  91. package/dist/service/index.js +3 -0
  92. package/dist/types/PluginConfig.type.d.ts +57 -0
  93. package/dist/types/PluginConfig.type.js +1 -0
  94. package/dist/types/State.type.d.ts +6 -0
  95. package/dist/types/config.type.d.ts +3 -1
  96. package/dist/types/index.d.ts +11 -0
  97. package/dist/types/index.js +11 -0
  98. package/package.json +11 -11
  99. package/.depcheckrc +0 -1
  100. package/.eslintignore +0 -2
  101. package/.eslintrc +0 -5
  102. package/__mocks__/fileMock.js +0 -1
  103. package/babel.config.json +0 -3
  104. package/jest.config.ts +0 -193
  105. package/setupJest.ts +0 -8
  106. package/src/App.test.tsx +0 -41
  107. package/src/App.tsx +0 -152
  108. package/src/Globals.ts +0 -69
  109. package/src/Loader.tsx +0 -8
  110. package/src/PluginLoader.test.tsx +0 -70
  111. package/src/PluginLoader.tsx +0 -407
  112. package/src/Shimmer.tsx +0 -108
  113. package/src/ThemeLoader.test.tsx +0 -82
  114. package/src/ThemeLoader.tsx +0 -95
  115. package/src/components/PluginRoute.tsx +0 -48
  116. package/src/components/SmartScript.tsx +0 -166
  117. package/src/components/UserLocked/UserLockedComponent.tsx +0 -33
  118. package/src/components/View.test.tsx +0 -110
  119. package/src/components/View.tsx +0 -114
  120. package/src/componentsConnectors/connectBox.test.tsx +0 -226
  121. package/src/componentsConnectors/connectBox.tsx +0 -70
  122. package/src/componentsConnectors/connectDocument.test.tsx +0 -108
  123. package/src/componentsConnectors/connectDocument.tsx +0 -64
  124. package/src/componentsConnectors/connectHeader.tsx +0 -21
  125. package/src/componentsConnectors/connectMetaTitle.test.tsx +0 -40
  126. package/src/componentsConnectors/connectMetaTitle.tsx +0 -8
  127. package/src/componentsConnectors/connectOption.tsx +0 -222
  128. package/src/componentsConnectors/connectPagination.tsx +0 -102
  129. package/src/componentsConnectors/connectPreview.tsx +0 -5
  130. package/src/componentsConnectors/connectProgress.tsx +0 -59
  131. package/src/componentsConnectors/connectRootOption.tsx +0 -95
  132. package/src/componentsConnectors/connectSection.tsx +0 -79
  133. package/src/componentsConnectors/connectSummary.tsx +0 -21
  134. package/src/componentsConnectors/connectSummaryItem.tsx +0 -102
  135. package/src/componentsConnectors/connectTermsheet.tsx +0 -359
  136. package/src/componentsConnectors/connectVariable.tsx +0 -191
  137. package/src/componentsConnectors/connectWizardWrapper.tsx +0 -30
  138. package/src/componentsConnectors/connector/componentConnector.tsx +0 -219
  139. package/src/componentsConnectors/library.ts +0 -35
  140. package/src/config.test.ts +0 -63
  141. package/src/config.ts +0 -11
  142. package/src/constants/emailValidation.ts +0 -2
  143. package/src/constants/phoneValidation.ts +0 -4
  144. package/src/definitions/path.join.d.ts +0 -4
  145. package/src/helpers/outputsParsing.ts +0 -412
  146. package/src/helpers/preloadTheme.ts +0 -17
  147. package/src/helpers/scriptsLoader.ts +0 -20
  148. package/src/hooks/usePrevious.ts +0 -9
  149. package/src/libs/ConditionsInitiator.ts +0 -164
  150. package/src/libs/ConditionsRunner/DataPopulator.ts +0 -266
  151. package/src/libs/ConditionsRunner.ts +0 -454
  152. package/src/libs/DocumentsOutputs.ts +0 -171
  153. package/src/libs/Eval/EvalBase.ts +0 -116
  154. package/src/libs/Eval/EvalFunctions.ts +0 -724
  155. package/src/libs/Eval/NumbersToLetters.ts +0 -185
  156. package/src/libs/EvalVariable.ts +0 -265
  157. package/src/libs/EventsTracking.ts +0 -250
  158. package/src/libs/InputsInitiator.ts +0 -136
  159. package/src/libs/NumAuto.test.ts +0 -55
  160. package/src/libs/NumAuto.ts +0 -56
  161. package/src/libs/OvcConverter.ts +0 -285
  162. package/src/libs/PathReader.ts +0 -272
  163. package/src/libs/SectionValidity.test.ts +0 -146
  164. package/src/libs/SectionValidity.ts +0 -110
  165. package/src/libs/SmartScriptStore.ts +0 -492
  166. package/src/misc/test_model.ts +0 -14603
  167. package/src/misc/test_models/connectDocumen.testmodel.json +0 -178
  168. package/src/misc/test_models/setDefaults.testmodel.json +0 -279
  169. package/src/misc/test_models/testmodel.json +0 -1
  170. package/src/polyfills/index.ts +0 -5
  171. package/src/polyfills/objectValues.ts +0 -4
  172. package/src/polyfills/prepend.ts +0 -31
  173. package/src/polyfills/stringRepeat.ts +0 -44
  174. package/src/redux/actions/app.test.ts +0 -123
  175. package/src/redux/actions/app.ts +0 -249
  176. package/src/redux/actions/conditions.test.ts +0 -84
  177. package/src/redux/actions/conditions.ts +0 -135
  178. package/src/redux/actions/inputs.test.ts +0 -85
  179. package/src/redux/actions/inputs.ts +0 -111
  180. package/src/redux/actions/library.ts +0 -23
  181. package/src/redux/actions/mandatories.ts +0 -98
  182. package/src/redux/actions/references.test.ts +0 -48
  183. package/src/redux/actions/references.ts +0 -37
  184. package/src/redux/actions/sagas/data.test.ts +0 -11
  185. package/src/redux/actions/sagas/data.ts +0 -18
  186. package/src/redux/actions/sagas/model.test.ts +0 -14
  187. package/src/redux/actions/sagas/model.ts +0 -48
  188. package/src/redux/actions/sagas/user.ts +0 -25
  189. package/src/redux/actions/smartscript.ts +0 -55
  190. package/src/redux/actions/user.test.ts +0 -18
  191. package/src/redux/actions/user.ts +0 -41
  192. package/src/redux/constants/app.ts +0 -36
  193. package/src/redux/constants/conditions.ts +0 -25
  194. package/src/redux/constants/inputs.ts +0 -15
  195. package/src/redux/constants/mandatories.ts +0 -11
  196. package/src/redux/constants/references.ts +0 -7
  197. package/src/redux/constants/sagas/data.ts +0 -1
  198. package/src/redux/constants/sagas/model.ts +0 -2
  199. package/src/redux/constants/sagas/user.ts +0 -2
  200. package/src/redux/constants/smartscript.ts +0 -9
  201. package/src/redux/constants/user.ts +0 -6
  202. package/src/redux/listeners/subscriber.test.ts +0 -45
  203. package/src/redux/listeners/subscriber.ts +0 -29
  204. package/src/redux/middlewares/conditionsWatcherMiddleware.test.ts +0 -370
  205. package/src/redux/middlewares/conditionsWatcherMiddleware.ts +0 -321
  206. package/src/redux/middlewares/evaluationsWatcherMiddleware.test.ts +0 -323
  207. package/src/redux/middlewares/evaluationsWatcherMiddleware.ts +0 -250
  208. package/src/redux/middlewares/mandatoriesWatcherMiddleware.ts +0 -473
  209. package/src/redux/middlewares/multiplesActionsMiddleware.test.ts +0 -230
  210. package/src/redux/middlewares/multiplesActionsMiddleware.ts +0 -121
  211. package/src/redux/middlewares/paginationWatcherMiddleware.ts +0 -251
  212. package/src/redux/middlewares/pluginsHookMiddleware.ts +0 -24
  213. package/src/redux/middlewares/prefillerWatcherMiddleware.test.ts +0 -118
  214. package/src/redux/middlewares/prefillerWatcherMiddleware.ts +0 -462
  215. package/src/redux/middlewares/smartscriptMiddleware.ts +0 -228
  216. package/src/redux/middlewares/thirdpartyScriptsMiddleware.ts +0 -41
  217. package/src/redux/reducers/app/customizations/initCustomizationAutoDefault.ts +0 -16
  218. package/src/redux/reducers/app/customizations/initCustomizationMeta.ts +0 -16
  219. package/src/redux/reducers/app/instance/initInstance.ts +0 -29
  220. package/src/redux/reducers/app/instance/setDataStatus.ts +0 -16
  221. package/src/redux/reducers/app/instance/updateInstance.ts +0 -30
  222. package/src/redux/reducers/app/instance/updateInstancePaid.ts +0 -20
  223. package/src/redux/reducers/app/instance.test.ts +0 -106
  224. package/src/redux/reducers/app/meta/fetchModelFailed.ts +0 -11
  225. package/src/redux/reducers/app/meta/fetchModelNonBlocking.ts +0 -11
  226. package/src/redux/reducers/app/meta/fetchModelSucceeded.ts +0 -11
  227. package/src/redux/reducers/app/meta/fetchModelUnhealthy.ts +0 -18
  228. package/src/redux/reducers/app/meta/fetchModelUserLocked.ts +0 -11
  229. package/src/redux/reducers/app/meta/initMeta.ts +0 -22
  230. package/src/redux/reducers/app/meta/setModelUuid.ts +0 -17
  231. package/src/redux/reducers/app/meta.test.ts +0 -90
  232. package/src/redux/reducers/app/pagination/goNextPage.ts +0 -69
  233. package/src/redux/reducers/app/pagination/goPage.ts +0 -81
  234. package/src/redux/reducers/app/pagination/goPreviousPage.ts +0 -60
  235. package/src/redux/reducers/app/pagination/initPagination.ts +0 -46
  236. package/src/redux/reducers/app/pagination/updateAvailableAppStates.ts +0 -77
  237. package/src/redux/reducers/app/pagination.test.ts +0 -363
  238. package/src/redux/reducers/app/wizard/updateAvailableSections.ts +0 -40
  239. package/src/redux/reducers/app/wizard.test.ts +0 -84
  240. package/src/redux/reducers/app.test.ts +0 -336
  241. package/src/redux/reducers/app.ts +0 -150
  242. package/src/redux/reducers/conditions/addMultipleOccurency.test.ts +0 -131
  243. package/src/redux/reducers/conditions/addMultipleOccurency.ts +0 -155
  244. package/src/redux/reducers/conditions/deleteMultipleOccurency.test.ts +0 -95
  245. package/src/redux/reducers/conditions/deleteMultipleOccurency.ts +0 -141
  246. package/src/redux/reducers/conditions/initConditions.ts +0 -18
  247. package/src/redux/reducers/conditions/updateDocumentConditions.test.ts +0 -47
  248. package/src/redux/reducers/conditions/updateDocumentConditions.ts +0 -21
  249. package/src/redux/reducers/conditions/updateOptionConditions.ts +0 -24
  250. package/src/redux/reducers/conditions/updateOptionValidatorCondition.test.ts +0 -50
  251. package/src/redux/reducers/conditions/updateOptionValidatorCondition.ts +0 -28
  252. package/src/redux/reducers/conditions/updatePrefillerConditions.ts +0 -29
  253. package/src/redux/reducers/conditions/updateSectionConditions.ts +0 -28
  254. package/src/redux/reducers/conditions/updateVariableConditions.ts +0 -25
  255. package/src/redux/reducers/conditions/updateVariableValidatorCondition.test.ts +0 -50
  256. package/src/redux/reducers/conditions/updateVariableValidatorCondition.ts +0 -28
  257. package/src/redux/reducers/conditions.test.ts +0 -241
  258. package/src/redux/reducers/conditions.ts +0 -68
  259. package/src/redux/reducers/inputs/addMultipleOccurency.test.ts +0 -117
  260. package/src/redux/reducers/inputs/addMultipleOccurency.ts +0 -50
  261. package/src/redux/reducers/inputs/deleteMultipleOccurency.test.ts +0 -70
  262. package/src/redux/reducers/inputs/deleteMultipleOccurency.ts +0 -50
  263. package/src/redux/reducers/inputs/initOption.ts +0 -16
  264. package/src/redux/reducers/inputs/initVariable.ts +0 -16
  265. package/src/redux/reducers/inputs/updateOptionInput.ts +0 -24
  266. package/src/redux/reducers/inputs/updateVariableInput.ts +0 -24
  267. package/src/redux/reducers/inputs.test.ts +0 -221
  268. package/src/redux/reducers/inputs.ts +0 -51
  269. package/src/redux/reducers/mandatories/addMultipleOccurency.ts +0 -52
  270. package/src/redux/reducers/mandatories/deleteMultipleOccurency.ts +0 -55
  271. package/src/redux/reducers/mandatories/initMandatoryOption.ts +0 -17
  272. package/src/redux/reducers/mandatories/initMandatoryVariable.ts +0 -17
  273. package/src/redux/reducers/mandatories/setMandatoryIgnore.ts +0 -17
  274. package/src/redux/reducers/mandatories/setMandatoryOption.ts +0 -25
  275. package/src/redux/reducers/mandatories/setMandatorySection.ts +0 -20
  276. package/src/redux/reducers/mandatories/setMandatoryVariable.ts +0 -24
  277. package/src/redux/reducers/mandatories.ts +0 -56
  278. package/src/redux/reducers/references/initReferences.ts +0 -37
  279. package/src/redux/reducers/references/updateOptionMeta.ts +0 -73
  280. package/src/redux/reducers/references/updateVariableMeta.ts +0 -72
  281. package/src/redux/reducers/references.ts +0 -59
  282. package/src/redux/reducers/smartscript/enableSmartScript.ts +0 -13
  283. package/src/redux/reducers/smartscript/initSmartScriptTriggers.ts +0 -14
  284. package/src/redux/reducers/smartscript/updateSmartscriptOptionHidden.ts +0 -30
  285. package/src/redux/reducers/smartscript/updateSmartscriptVariableHidden.ts +0 -30
  286. package/src/redux/reducers/smartscript.ts +0 -47
  287. package/src/redux/reducers/user/initUser.ts +0 -15
  288. package/src/redux/reducers/user/setUserStatus.ts +0 -13
  289. package/src/redux/reducers/user/setUserValidToken.ts +0 -13
  290. package/src/redux/reducers/user.test.ts +0 -51
  291. package/src/redux/reducers/user.ts +0 -40
  292. package/src/redux/routerHistore.test.ts +0 -19
  293. package/src/redux/routerHistory.ts +0 -26
  294. package/src/redux/sagas/fetchModel.test.ts +0 -76
  295. package/src/redux/sagas/fetchModel.ts +0 -683
  296. package/src/redux/sagas/homogeneousRadioInputsSaga.ts +0 -42
  297. package/src/redux/sagas/initInputs.ts +0 -110
  298. package/src/redux/sagas/runner.test.ts +0 -12
  299. package/src/redux/sagas/runner.ts +0 -26
  300. package/src/redux/sagas/saveData.test.ts +0 -125
  301. package/src/redux/sagas/saveData.ts +0 -55
  302. package/src/redux/sagas/setDefaults.test.ts +0 -100
  303. package/src/redux/sagas/setDefaults.ts +0 -167
  304. package/src/redux/sagas/setUserEmail.ts +0 -175
  305. package/src/redux/selectors/app.test.ts +0 -162
  306. package/src/redux/selectors/app.ts +0 -331
  307. package/src/redux/selectors/conditions.test.ts +0 -92
  308. package/src/redux/selectors/conditions.ts +0 -293
  309. package/src/redux/selectors/inputs.test.ts +0 -72
  310. package/src/redux/selectors/inputs.ts +0 -76
  311. package/src/redux/selectors/library.ts +0 -17
  312. package/src/redux/selectors/mandatories.ts +0 -83
  313. package/src/redux/selectors/references.test.ts +0 -660
  314. package/src/redux/selectors/references.ts +0 -413
  315. package/src/redux/selectors/selectors.test.ts +0 -21
  316. package/src/redux/selectors/selectors.ts +0 -87
  317. package/src/redux/selectors/smartscript.ts +0 -30
  318. package/src/redux/selectors/user.test.ts +0 -39
  319. package/src/redux/selectors/user.ts +0 -45
  320. package/src/redux/store.test.ts +0 -22
  321. package/src/redux/store.ts +0 -100
  322. package/src/service/api.manager.ts +0 -261
  323. package/src/service/auth.service.ts +0 -5
  324. package/src/service/pardot.service.ts +0 -10
  325. package/src/tests-misc/plugins/jestTestPlugin/after.tsx +0 -5
  326. package/src/tests-misc/plugins/jestTestPlugin/before.tsx +0 -11
  327. package/src/tests-misc/plugins/jestTestPlugin/index.ts +0 -11
  328. package/src/tests-misc/plugins/jestTestPlugin/title.tsx +0 -8
  329. package/src/tests-misc/themes/jestTestTheme/components/EmailComponent.tsx +0 -5
  330. package/src/tests-misc/themes/jestTestTheme/components/TermsheetComponent.tsx +0 -5
  331. package/src/tests-misc/themes/jestTestTheme/components/WizardComponent.tsx +0 -5
  332. package/src/tests-misc/themes/jestTestTheme/faltyIndex.ts +0 -3
  333. package/src/tests-misc/themes/jestTestTheme/faltyIndexLoader.ts +0 -1
  334. package/src/tests-misc/themes/jestTestTheme/index.ts +0 -13
  335. package/src/types/Actions.type.ts +0 -612
  336. package/src/types/Components.type.ts +0 -181
  337. package/src/types/State.type.ts +0 -323
  338. package/src/types/Termsheet.type.ts +0 -28
  339. package/src/types/api.type.ts +0 -37
  340. package/src/types/config.type.ts +0 -55
  341. package/src/types/env.type.ts +0 -5
  342. package/src/types/getActions.type.ts +0 -3
  343. package/src/types/getConnectors.type.ts +0 -5
  344. package/src/types/getSelectors.type.ts +0 -3
  345. package/src/wizard-params.ts +0 -56
  346. package/tsconfig.json +0 -43
@@ -1,336 +0,0 @@
1
- import { appReducer } from './app';
2
- import { StateType } from '../../types/State.type';
3
-
4
- const appStateMock: StateType.App = {
5
- meta: {
6
- fetchStatus: 'waiting',
7
- id: 0,
8
- prefix: '',
9
- permalink: 'permalink',
10
- title: 'title',
11
- modelVersion: 1,
12
- productType: 'demarche',
13
- },
14
- wizard: {
15
- availableSections: [1, 2, 3],
16
- currentSectionId: 1,
17
- },
18
- pagination: {
19
- currentPage: 1,
20
- greatestPage: 1,
21
- currentAppState: 'wizard',
22
- availableAppStates: ['wizard'],
23
- isFirstPage: true,
24
- isLastPage: false,
25
- totalPages: 3,
26
- },
27
- instance: {
28
- companyId: undefined,
29
- employeeId: undefined,
30
- dataStatus: 'saved',
31
- uniqid: '3jHD42343sDE',
32
- isOrderHandled: undefined,
33
- isPaid: false,
34
- steps: '*',
35
- },
36
- customization: {},
37
- };
38
-
39
- describe('App Reducer test suit', () => {
40
- it('Combines meta reducer', () => {
41
- const reducer = appReducer(appStateMock, {
42
- type: 'INIT_META',
43
- prefix: '',
44
- id: 123,
45
- permalink: 'some-other-permalink',
46
- title: 'Some other title',
47
- modelVersion: 1,
48
- productType: 'demarche',
49
- });
50
-
51
- return expect(reducer).toStrictEqual({
52
- ...appStateMock,
53
- meta: {
54
- fetchStatus: 'waiting',
55
- id: 123,
56
- prefix: '',
57
- permalink: 'some-other-permalink',
58
- title: 'Some other title',
59
- modelVersion: 1,
60
- productType: 'demarche',
61
- },
62
- });
63
- });
64
-
65
- it('Combines pagination reducer', () => {
66
- const reducer = appReducer(appStateMock, {
67
- type: 'INIT_PAGINATION',
68
- currentPage: 11,
69
- currentSectionId: 13,
70
- greatestPage: 11,
71
- availableSections: [1, 12, 13, 14, 15],
72
- currentAppState: 'wizard',
73
- availableAppStates: ['wizard'],
74
- });
75
-
76
- return expect(reducer).toStrictEqual({
77
- ...appStateMock,
78
- pagination: {
79
- currentPage: 11,
80
- greatestPage: 11,
81
- currentAppState: 'wizard',
82
- availableAppStates: ['wizard'],
83
- isFirstPage: false,
84
- isLastPage: false,
85
- totalPages: 5,
86
- },
87
- wizard: {
88
- currentSectionId: 13,
89
- availableSections: [1, 12, 13, 14, 15],
90
- },
91
- });
92
- });
93
-
94
- it('Combines instance reducer', () => {
95
- const reducer = appReducer(appStateMock, {
96
- type: 'INIT_INSTANCE',
97
- dataStatus: 'saved',
98
- uniqid: 'SomeUniqid123',
99
- isPaid: true,
100
- steps: '*',
101
- });
102
-
103
- return expect(reducer).toStrictEqual({
104
- ...appStateMock,
105
- instance: {
106
- dataStatus: 'saved',
107
- uniqid: 'SomeUniqid123',
108
- isOrderHandled: undefined,
109
- employeeId: undefined,
110
- companyId: undefined,
111
- isPaid: true,
112
- steps: '*',
113
- },
114
- });
115
- });
116
-
117
- // appInstance reducer
118
- it('App Reducer INIT_INSTANCE Action', () => {
119
- const reducer = appReducer(appStateMock, {
120
- type: 'INIT_INSTANCE',
121
- dataStatus: 'saved',
122
- uniqid: '3jHD42343sDE',
123
- isPaid: false,
124
- steps: '*',
125
- });
126
-
127
- return expect(reducer).toStrictEqual({
128
- ...appStateMock,
129
- instance: {
130
- dataStatus: 'saved',
131
- isOrderHandled: undefined,
132
- employeeId: undefined,
133
- companyId: undefined,
134
- uniqid: '3jHD42343sDE',
135
- isPaid: false,
136
- steps: '*',
137
- },
138
- });
139
- });
140
-
141
- // appInstance reducer UPDATE_INSTANCE_PAID
142
- it('App Reducer UPDATE_INSTANCE_PAID Action', () => {
143
- const reducer = appReducer(appStateMock, {
144
- type: 'UPDATE_INSTANCE_PAID',
145
- isPaid: true,
146
- });
147
-
148
- return expect(reducer).toStrictEqual({
149
- ...appStateMock,
150
- instance: {
151
- ...appStateMock.instance,
152
- isPaid: true,
153
- },
154
- });
155
- });
156
-
157
- /**
158
- * Retesting almost the same suits from appReducer
159
- */
160
-
161
- // appReducer INIT_PAGINATION Action
162
- it('appReducer INIT_PAGINATION Action', () => {
163
- const reducer = appReducer(appStateMock, {
164
- type: 'INIT_PAGINATION',
165
- currentSectionId: 32,
166
- currentPage: 32,
167
- greatestPage: 32,
168
- availableSections: [32, 2, 3],
169
- availableAppStates: ['wizard'],
170
- currentAppState: 'wizard',
171
- });
172
-
173
- return expect(reducer).toStrictEqual({
174
- ...appStateMock,
175
- pagination: {
176
- ...appStateMock.pagination,
177
- currentPage: 32,
178
- greatestPage: 32,
179
- availableAppStates: ['wizard'],
180
- currentAppState: 'wizard',
181
- isFirstPage: false,
182
- },
183
- wizard: {
184
- ...appStateMock.wizard,
185
- currentSectionId: 32,
186
- availableSections: [32, 2, 3],
187
- },
188
- });
189
- });
190
-
191
- // appReducer GO_PAGE Action
192
- it('appReducer GO_PAGE Action', () => {
193
- const state = {
194
- ...appStateMock,
195
- pagination: {
196
- ...appStateMock.pagination,
197
- currentPage: 1,
198
- greatestPage: 1,
199
- },
200
- wizard: {
201
- ...appStateMock.wizard,
202
- currentSectionId: 1,
203
- availableSections: [1, 6, 3],
204
- },
205
- };
206
-
207
- const reducer = appReducer(state, {
208
- type: 'GO_PAGE',
209
- currentPage: 2,
210
- pushHistory: false,
211
- });
212
-
213
- return expect(reducer).toStrictEqual({
214
- ...appStateMock,
215
- pagination: {
216
- ...appStateMock.pagination,
217
- currentPage: 2,
218
- greatestPage: 2,
219
- isFirstPage: false,
220
- },
221
- wizard: {
222
- ...appStateMock.wizard,
223
- currentSectionId: 6,
224
- availableSections: [1, 6, 3],
225
- },
226
- });
227
- });
228
-
229
- // appReducer UPDATE_AVAILABLE_SECTIONS Action
230
- it('appReducer UPDATE_AVAILABLE_SECTIONS Action', () => {
231
- const state = {
232
- ...appStateMock,
233
- pagination: {
234
- ...appStateMock.pagination,
235
- currentPage: 1,
236
- greatestPage: 14,
237
- },
238
- wizard: {
239
- ...appStateMock.wizard,
240
- currentSectionId: 1,
241
- availableSections: [1, 2, 3],
242
- },
243
- };
244
-
245
- const reducer = appReducer(state, {
246
- type: 'UPDATE_AVAILABLE_SECTIONS',
247
- availableSections: [1, 3, 4],
248
- });
249
-
250
- return expect(reducer).toStrictEqual({
251
- ...appStateMock,
252
- pagination: {
253
- ...appStateMock.pagination,
254
- currentPage: 1,
255
- greatestPage: 14,
256
- },
257
- wizard: {
258
- ...appStateMock.wizard,
259
- currentSectionId: 1,
260
- availableSections: [1, 3, 4],
261
- },
262
- });
263
- });
264
-
265
- // appReducer GO_NEXT_PAGE Action
266
- it('appReducer GO_NEXT_PAGE Action', () => {
267
- const state = {
268
- ...appStateMock,
269
- pagination: {
270
- ...appStateMock.pagination,
271
- currentPage: 1,
272
- greatestPage: 1,
273
- },
274
- wizard: {
275
- ...appStateMock.wizard,
276
- currentSectionId: 1,
277
- availableSections: [1, 6, 3],
278
- },
279
- };
280
-
281
- const reducer = appReducer(state, {
282
- type: 'GO_NEXT_PAGE',
283
- });
284
-
285
- return expect(reducer).toStrictEqual({
286
- ...appStateMock,
287
- pagination: {
288
- ...appStateMock.pagination,
289
- currentPage: 2,
290
- greatestPage: 2,
291
- isFirstPage: false,
292
- },
293
- wizard: {
294
- ...appStateMock.wizard,
295
- currentSectionId: 6,
296
- availableSections: [1, 6, 3],
297
- },
298
- });
299
- });
300
-
301
- // appReducer GO_PREVIOUS_PAGE Action
302
- it('appReducer GO_PREVIOUS_PAGE Action', () => {
303
- const state = {
304
- ...appStateMock,
305
- pagination: {
306
- ...appStateMock.pagination,
307
- currentPage: 3,
308
- greatestPage: 3,
309
- isFirstPage: false,
310
- },
311
- wizard: {
312
- ...appStateMock.wizard,
313
- currentSectionId: 3,
314
- availableSections: [1, 5, 3],
315
- },
316
- };
317
-
318
- const reducer = appReducer(state, {
319
- type: 'GO_PREVIOUS_PAGE',
320
- });
321
-
322
- return expect(reducer).toStrictEqual({
323
- ...state,
324
- pagination: {
325
- ...state.pagination,
326
- currentPage: 2,
327
- greatestPage: 3,
328
- },
329
- wizard: {
330
- ...state.wizard,
331
- currentSectionId: 5,
332
- availableSections: [1, 5, 3],
333
- },
334
- });
335
- });
336
- });
@@ -1,150 +0,0 @@
1
- import { initPaginationReducer } from "./app/pagination/initPagination";
2
- import {
3
- INIT_PAGINATION,
4
- GO_PAGE,
5
- GO_NEXT_PAGE,
6
- GO_PREVIOUS_PAGE,
7
- INIT_META,
8
- INIT_INSTANCE,
9
- UPDATE_INSTANCE_PAID,
10
- UPDATE_AVAILABLE_SECTIONS,
11
- FETCH_MODEL_FAILED,
12
- FETCH_MODEL_SUCCEEDED,
13
- SET_DATA_STATUS,
14
- UPDATE_AVAILABLE_APPSTATES,
15
- INIT_CUSTOMIZATION_META,
16
- FETCH_MODEL_UNHEALTHY,
17
- FETCH_MODEL_USER_LOCKED,
18
- INIT_CUSTOMIZATION_AUTO_DEFAULT,
19
- UPDATE_INSTANCE,
20
- FETCH_MODEL_NONBLOCKING,
21
- SET_MODEL_UUID,
22
- } from "../constants/app";
23
- import { goPageReducer } from "./app/pagination/goPage";
24
- import { ActionsType } from "../../types/Actions.type";
25
- import { StateType } from "../../types/State.type";
26
- import { goNextPageReducer } from "./app/pagination/goNextPage";
27
- import { goPreviousPageReducer } from "./app/pagination/goPreviousPage";
28
- import { updateAvailableAppStatesReducer } from "./app/pagination/updateAvailableAppStates";
29
- import { initMetaReducer } from "./app/meta/initMeta";
30
- import { initInstanceReducer } from "./app/instance/initInstance";
31
- import { updateInstanceReducer } from "./app/instance/updateInstance";
32
- import { updateInstancePaidReducer } from "./app/instance/updateInstancePaid";
33
- import { updateAvailableSectionsReducer } from "./app/wizard/updateAvailableSections";
34
- import { fetchModelSucceededReducer } from "./app/meta/fetchModelSucceeded";
35
- import { fetchModelUnhealthyReducer } from "./app/meta/fetchModelUnhealthy";
36
- import { fetchModelFailedReducer } from "./app/meta/fetchModelFailed";
37
- import { setDataStatusReducer } from "./app/instance/setDataStatus";
38
- import { initCustomizationMetaReducer } from "./app/customizations/initCustomizationMeta";
39
- import { initCustomizationAutoDefaultTypeReducer } from "./app/customizations/initCustomizationAutoDefault";
40
- import { fetchModelUserLockedReducer } from "./app/meta/fetchModelUserLocked";
41
- import { fetchModelNonBlockingReducer } from "./app/meta/fetchModelNonBlocking";
42
- import { setModelUuidReducer } from "./app/meta/setModelUuid";
43
-
44
- const initialState: StateType.App = {
45
- meta: {
46
- fetchStatus: "waiting",
47
- prefix: "",
48
- id: 0,
49
- permalink: "",
50
- title: "",
51
- modelVersion: 0,
52
- productType: "",
53
- },
54
- instance: {
55
- dataStatus: "saving",
56
- uniqid: "",
57
- isPaid: false,
58
- steps: [1],
59
- },
60
- wizard: {
61
- currentSectionId: 1,
62
- availableSections: [1],
63
- },
64
- pagination: {
65
- currentPage: 1,
66
- greatestPage: 1,
67
- currentAppState: "wizard",
68
- availableAppStates: ["wizard"],
69
- isFirstPage: true,
70
- isLastPage: true,
71
- totalPages: 1,
72
- },
73
- customization: {},
74
- };
75
-
76
- export type PaginationReducerActions =
77
- | ActionsType.App.initPagination
78
- | ActionsType.App.goPage
79
- | ActionsType.App.goNextPage
80
- | ActionsType.App.goPreviousPage
81
- | ActionsType.App.updateAvailableAppStates;
82
-
83
- export type WizardReducerActions = ActionsType.App.updateAvailableSections;
84
-
85
- export type CustomizationsReducerActions =
86
- | ActionsType.App.initCustomizationMeta
87
- | ActionsType.App.initCustomizationAutoDefault;
88
-
89
- export type MetaReducerActions =
90
- | ActionsType.App.initMeta
91
- | ActionsType.App.fetchModelSucceeded
92
- | ActionsType.App.fetchModelFailed;
93
-
94
- export type InstanceReducerActions =
95
- | ActionsType.App.initInstance
96
- | ActionsType.App.updateInstancePaid
97
- | ActionsType.App.setDataStatus;
98
-
99
- export type appReducerActions =
100
- | PaginationReducerActions
101
- | MetaReducerActions
102
- | WizardReducerActions
103
- | CustomizationsReducerActions
104
- | InstanceReducerActions;
105
-
106
- const reducersEnum = {
107
- // Meta
108
- [INIT_META]: initMetaReducer,
109
- [SET_MODEL_UUID]: setModelUuidReducer,
110
- [FETCH_MODEL_SUCCEEDED]: fetchModelSucceededReducer,
111
- [FETCH_MODEL_UNHEALTHY]: fetchModelUnhealthyReducer,
112
- [FETCH_MODEL_USER_LOCKED]: fetchModelUserLockedReducer,
113
- [FETCH_MODEL_FAILED]: fetchModelFailedReducer,
114
- [FETCH_MODEL_NONBLOCKING]: fetchModelNonBlockingReducer,
115
-
116
- // Instance
117
- [INIT_INSTANCE]: initInstanceReducer,
118
- [UPDATE_INSTANCE]: updateInstanceReducer,
119
- [UPDATE_INSTANCE_PAID]: updateInstancePaidReducer,
120
- [SET_DATA_STATUS]: setDataStatusReducer,
121
-
122
- // Pagination Reducer
123
- [INIT_PAGINATION]: initPaginationReducer,
124
- [GO_PAGE]: goPageReducer,
125
- [GO_NEXT_PAGE]: goNextPageReducer,
126
- [GO_PREVIOUS_PAGE]: goPreviousPageReducer,
127
- [UPDATE_AVAILABLE_APPSTATES]: updateAvailableAppStatesReducer,
128
-
129
- // Wizard Reducer
130
- [UPDATE_AVAILABLE_SECTIONS]: updateAvailableSectionsReducer,
131
-
132
- // Customizations Reducer
133
- [INIT_CUSTOMIZATION_AUTO_DEFAULT]: initCustomizationAutoDefaultTypeReducer,
134
- [INIT_CUSTOMIZATION_META]: initCustomizationMetaReducer,
135
- };
136
-
137
- export const appReducer = (
138
- state = initialState,
139
- action: appReducerActions
140
- ): StateType.App => {
141
- const reducer = reducersEnum[action.type];
142
-
143
- if (typeof reducer === "function") {
144
- // TODO: Make this part type-safe
145
- // @ts-ignore: This is caused by multiple actions types colliding with each-other
146
- return reducer.apply(null, [state, action]);
147
- }
148
-
149
- return state;
150
- };
@@ -1,131 +0,0 @@
1
- import { addMultipleOccurencyReducer } from './addMultipleOccurency';
2
- import { StateType } from '../../../types/State.type';
3
-
4
- const state: StateType.Conditions = {
5
- options: {
6
- 4: [true],
7
- },
8
- variables: {
9
- 2: [false],
10
- },
11
- validators: {
12
- options: {
13
- 4: [false],
14
- },
15
- variables: {
16
- 3: [false],
17
- },
18
- },
19
- documents: {},
20
- sections: {},
21
- prefillers: {
22
- 3: [[false, false, false]],
23
- },
24
- };
25
-
26
- describe('addMultipleOccurencyReducer test suit', () => {
27
- it('Throws an error if optionRelations or prefillersVariables are undefined', () => {
28
- expect(() => {
29
- // @ts-ignore
30
- addMultipleOccurencyReducer(state, {
31
- id: 3,
32
- optionRelations: undefined,
33
- prefillersVariables: undefined,
34
- });
35
- }).toThrowError(
36
- 'ADD_MULTIPLE_OCCURENCY reducer did not recieve complete data when adding occurency for 3,' +
37
- ' please make sure "multiplesActions" middleware is plugged and working properly'
38
- );
39
- });
40
-
41
- it('Adds a multiple occurency conditions correctly', () => {
42
- const optionRelations = {
43
- options: [],
44
- variables: [],
45
- sections: {},
46
- documents: [],
47
- prefillers: [],
48
- validators: {
49
- options: [],
50
- variables: [],
51
- },
52
- parents: [],
53
- children: {
54
- options: [3, 4],
55
- variables: [2, 3],
56
- },
57
- dependants: [7, 8],
58
- };
59
-
60
- const prefillersVariables: Record<
61
- string,
62
- StateType.References.Variables.Variable['prefillings']
63
- > = {
64
- '3': [
65
- {
66
- value: 'Option 2 selected',
67
- conditions: {
68
- selected: [
69
- {
70
- var: 'o.4',
71
- },
72
- ],
73
- },
74
- },
75
- {
76
- value: 'Option 1 selected',
77
- conditions: {
78
- selected: [
79
- {
80
- var: 'o.3',
81
- },
82
- ],
83
- },
84
- },
85
- {
86
- value: 'Variable 1 = Hello',
87
- conditions: {
88
- contains: [
89
- {
90
- var: 'v.1',
91
- },
92
- 'Hello',
93
- ],
94
- },
95
- },
96
- ],
97
- };
98
-
99
- // @ts-ignore
100
- const reducerResult = addMultipleOccurencyReducer(state, {
101
- id: 2,
102
- optionRelations,
103
- prefillersVariables,
104
- });
105
-
106
- expect(reducerResult).toStrictEqual({
107
- ...state,
108
- options: {
109
- ...state.options,
110
- 4: [true, false],
111
- },
112
- variables: {
113
- 2: [false, false],
114
- },
115
- prefillers: {
116
- 3: [
117
- [false, false, false],
118
- [false, false, false],
119
- ],
120
- },
121
- validators: {
122
- options: {
123
- 4: [false, false],
124
- },
125
- variables: {
126
- 3: [false, false],
127
- },
128
- },
129
- });
130
- });
131
- });