@legalplace/wizardx-core 4.42.9 → 4.42.10-nightly.20251125115613

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 (210) hide show
  1. package/README.md +376 -1
  2. package/dist/App.d.ts +1 -6
  3. package/dist/App.js +2 -7
  4. package/dist/Loader.d.ts +1 -1
  5. package/dist/Loader.js +1 -1
  6. package/dist/PluginLoader.d.ts +21 -36
  7. package/dist/PluginLoader.js +90 -227
  8. package/dist/Shimmer.d.ts +8 -11
  9. package/dist/Shimmer.js +4 -4
  10. package/dist/ThemeLoader.d.ts +8 -8
  11. package/dist/WizardCore.d.ts +25 -0
  12. package/dist/WizardCore.js +119 -0
  13. package/dist/app.entry.d.ts +2 -0
  14. package/dist/app.entry.js +1 -0
  15. package/dist/components/PluginRoute.d.ts +2 -2
  16. package/dist/components/PluginRoute.js +3 -4
  17. package/dist/components/SmartScript.d.ts +2 -6
  18. package/dist/components/SmartScript.js +1 -1
  19. package/dist/components/UserLocked/UserLockedComponent.js +2 -2
  20. package/dist/components/View.d.ts +3 -3
  21. package/dist/components/View.js +5 -7
  22. package/dist/componentsConnectors/connectBox.d.ts +4 -6
  23. package/dist/componentsConnectors/connectDocument.d.ts +4 -6
  24. package/dist/componentsConnectors/connectHeader.d.ts +4 -6
  25. package/dist/componentsConnectors/connectMetaTitle.d.ts +3 -7
  26. package/dist/componentsConnectors/connectOption.d.ts +5 -7
  27. package/dist/componentsConnectors/connectPagination.d.ts +5 -7
  28. package/dist/componentsConnectors/connectPreview.d.ts +3 -7
  29. package/dist/componentsConnectors/connectProgress.d.ts +4 -6
  30. package/dist/componentsConnectors/connectRootOption.d.ts +5 -7
  31. package/dist/componentsConnectors/connectSection.d.ts +4 -6
  32. package/dist/componentsConnectors/connectSummary.d.ts +5 -9
  33. package/dist/componentsConnectors/connectSummaryItem.d.ts +4 -6
  34. package/dist/componentsConnectors/connectTermsheet.js +1 -1
  35. package/dist/componentsConnectors/connectVariable.d.ts +6 -8
  36. package/dist/componentsConnectors/connectWizardWrapper.d.ts +4 -6
  37. package/dist/componentsConnectors/connector/componentConnector.d.ts +7 -10
  38. package/dist/componentsConnectors/connector/componentConnector.js +3 -3
  39. package/dist/componentsConnectors/library.d.ts +47 -81
  40. package/dist/helpers/activitiesHelper.d.ts +3 -3
  41. package/dist/helpers/autocomplete.helper.d.ts +2 -2
  42. package/dist/helpers/autocomplete.helper.js +1 -1
  43. package/dist/helpers/autosave.helper.d.ts +3 -13
  44. package/dist/helpers/autosave.helper.js +3 -70
  45. package/dist/helpers/inpiCitiesHelper.js +1 -1
  46. package/dist/helpers/outputsParsing.d.ts +9 -9
  47. package/dist/hooks/useDispatch.d.ts +1 -1
  48. package/dist/hooks/usePrevious.js +1 -1
  49. package/dist/index.d.ts +3 -0
  50. package/dist/index.js +3 -0
  51. package/dist/libs/ConditionsRunner.d.ts +1 -1
  52. package/dist/libs/Formatter/FormatAddress.d.ts +1 -1
  53. package/dist/libs/InputsInitiator.d.ts +1 -1
  54. package/dist/libs/PathReader.d.ts +96 -1
  55. package/dist/libs/PathReader.js +1 -2
  56. package/dist/libs/SmartScriptStore.d.ts +6 -6
  57. package/dist/redux/actions/app.d.ts +1 -1
  58. package/dist/redux/actions/inputs.d.ts +1 -1
  59. package/dist/redux/actions/library.d.ts +15 -21
  60. package/dist/redux/actions/references.d.ts +2 -2
  61. package/dist/redux/actions/sagas/data.d.ts +1 -1
  62. package/dist/redux/actions/sagas/user.d.ts +1 -1
  63. package/dist/redux/listeners/subscriber.d.ts +1 -1
  64. package/dist/redux/middlewares/conditionsWatcherMiddleware.d.ts +1 -1
  65. package/dist/redux/middlewares/evaluationsWatcherMiddleware.d.ts +1 -1
  66. package/dist/redux/middlewares/mandatoriesWatcherMiddleware.d.ts +1 -1
  67. package/dist/redux/middlewares/multiplesActionsMiddleware.d.ts +1 -1
  68. package/dist/redux/middlewares/paginationWatcherMiddleware.d.ts +2 -2
  69. package/dist/redux/middlewares/pluginsHookMiddleware.d.ts +1 -2
  70. package/dist/redux/middlewares/pluginsHookMiddleware.js +1 -7
  71. package/dist/redux/middlewares/prefillerWatcherMiddleware.d.ts +1 -1
  72. package/dist/redux/middlewares/smartscriptMiddleware.d.ts +1 -1
  73. package/dist/redux/middlewares/smartscriptMiddleware.js +2 -2
  74. package/dist/redux/middlewares/thirdpartyScriptsMiddleware.d.ts +1 -1
  75. package/dist/redux/reducers/app/pagination/updateAvailableAppStates.js +1 -2
  76. package/dist/redux/reducers/app.d.ts +6 -6
  77. package/dist/redux/reducers/references.js +2 -0
  78. package/dist/redux/selectors/inputs.d.ts +1 -1
  79. package/dist/redux/selectors/selectors.d.ts +4 -4
  80. package/dist/redux/store.d.ts +2 -2
  81. package/dist/routing/adapters/nextjs.adapter.d.ts +3 -0
  82. package/dist/routing/adapters/nextjs.adapter.js +63 -0
  83. package/dist/routing/adapters/reactRouter.adapter.d.ts +2 -0
  84. package/dist/routing/adapters/reactRouter.adapter.js +19 -0
  85. package/dist/routing/context.d.ts +14 -0
  86. package/dist/routing/context.js +25 -0
  87. package/dist/routing/index.d.ts +4 -0
  88. package/dist/routing/index.js +4 -0
  89. package/dist/routing/types.d.ts +26 -0
  90. package/dist/service/api.manager.d.ts +2 -2
  91. package/dist/service/autocomplete.manager.d.ts +3 -3
  92. package/dist/service/autocomplete.manager.js +3 -3
  93. package/dist/tests-misc/plugins/jestTestPlugin/after.js +1 -1
  94. package/dist/tests-misc/plugins/jestTestPlugin/before.js +1 -1
  95. package/dist/tests-misc/plugins/jestTestPlugin/title.js +1 -1
  96. package/dist/tests-misc/themes/jestTestTheme/components/EmailComponent.d.ts +1 -1
  97. package/dist/tests-misc/themes/jestTestTheme/components/EmailComponent.js +1 -1
  98. package/dist/tests-misc/themes/jestTestTheme/components/TermsheetComponent.d.ts +1 -1
  99. package/dist/tests-misc/themes/jestTestTheme/components/TermsheetComponent.js +1 -1
  100. package/dist/tests-misc/themes/jestTestTheme/components/WizardComponent.d.ts +1 -1
  101. package/dist/tests-misc/themes/jestTestTheme/components/WizardComponent.js +1 -1
  102. package/dist/types/Actions.type.d.ts +70 -6
  103. package/dist/types/Components.type.d.ts +3 -2
  104. package/dist/types/PluginConfig.type.d.ts +18 -52
  105. package/dist/types/State.type.d.ts +2 -2
  106. package/dist/types/config.type.d.ts +1 -1
  107. package/dist/types/getActions.type.d.ts +1 -1
  108. package/dist/types/getConnectors.type.d.ts +2 -2
  109. package/dist/types/getSelectors.type.d.ts +1 -1
  110. package/dist/wizardcore.entry.d.ts +3 -0
  111. package/dist/wizardcore.entry.js +2 -0
  112. package/package.json +40 -17
  113. package/dist/App.test.js +0 -37
  114. package/dist/PluginLoader.test.d.ts +0 -1
  115. package/dist/PluginLoader.test.js +0 -52
  116. package/dist/ThemeLoader.test.d.ts +0 -2
  117. package/dist/ThemeLoader.test.js +0 -65
  118. package/dist/components/View.test.d.ts +0 -2
  119. package/dist/components/View.test.js +0 -84
  120. package/dist/componentsConnectors/connectBox.test.d.ts +0 -1
  121. package/dist/componentsConnectors/connectBox.test.js +0 -218
  122. package/dist/componentsConnectors/connectDocument.test.d.ts +0 -1
  123. package/dist/componentsConnectors/connectDocument.test.js +0 -95
  124. package/dist/componentsConnectors/connectMetaTitle.test.d.ts +0 -1
  125. package/dist/componentsConnectors/connectMetaTitle.test.js +0 -32
  126. package/dist/config.test.d.ts +0 -1
  127. package/dist/config.test.js +0 -54
  128. package/dist/libs/NumAuto.test.d.ts +0 -1
  129. package/dist/libs/NumAuto.test.js +0 -43
  130. package/dist/libs/SectionValidity.test.d.ts +0 -1
  131. package/dist/libs/SectionValidity.test.js +0 -116
  132. package/dist/redux/actions/app.test.d.ts +0 -1
  133. package/dist/redux/actions/app.test.js +0 -90
  134. package/dist/redux/actions/conditions.test.d.ts +0 -1
  135. package/dist/redux/actions/conditions.test.js +0 -68
  136. package/dist/redux/actions/inputs.test.d.ts +0 -1
  137. package/dist/redux/actions/inputs.test.js +0 -53
  138. package/dist/redux/actions/references.test.d.ts +0 -1
  139. package/dist/redux/actions/references.test.js +0 -43
  140. package/dist/redux/actions/sagas/data.test.d.ts +0 -1
  141. package/dist/redux/actions/sagas/data.test.js +0 -11
  142. package/dist/redux/actions/sagas/model.test.d.ts +0 -1
  143. package/dist/redux/actions/sagas/model.test.js +0 -11
  144. package/dist/redux/actions/user.test.d.ts +0 -1
  145. package/dist/redux/actions/user.test.js +0 -16
  146. package/dist/redux/listeners/subscriber.test.d.ts +0 -1
  147. package/dist/redux/listeners/subscriber.test.js +0 -31
  148. package/dist/redux/middlewares/conditionsWatcherMiddleware.test.d.ts +0 -1
  149. package/dist/redux/middlewares/conditionsWatcherMiddleware.test.js +0 -330
  150. package/dist/redux/middlewares/evaluationsWatcherMiddleware.test.d.ts +0 -1
  151. package/dist/redux/middlewares/evaluationsWatcherMiddleware.test.js +0 -242
  152. package/dist/redux/middlewares/multiplesActionsMiddleware.test.d.ts +0 -1
  153. package/dist/redux/middlewares/multiplesActionsMiddleware.test.js +0 -209
  154. package/dist/redux/middlewares/prefillerWatcherMiddleware.test.d.ts +0 -1
  155. package/dist/redux/middlewares/prefillerWatcherMiddleware.test.js +0 -84
  156. package/dist/redux/reducers/app/instance.test.d.ts +0 -1
  157. package/dist/redux/reducers/app/instance.test.js +0 -75
  158. package/dist/redux/reducers/app/meta.test.d.ts +0 -1
  159. package/dist/redux/reducers/app/meta.test.js +0 -70
  160. package/dist/redux/reducers/app/pagination.test.d.ts +0 -1
  161. package/dist/redux/reducers/app/pagination.test.js +0 -134
  162. package/dist/redux/reducers/app/wizard.test.d.ts +0 -1
  163. package/dist/redux/reducers/app/wizard.test.js +0 -53
  164. package/dist/redux/reducers/app.test.d.ts +0 -1
  165. package/dist/redux/reducers/app.test.js +0 -175
  166. package/dist/redux/reducers/conditions/addMultipleOccurency.test.d.ts +0 -1
  167. package/dist/redux/reducers/conditions/addMultipleOccurency.test.js +0 -108
  168. package/dist/redux/reducers/conditions/deleteMultipleOccurency.test.d.ts +0 -1
  169. package/dist/redux/reducers/conditions/deleteMultipleOccurency.test.js +0 -77
  170. package/dist/redux/reducers/conditions/updateDocumentConditions.test.d.ts +0 -1
  171. package/dist/redux/reducers/conditions/updateDocumentConditions.test.js +0 -35
  172. package/dist/redux/reducers/conditions/updateOptionValidatorCondition.test.d.ts +0 -1
  173. package/dist/redux/reducers/conditions/updateOptionValidatorCondition.test.js +0 -35
  174. package/dist/redux/reducers/conditions/updateVariableValidatorCondition.test.d.ts +0 -1
  175. package/dist/redux/reducers/conditions/updateVariableValidatorCondition.test.js +0 -35
  176. package/dist/redux/reducers/conditions.test.d.ts +0 -1
  177. package/dist/redux/reducers/conditions.test.js +0 -196
  178. package/dist/redux/reducers/inputs/addMultipleOccurency.test.d.ts +0 -1
  179. package/dist/redux/reducers/inputs/addMultipleOccurency.test.js +0 -101
  180. package/dist/redux/reducers/inputs/deleteMultipleOccurency.test.d.ts +0 -1
  181. package/dist/redux/reducers/inputs/deleteMultipleOccurency.test.js +0 -56
  182. package/dist/redux/reducers/inputs.test.d.ts +0 -1
  183. package/dist/redux/reducers/inputs.test.js +0 -171
  184. package/dist/redux/reducers/user.test.d.ts +0 -1
  185. package/dist/redux/reducers/user.test.js +0 -42
  186. package/dist/redux/routerHistore.test.d.ts +0 -1
  187. package/dist/redux/routerHistore.test.js +0 -15
  188. package/dist/redux/sagas/fetchModel.test.d.ts +0 -1
  189. package/dist/redux/sagas/fetchModel.test.js +0 -127
  190. package/dist/redux/sagas/runner.test.d.ts +0 -1
  191. package/dist/redux/sagas/runner.test.js +0 -10
  192. package/dist/redux/sagas/saveData.test.d.ts +0 -1
  193. package/dist/redux/sagas/saveData.test.js +0 -74
  194. package/dist/redux/sagas/setDefaults.test.d.ts +0 -1
  195. package/dist/redux/sagas/setDefaults.test.js +0 -73
  196. package/dist/redux/selectors/app.test.d.ts +0 -1
  197. package/dist/redux/selectors/app.test.js +0 -99
  198. package/dist/redux/selectors/conditions.test.d.ts +0 -1
  199. package/dist/redux/selectors/conditions.test.js +0 -70
  200. package/dist/redux/selectors/inputs.test.d.ts +0 -1
  201. package/dist/redux/selectors/inputs.test.js +0 -44
  202. package/dist/redux/selectors/references.test.d.ts +0 -1
  203. package/dist/redux/selectors/references.test.js +0 -471
  204. package/dist/redux/selectors/selectors.test.d.ts +0 -1
  205. package/dist/redux/selectors/selectors.test.js +0 -16
  206. package/dist/redux/selectors/user.test.d.ts +0 -1
  207. package/dist/redux/selectors/user.test.js +0 -29
  208. package/dist/redux/store.test.d.ts +0 -1
  209. package/dist/redux/store.test.js +0 -16
  210. /package/dist/{App.test.d.ts → routing/types.js} +0 -0
@@ -1,209 +0,0 @@
1
- import multiplesActionsMiddleware from './multiplesActionsMiddleware';
2
- import { addMultipleOccurencyAction, deleteMultipleOccurencyAction, } from '../actions/inputs';
3
- const mpi = {
4
- dispatch: jest.fn(),
5
- getState: () => ({
6
- conditions: {
7
- prefillers: {
8
- '3': [[false, false, false]],
9
- },
10
- },
11
- }),
12
- };
13
- const next = jest.fn();
14
- const mockVariablesReferences = {
15
- 3: {
16
- id: 3,
17
- label: 'Variable',
18
- type: 'textarea',
19
- step: '*',
20
- prefillings: [
21
- {
22
- value: 'Option 4 selected',
23
- conditions: {
24
- selected: [
25
- {
26
- var: 'o.4',
27
- },
28
- ],
29
- },
30
- },
31
- {
32
- value: 'Option 3 selected',
33
- conditions: {
34
- selected: [
35
- {
36
- var: 'o.3',
37
- },
38
- ],
39
- },
40
- },
41
- {
42
- value: 'Variable 1 = Hello',
43
- conditions: {
44
- contains: [
45
- {
46
- var: 'v.1',
47
- },
48
- 'Hello',
49
- ],
50
- },
51
- },
52
- ],
53
- },
54
- };
55
- const mockOptionsRelations = {
56
- 2: {
57
- options: [],
58
- variables: [],
59
- sections: {},
60
- documents: [],
61
- prefillers: [],
62
- validators: {
63
- options: [],
64
- variables: [],
65
- },
66
- parents: [],
67
- children: {
68
- options: [3, 4],
69
- variables: [2, 3],
70
- },
71
- dependants: [7, 8],
72
- },
73
- };
74
- const mockOptionsReferences = {
75
- 2: {
76
- meta: {
77
- id: 2,
78
- type: 'static',
79
- label: 'Multiple question',
80
- step: '*',
81
- tags: [],
82
- defaultRadio: 4,
83
- multiple: {
84
- enabled: true,
85
- },
86
- validator: {},
87
- },
88
- options: [3, 4],
89
- variables: [2, 3],
90
- },
91
- 3: {
92
- meta: {
93
- id: 3,
94
- type: 'radio',
95
- label: 'Option 1',
96
- step: '*',
97
- tags: [],
98
- defaultRadio: 0,
99
- validator: {},
100
- },
101
- options: [],
102
- variables: [],
103
- },
104
- 4: {
105
- meta: {
106
- id: 4,
107
- type: 'radio',
108
- label: 'Option 2',
109
- step: '*',
110
- tags: [],
111
- defaultRadio: 0,
112
- validator: {},
113
- },
114
- options: [],
115
- variables: [],
116
- },
117
- 7: {
118
- meta: {
119
- id: 4,
120
- type: 'hidden',
121
- label: 'Option 2',
122
- step: '*',
123
- tags: [],
124
- defaultRadio: 0,
125
- validator: {},
126
- },
127
- options: [],
128
- variables: [],
129
- },
130
- 8: {
131
- meta: {
132
- id: 4,
133
- type: 'hidden',
134
- label: 'Option 2',
135
- step: '*',
136
- tags: [],
137
- defaultRadio: 0,
138
- validator: {},
139
- },
140
- options: [],
141
- variables: [],
142
- },
143
- };
144
- jest.mock('../selectors/references', () => ({
145
- __esModule: true,
146
- selectVariableReference: (id) => mockVariablesReferences[id],
147
- selectOptionRelations: (id) => mockOptionsRelations[id],
148
- selectOptionReference: (id) => mockOptionsReferences[id],
149
- }));
150
- describe('Prefillers Watcher Middleware Test suit', () => {
151
- beforeEach(() => {
152
- jest.clearAllMocks();
153
- });
154
- it('Completes ADD_MULTIPLE_OCCURENCY action correctly', () => {
155
- multiplesActionsMiddleware(mpi)(next)(addMultipleOccurencyAction(2));
156
- expect(next.mock.calls.length).toBe(1);
157
- expect(next.mock.calls[0][0]).toStrictEqual({
158
- type: 'ADD_MULTIPLE_OCCURENCY',
159
- id: 2,
160
- optionRelations: mockOptionsRelations[2],
161
- optionsReferences: mockOptionsReferences,
162
- prefillersVariables: {
163
- '3': [
164
- {
165
- value: 'Option 4 selected',
166
- conditions: {
167
- selected: [
168
- {
169
- var: 'o.4',
170
- },
171
- ],
172
- },
173
- },
174
- {
175
- value: 'Option 3 selected',
176
- conditions: {
177
- selected: [
178
- {
179
- var: 'o.3',
180
- },
181
- ],
182
- },
183
- },
184
- {
185
- value: 'Variable 1 = Hello',
186
- conditions: {
187
- contains: [
188
- {
189
- var: 'v.1',
190
- },
191
- 'Hello',
192
- ],
193
- },
194
- },
195
- ],
196
- },
197
- });
198
- });
199
- it('Completes DELETE_MULTIPLE_OCCURENCY action correctly', () => {
200
- multiplesActionsMiddleware(mpi)(next)(deleteMultipleOccurencyAction(2, 3));
201
- expect(next.mock.calls.length).toBe(1);
202
- expect(next.mock.calls[0][0]).toStrictEqual({
203
- type: 'DELETE_MULTIPLE_OCCURENCY',
204
- id: 2,
205
- index: 3,
206
- optionRelations: mockOptionsRelations[2],
207
- });
208
- });
209
- });
@@ -1,84 +0,0 @@
1
- import prefillerWatcherMiddleware from './prefillerWatcherMiddleware';
2
- import { updatePrefillersConditionsAction } from '../actions/conditions';
3
- const mpi = {
4
- dispatch: jest.fn(),
5
- getState: jest.fn(),
6
- };
7
- const next = jest.fn();
8
- const mockVariablesInputs = {
9
- 3: ['Option 4 selected', 'Random text'],
10
- };
11
- const mockVariablesReferences = {
12
- 3: {
13
- id: 3,
14
- label: 'Variable',
15
- type: 'textarea',
16
- step: '*',
17
- prefillings: [
18
- {
19
- value: 'Option 4 selected',
20
- conditions: {
21
- selected: [
22
- {
23
- var: 'o.4',
24
- },
25
- ],
26
- },
27
- },
28
- {
29
- value: 'Option 3 selected',
30
- conditions: {
31
- selected: [
32
- {
33
- var: 'o.3',
34
- },
35
- ],
36
- },
37
- },
38
- {
39
- value: 'Variable 1 = Hello',
40
- conditions: {
41
- contains: [
42
- {
43
- var: 'v.1',
44
- },
45
- 'Hello',
46
- ],
47
- },
48
- },
49
- ],
50
- },
51
- };
52
- jest.mock('../selectors/inputs', () => ({
53
- __esModule: true,
54
- selectVariableInputByIndex: (id, index) => mockVariablesInputs[id][index],
55
- }));
56
- jest.mock('../selectors/references', () => ({
57
- __esModule: true,
58
- selectVariableReference: (id) => mockVariablesReferences[id],
59
- }));
60
- describe('Prefillers Watcher Middleware Test suit', () => {
61
- beforeEach(() => {
62
- jest.clearAllMocks();
63
- });
64
- it('Updates variables properly if prefillers conditions changed', () => {
65
- prefillerWatcherMiddleware(mpi)(next)(updatePrefillersConditionsAction(3, 0, [false, false, true]));
66
- expect(mpi.dispatch.mock.calls[0][0]).toStrictEqual({
67
- type: 'UPDATE_VARIABLE_INPUT',
68
- id: 3,
69
- value: 'Variable 1 = Hello',
70
- index: 0,
71
- });
72
- });
73
- it('Should throw an error if variable does not exist', () => {
74
- expect(() => prefillerWatcherMiddleware(mpi)(next)(updatePrefillersConditionsAction(13243, 0, [true, false, false]))).toThrowError('Variable 13243 does not exist');
75
- });
76
- it('Should not send update variable value if value is already equal to the prefiller', () => {
77
- prefillerWatcherMiddleware(mpi)(next)(updatePrefillersConditionsAction(3, 0, [true, false, false]));
78
- expect(mpi.dispatch.mock.calls.length).toEqual(0);
79
- });
80
- it('Should not send update variable value if value has been changed by user', () => {
81
- prefillerWatcherMiddleware(mpi)(next)(updatePrefillersConditionsAction(3, 1, [true, true, true]));
82
- expect(mpi.dispatch.mock.calls.length).toEqual(0);
83
- });
84
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,75 +0,0 @@
1
- import { initInstanceReducer } from './instance/initInstance';
2
- import { updateInstancePaidReducer } from './instance/updateInstancePaid';
3
- import { setDataStatusReducer } from './instance/setDataStatus';
4
- const appStateMock = {
5
- meta: {
6
- fetchStatus: 'succeeded',
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: 4,
26
- },
27
- instance: {
28
- dataStatus: 'saved',
29
- uniqid: '3jHD42343sDE',
30
- isPaid: false,
31
- steps: '*',
32
- },
33
- customization: {},
34
- };
35
- describe('App Instance Reducer', () => {
36
- it('initInstance Reducer', () => {
37
- const reducer = initInstanceReducer(appStateMock, {
38
- type: 'INIT_INSTANCE',
39
- dataStatus: 'saved',
40
- uniqid: '3jHD42343sDE',
41
- isPaid: true,
42
- steps: '*',
43
- });
44
- return expect(reducer).toStrictEqual(Object.assign(Object.assign({}, appStateMock), { instance: {
45
- dataStatus: 'saved',
46
- uniqid: '3jHD42343sDE',
47
- companyUuid: undefined,
48
- employeeUuid: undefined,
49
- filename: undefined,
50
- isPaid: true,
51
- steps: '*',
52
- } }));
53
- });
54
- it('updateInstancePaid Reducer', () => {
55
- const reducer = updateInstancePaidReducer(appStateMock, {
56
- type: 'UPDATE_INSTANCE_PAID',
57
- isPaid: false,
58
- });
59
- expect(reducer).toEqual(appStateMock);
60
- });
61
- it('updateInstancePaid Reducer should not change state if isPaid did not change', () => {
62
- const reducer = updateInstancePaidReducer(appStateMock, {
63
- type: 'UPDATE_INSTANCE_PAID',
64
- isPaid: true,
65
- });
66
- expect(reducer).toStrictEqual(Object.assign(Object.assign({}, appStateMock), { instance: Object.assign(Object.assign({}, appStateMock.instance), { uniqid: '3jHD42343sDE', isPaid: true }) }));
67
- });
68
- it('setDataStatus Reducer', () => {
69
- const reducer = setDataStatusReducer(appStateMock, {
70
- type: 'SET_DATA_STATUS',
71
- dataStatus: 'unsaved',
72
- });
73
- return expect(reducer).toStrictEqual(Object.assign(Object.assign({}, appStateMock), { instance: Object.assign(Object.assign({}, appStateMock.instance), { dataStatus: 'unsaved' }) }));
74
- });
75
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,70 +0,0 @@
1
- import { initMetaReducer } from './meta/initMeta';
2
- import { fetchModelSucceededReducer } from './meta/fetchModelSucceeded';
3
- import { fetchModelFailedReducer } from './meta/fetchModelFailed';
4
- const appStateMock = {
5
- meta: {
6
- fetchStatus: 'succeeded',
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: 4,
26
- },
27
- instance: {
28
- dataStatus: 'saved',
29
- uniqid: '3jHD42343sDE',
30
- isPaid: false,
31
- steps: '*',
32
- },
33
- customization: {},
34
- };
35
- describe('App Meta Reducer', () => {
36
- it('initMeta Reducer', () => {
37
- const reducer = initMetaReducer(appStateMock, {
38
- type: 'INIT_META',
39
- id: 123,
40
- prefix: '',
41
- permalink: 'permalink',
42
- title: 'title',
43
- modelVersion: 1,
44
- productType: 'demarche',
45
- metadata: {
46
- metaTypology: "contract"
47
- }
48
- });
49
- return expect(reducer).toStrictEqual(Object.assign(Object.assign({}, appStateMock), { meta: {
50
- fetchStatus: 'succeeded',
51
- id: 123,
52
- prefix: '',
53
- permalink: 'permalink',
54
- title: 'title',
55
- modelVersion: 1,
56
- productType: 'demarche',
57
- metadata: {
58
- metaTypology: "contract"
59
- }
60
- } }));
61
- });
62
- it('fetchModelSucceeded Reducer', () => {
63
- const reducer = fetchModelSucceededReducer(appStateMock);
64
- return expect(reducer).toStrictEqual(Object.assign(Object.assign({}, appStateMock), { meta: Object.assign(Object.assign({}, appStateMock.meta), { fetchStatus: 'succeeded' }) }));
65
- });
66
- it('fetchModelFailed Reducer', () => {
67
- const reducer = fetchModelFailedReducer(appStateMock);
68
- return expect(reducer).toStrictEqual(Object.assign(Object.assign({}, appStateMock), { meta: Object.assign(Object.assign({}, appStateMock.meta), { fetchStatus: 'failed' }) }));
69
- });
70
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,134 +0,0 @@
1
- import { initPaginationReducer } from './pagination/initPagination';
2
- import { goPageReducer } from './pagination/goPage';
3
- import { goNextPageReducer } from './pagination/goNextPage';
4
- import { goPreviousPageReducer } from './pagination/goPreviousPage';
5
- const appStateMock = {
6
- meta: {
7
- fetchStatus: 'succeeded',
8
- id: 0,
9
- prefix: '',
10
- permalink: 'permalink',
11
- title: 'title',
12
- modelVersion: 1,
13
- productType: 'demarche',
14
- },
15
- wizard: {
16
- availableSections: [1, 2, 3],
17
- currentSectionId: 1,
18
- },
19
- pagination: {
20
- currentPage: 1,
21
- greatestPage: 1,
22
- currentAppState: 'one',
23
- availableAppStates: ['one', 'wizard', 'three', 'four'],
24
- isFirstPage: true,
25
- isLastPage: false,
26
- totalPages: 6,
27
- },
28
- instance: {
29
- dataStatus: 'saved',
30
- uniqid: '3jHD42343sDE',
31
- isPaid: false,
32
- steps: '*',
33
- },
34
- customization: {},
35
- };
36
- describe('Pagination reducers test suit', () => {
37
- it('initPaginationReducer', () => {
38
- const state = Object.assign(Object.assign({}, appStateMock), { pagination: Object.assign(Object.assign({}, appStateMock.pagination), { currentPage: 2, greatestPage: 2 }), wizard: {
39
- currentSectionId: 2,
40
- availableSections: [1, 2, 5],
41
- } });
42
- const reducer = initPaginationReducer(state, {
43
- type: 'INIT_PAGINATION',
44
- currentSectionId: 1,
45
- currentPage: 3,
46
- greatestPage: 3,
47
- availableSections: [1, 2, 3],
48
- availableAppStates: ['one', 'wizard', 'three', 'four'],
49
- currentAppState: 'one',
50
- });
51
- return expect(reducer).toStrictEqual(Object.assign(Object.assign({}, state), { pagination: Object.assign(Object.assign({}, state.pagination), { currentPage: 3, greatestPage: 3, isFirstPage: false, isLastPage: false }), wizard: {
52
- currentSectionId: 1,
53
- availableSections: [1, 2, 3],
54
- } }));
55
- });
56
- it('goPageReducer move to wizard', () => {
57
- const state = Object.assign(Object.assign({}, appStateMock), { pagination: Object.assign(Object.assign({}, appStateMock.pagination), { currentPage: 2, greatestPage: 2 }), wizard: {
58
- currentSectionId: 2,
59
- availableSections: [1, 2, 5],
60
- } });
61
- const reducer = goPageReducer(state, {
62
- type: 'GO_PAGE',
63
- currentPage: 3,
64
- pushHistory: false,
65
- });
66
- return expect(reducer).toStrictEqual(Object.assign(Object.assign({}, appStateMock), { pagination: Object.assign(Object.assign({}, appStateMock.pagination), { currentPage: 3, greatestPage: 3, isFirstPage: false, isLastPage: false, currentAppState: 'wizard' }), wizard: Object.assign(Object.assign({}, appStateMock.wizard), { currentSectionId: 2, availableSections: [1, 2, 5] }) }));
67
- });
68
- it('goPageReducer go to "one"', () => {
69
- const state = Object.assign(Object.assign({}, appStateMock), { pagination: Object.assign(Object.assign({}, appStateMock.pagination), { currentPage: 2, greatestPage: 4 }) });
70
- const reducer = goPageReducer(state, {
71
- type: 'GO_PAGE',
72
- currentPage: 1,
73
- pushHistory: false,
74
- });
75
- return expect(reducer).toStrictEqual(Object.assign(Object.assign({}, appStateMock), { pagination: Object.assign(Object.assign({}, appStateMock.pagination), { currentPage: 1, greatestPage: 4, isFirstPage: true, isLastPage: false, currentAppState: 'one' }) }));
76
- });
77
- it('goPageReducer go to "three"', () => {
78
- const state = Object.assign(Object.assign({}, appStateMock), { pagination: Object.assign(Object.assign({}, appStateMock.pagination), { currentPage: 2, greatestPage: 3 }) });
79
- const reducer = goPageReducer(state, {
80
- type: 'GO_PAGE',
81
- currentPage: 5,
82
- pushHistory: false,
83
- });
84
- return expect(reducer).toStrictEqual(Object.assign(Object.assign({}, appStateMock), { pagination: Object.assign(Object.assign({}, appStateMock.pagination), { currentPage: 5, greatestPage: 5, isFirstPage: false, isLastPage: false, currentAppState: 'three' }), wizard: Object.assign(Object.assign({}, state.wizard), { currentSectionId: 3 }) }));
85
- });
86
- it('goNextPageReducer from 0 to "one"', () => {
87
- const state = Object.assign(Object.assign({}, appStateMock), { pagination: Object.assign(Object.assign({}, appStateMock.pagination), { currentPage: 0, greatestPage: 5 }), wizard: {
88
- currentSectionId: 1,
89
- availableSections: [1, 4, 3],
90
- } });
91
- const reducer = goNextPageReducer(state);
92
- return expect(reducer).toStrictEqual(Object.assign(Object.assign({}, state), { pagination: Object.assign(Object.assign({}, state.pagination), { currentPage: 1, greatestPage: 5, isFirstPage: false, currentAppState: 'one' }), wizard: Object.assign(Object.assign({}, state.wizard), { currentSectionId: 1 }) }));
93
- });
94
- it('goNextPageReducer from "wizard to "three"', () => {
95
- const state = Object.assign(Object.assign({}, appStateMock), { pagination: Object.assign(Object.assign({}, appStateMock.pagination), { currentPage: 4, greatestPage: 5, currentAppState: 'wizard' }), wizard: {
96
- currentSectionId: 3,
97
- availableSections: [1, 4, 3],
98
- } });
99
- const reducer = goNextPageReducer(state);
100
- return expect(reducer).toStrictEqual(Object.assign(Object.assign({}, state), { pagination: Object.assign(Object.assign({}, state.pagination), { currentPage: 5, greatestPage: 5, isFirstPage: false, currentAppState: 'three' }), wizard: Object.assign(Object.assign({}, state.wizard), { currentSectionId: 3 }) }));
101
- });
102
- it('goNextPageReducer should not change state on last page', () => {
103
- const state = Object.assign(Object.assign({}, appStateMock), { pagination: Object.assign(Object.assign({}, appStateMock.pagination), { currentPage: 6, greatestPage: 6, currentAppState: 'four' }), wizard: {
104
- currentSectionId: 3,
105
- availableSections: [1, 4, 3],
106
- } });
107
- const reducer = goNextPageReducer(state);
108
- return expect(reducer).toEqual(state);
109
- });
110
- it('goPreviousPageReducer when page > 1', () => {
111
- const state = Object.assign(Object.assign({}, appStateMock), { pagination: Object.assign(Object.assign({}, appStateMock.pagination), { currentPage: 2, greatestPage: 5 }), wizard: {
112
- currentSectionId: 2,
113
- availableSections: [1, 2, 3],
114
- } });
115
- const reducer = goPreviousPageReducer(state);
116
- return expect(reducer).toStrictEqual(Object.assign(Object.assign({}, state), { pagination: Object.assign(Object.assign({}, state.pagination), { currentPage: 1, greatestPage: 5 }), wizard: Object.assign(Object.assign({}, state.wizard), { currentSectionId: 1 }) }));
117
- });
118
- it('goPreviousPageReducer when page =< 1', () => {
119
- const currentState = Object.assign(Object.assign({}, appStateMock), { pagination: Object.assign(Object.assign({}, appStateMock.pagination), { currentPage: 1, greatestPage: 2 }), wizard: {
120
- currentSectionId: 1,
121
- availableSections: [1, 2, 3],
122
- } });
123
- const reducer = goPreviousPageReducer(currentState);
124
- return expect(reducer).toStrictEqual(Object.assign(Object.assign({}, currentState), { pagination: Object.assign(Object.assign({}, currentState.pagination), { currentPage: 1, greatestPage: 2 }), wizard: Object.assign(Object.assign({}, currentState.wizard), { currentSectionId: 1 }) }));
125
- });
126
- it('goPreviousPageReducer from "four" to "three"', () => {
127
- const currentState = Object.assign(Object.assign({}, appStateMock), { pagination: Object.assign(Object.assign({}, appStateMock.pagination), { currentPage: 6, greatestPage: 6, currentAppState: 'four', isFirstPage: false, isLastPage: true }), wizard: {
128
- currentSectionId: 3,
129
- availableSections: [1, 2, 3],
130
- } });
131
- const reducer = goPreviousPageReducer(currentState);
132
- return expect(reducer).toStrictEqual(Object.assign(Object.assign({}, currentState), { pagination: Object.assign(Object.assign({}, currentState.pagination), { currentPage: 5, greatestPage: 6, currentAppState: 'three', isLastPage: false }) }));
133
- });
134
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,53 +0,0 @@
1
- import { updateAvailableSectionsReducer } from './wizard/updateAvailableSections';
2
- const appStateMock = {
3
- meta: {
4
- fetchStatus: 'succeeded',
5
- id: 0,
6
- prefix: '',
7
- permalink: 'permalink',
8
- title: 'title',
9
- modelVersion: 1,
10
- productType: 'demarche',
11
- },
12
- wizard: {
13
- availableSections: [1, 2, 3],
14
- currentSectionId: 1,
15
- },
16
- pagination: {
17
- currentPage: 1,
18
- greatestPage: 1,
19
- currentAppState: 'wizard',
20
- availableAppStates: ['wizard', 'termsheet'],
21
- isFirstPage: true,
22
- isLastPage: false,
23
- totalPages: 4,
24
- },
25
- instance: {
26
- dataStatus: 'saved',
27
- uniqid: '3jHD42343sDE',
28
- isPaid: false,
29
- steps: '*',
30
- },
31
- customization: {},
32
- };
33
- describe('Wizard reducers test suit', () => {
34
- it('updateAvailableSectionsReducer', () => {
35
- const state = Object.assign(Object.assign({}, appStateMock), { wizard: Object.assign(Object.assign({}, appStateMock.wizard), { availableSections: [1, 2, 3], currentSectionId: 1 }) });
36
- const reducer = updateAvailableSectionsReducer(state, {
37
- type: 'UPDATE_AVAILABLE_SECTIONS',
38
- availableSections: [1, 4, 5, 6],
39
- });
40
- return expect(reducer).toStrictEqual(Object.assign(Object.assign({}, appStateMock), { pagination: Object.assign(Object.assign({}, appStateMock.pagination), { totalPages: 5 }), wizard: {
41
- currentSectionId: 1,
42
- availableSections: [1, 4, 5, 6],
43
- } }));
44
- });
45
- it('updateAvailableSectionsReducer should not update state if sections did not change', () => {
46
- const state = Object.assign(Object.assign({}, appStateMock), { wizard: Object.assign(Object.assign({}, appStateMock.wizard), { availableSections: [1, 2, 3], currentSectionId: 1 }) });
47
- const reducer = updateAvailableSectionsReducer(state, {
48
- type: 'UPDATE_AVAILABLE_SECTIONS',
49
- availableSections: [1, 2, 3],
50
- });
51
- return expect(reducer).toEqual(state);
52
- });
53
- });
@@ -1 +0,0 @@
1
- export {};