@ukhomeoffice/cop-react-form-renderer 5.89.0 → 5.90.1

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 (384) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +15 -15
  2. package/dist/components/CheckYourAnswers/Answer.test.js +132 -181
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +106 -142
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +563 -941
  5. package/dist/components/CheckYourAnswers/index.js +1 -1
  6. package/dist/components/CollectionPage/CollectionPage.js +76 -66
  7. package/dist/components/CollectionPage/CollectionPage.test.js +318 -369
  8. package/dist/components/CollectionPage/index.js +1 -1
  9. package/dist/components/CollectionSummary/BannerStrip.js +15 -15
  10. package/dist/components/CollectionSummary/BannerStrip.test.js +83 -79
  11. package/dist/components/CollectionSummary/CollectionSummary.js +109 -131
  12. package/dist/components/CollectionSummary/CollectionSummary.test.js +198 -180
  13. package/dist/components/CollectionSummary/Confirmation.js +15 -13
  14. package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
  15. package/dist/components/CollectionSummary/RenderListView.js +47 -55
  16. package/dist/components/CollectionSummary/RenderListView.test.js +82 -81
  17. package/dist/components/CollectionSummary/SummaryCard.js +121 -157
  18. package/dist/components/CollectionSummary/SummaryCard.test.js +970 -1000
  19. package/dist/components/CollectionSummary/SummaryCardDetails.js +103 -94
  20. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +187 -195
  21. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +31 -36
  22. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +64 -76
  23. package/dist/components/CollectionSummary/index.js +1 -1
  24. package/dist/components/FormComponent/Collection.js +81 -117
  25. package/dist/components/FormComponent/Collection.scss +1 -1
  26. package/dist/components/FormComponent/Collection.test.js +910 -1082
  27. package/dist/components/FormComponent/Container.js +45 -38
  28. package/dist/components/FormComponent/Container.scss +15 -0
  29. package/dist/components/FormComponent/Container.test.js +379 -411
  30. package/dist/components/FormComponent/FormComponent.js +71 -74
  31. package/dist/components/FormComponent/FormComponent.test.js +354 -415
  32. package/dist/components/FormComponent/helpers/addLabel.js +4 -7
  33. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  34. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +8 -8
  35. package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
  36. package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
  37. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
  38. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
  39. package/dist/components/FormComponent/helpers/index.js +5 -5
  40. package/dist/components/FormComponent/index.js +1 -1
  41. package/dist/components/FormPage/FormPage.js +71 -87
  42. package/dist/components/FormPage/FormPage.test.js +133 -170
  43. package/dist/components/FormPage/index.js +1 -1
  44. package/dist/components/FormRenderer/FormRenderer.js +153 -198
  45. package/dist/components/FormRenderer/FormRenderer.test.js +731 -1116
  46. package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
  47. package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
  48. package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
  49. package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
  50. package/dist/components/FormRenderer/handlers/index.js +2 -2
  51. package/dist/components/FormRenderer/handlers/navigate.js +4 -4
  52. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  53. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  54. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +16 -16
  55. package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
  56. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +17 -21
  57. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +27 -30
  58. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
  59. package/dist/components/FormRenderer/helpers/getCYA.js +5 -7
  60. package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
  61. package/dist/components/FormRenderer/helpers/getFormState.js +6 -8
  62. package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
  63. package/dist/components/FormRenderer/helpers/getNextPageId.js +18 -32
  64. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
  65. package/dist/components/FormRenderer/helpers/getPage.js +2 -4
  66. package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
  67. package/dist/components/FormRenderer/helpers/getRelevantPages.js +8 -11
  68. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
  69. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +12 -13
  70. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +104 -98
  71. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +65 -64
  72. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +72 -79
  73. package/dist/components/FormRenderer/helpers/index.js +2 -2
  74. package/dist/components/FormRenderer/index.js +1 -1
  75. package/dist/components/FormRenderer/onCYAAction.js +61 -54
  76. package/dist/components/FormRenderer/onCYAAction.test.js +165 -153
  77. package/dist/components/FormRenderer/onPageAction.js +45 -41
  78. package/dist/components/FormRenderer/onPageAction.test.js +225 -210
  79. package/dist/components/FormRenderer/onTaskAction.js +11 -15
  80. package/dist/components/FormRenderer/onTaskAction.test.js +94 -89
  81. package/dist/components/PageActions/ActionButton.js +13 -16
  82. package/dist/components/PageActions/ActionButton.test.js +57 -79
  83. package/dist/components/PageActions/PageActions.js +11 -11
  84. package/dist/components/PageActions/PageActions.test.js +87 -116
  85. package/dist/components/PageActions/index.js +1 -1
  86. package/dist/components/SummaryList/GroupAction.js +13 -21
  87. package/dist/components/SummaryList/GroupAction.test.js +41 -37
  88. package/dist/components/SummaryList/RowAction.js +12 -17
  89. package/dist/components/SummaryList/RowAction.test.js +41 -37
  90. package/dist/components/SummaryList/SummaryList.js +23 -28
  91. package/dist/components/SummaryList/SummaryList.test.js +179 -206
  92. package/dist/components/SummaryList/SummaryListHeadingRow.js +8 -6
  93. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +7 -5
  94. package/dist/components/SummaryList/SummaryListRow.js +8 -6
  95. package/dist/components/SummaryList/SummaryListTitleRow.js +7 -5
  96. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +4 -6
  97. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +24 -24
  98. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +4 -6
  99. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +24 -24
  100. package/dist/components/SummaryList/helpers/index.js +2 -2
  101. package/dist/components/SummaryList/index.js +1 -1
  102. package/dist/components/TaskList/Task.js +20 -30
  103. package/dist/components/TaskList/Task.test.js +84 -77
  104. package/dist/components/TaskList/TaskList.js +53 -84
  105. package/dist/components/TaskList/TaskList.test.js +150 -150
  106. package/dist/components/TaskList/TaskState.js +8 -6
  107. package/dist/components/TaskList/TaskState.test.js +56 -49
  108. package/dist/components/TaskList/index.js +1 -1
  109. package/dist/components/index.js +8 -8
  110. package/dist/context/HooksContext/HooksContext.js +58 -81
  111. package/dist/context/HooksContext/HooksContext.test.js +27 -36
  112. package/dist/context/HooksContext/index.js +3 -4
  113. package/dist/context/ValidationContext/ValidationContext.js +44 -95
  114. package/dist/context/ValidationContext/ValidationContext.test.js +58 -70
  115. package/dist/context/ValidationContext/index.js +3 -4
  116. package/dist/context/index.js +3 -3
  117. package/dist/hooks/index.js +10 -11
  118. package/dist/hooks/useAxios.js +15 -41
  119. package/dist/hooks/useGetRequest.js +62 -98
  120. package/dist/hooks/useHooks.js +1 -3
  121. package/dist/hooks/useRefData.js +28 -41
  122. package/dist/hooks/useValidation.js +1 -3
  123. package/dist/index.js +14 -15
  124. package/dist/models/CollectionLabels.js +1 -1
  125. package/dist/models/ComponentTypes.js +25 -25
  126. package/dist/models/EventTypes.js +4 -4
  127. package/dist/models/FormPages.js +4 -4
  128. package/dist/models/FormTypes.js +8 -8
  129. package/dist/models/HubFormats.js +3 -3
  130. package/dist/models/PageAction.js +44 -38
  131. package/dist/models/TaskStates.js +29 -28
  132. package/dist/models/index.js +10 -10
  133. package/dist/setupTests.js +31 -32
  134. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  135. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
  136. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +17 -27
  137. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +34 -36
  138. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +20 -34
  139. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +43 -45
  140. package/dist/utils/CheckYourAnswers/getCYARow.js +8 -10
  141. package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
  142. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +19 -25
  143. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
  144. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +39 -45
  145. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +72 -75
  146. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +100 -105
  147. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +218 -182
  148. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +26 -21
  149. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
  150. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +15 -21
  151. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +77 -83
  152. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +13 -13
  153. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +14 -19
  154. package/dist/utils/CheckYourAnswers/index.js +2 -2
  155. package/dist/utils/CheckYourAnswers/showComponentCYA.js +6 -6
  156. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
  157. package/dist/utils/CollectionPage/addCollectionPageEntry.js +3 -3
  158. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
  159. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
  160. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +21 -22
  161. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +15 -24
  162. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +52 -43
  163. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +3 -3
  164. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
  165. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -12
  166. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
  167. package/dist/utils/CollectionPage/getCollectionPageData.js +8 -13
  168. package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
  169. package/dist/utils/CollectionPage/getErrorsForCollection.js +25 -26
  170. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +21 -23
  171. package/dist/utils/CollectionPage/getQuickEditPage.js +37 -32
  172. package/dist/utils/CollectionPage/getQuickEditPage.test.js +18 -22
  173. package/dist/utils/CollectionPage/index.js +2 -2
  174. package/dist/utils/CollectionPage/mergeCollectionPages.js +37 -42
  175. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -22
  176. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +5 -7
  177. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
  178. package/dist/utils/CollectionPage/setCollectionPageData.js +13 -19
  179. package/dist/utils/CollectionPage/setCollectionPageData.test.js +26 -26
  180. package/dist/utils/Component/addShowWhen.js +4 -8
  181. package/dist/utils/Component/addShowWhen.test.js +38 -38
  182. package/dist/utils/Component/applyToComponentTree.js +19 -20
  183. package/dist/utils/Component/applyToComponentTree.test.js +28 -33
  184. package/dist/utils/Component/cleanAttributes.js +10 -13
  185. package/dist/utils/Component/cleanAttributes.test.js +17 -18
  186. package/dist/utils/Component/elevateNestedComponents.js +6 -7
  187. package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
  188. package/dist/utils/Component/getComponent.js +90 -97
  189. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
  190. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +50 -63
  191. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +40 -49
  192. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +30 -40
  193. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +21 -19
  194. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +18 -23
  195. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +22 -27
  196. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +12 -11
  197. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +18 -16
  198. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +10 -9
  199. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +18 -16
  200. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +23 -27
  201. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
  202. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +18 -16
  203. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +18 -23
  204. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +58 -73
  205. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +18 -23
  206. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +18 -23
  207. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +34 -41
  208. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +23 -32
  209. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
  210. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +10 -9
  211. package/dist/utils/Component/getDefaultValue.js +7 -9
  212. package/dist/utils/Component/getDefaultValue.test.js +13 -13
  213. package/dist/utils/Component/getDefaultValueFromConfig.js +24 -24
  214. package/dist/utils/Component/getDefaultValueFromConfig.test.js +32 -32
  215. package/dist/utils/Component/index.js +2 -2
  216. package/dist/utils/Component/isEditable.js +2 -4
  217. package/dist/utils/Component/isEditable.test.js +14 -15
  218. package/dist/utils/Component/optionIsSelected.js +2 -4
  219. package/dist/utils/Component/optionIsSelected.test.js +12 -12
  220. package/dist/utils/Component/setupContainerComponentsPath.js +29 -31
  221. package/dist/utils/Component/setupContainerComponentsPath.test.js +16 -16
  222. package/dist/utils/Component/showComponent.js +3 -4
  223. package/dist/utils/Component/showComponent.test.js +29 -29
  224. package/dist/utils/Component/wrapInFormGroup.js +4 -4
  225. package/dist/utils/Condition/index.js +2 -2
  226. package/dist/utils/Condition/meetsAllConditions.js +9 -9
  227. package/dist/utils/Condition/meetsAllConditions.test.js +21 -21
  228. package/dist/utils/Condition/meetsCondition.js +20 -31
  229. package/dist/utils/Condition/meetsCondition.test.js +403 -403
  230. package/dist/utils/Condition/meetsOneCondition.js +6 -6
  231. package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
  232. package/dist/utils/Condition/setupConditions.js +14 -19
  233. package/dist/utils/Condition/setupConditions.test.js +8 -8
  234. package/dist/utils/Container/getEditableComponents.js +4 -6
  235. package/dist/utils/Container/getEditableComponents.test.js +44 -46
  236. package/dist/utils/Container/index.js +2 -2
  237. package/dist/utils/Container/setupNesting.js +16 -22
  238. package/dist/utils/Container/setupNesting.test.js +28 -31
  239. package/dist/utils/Container/showContainer.js +4 -8
  240. package/dist/utils/Container/showContainer.test.js +31 -31
  241. package/dist/utils/Data/applyFormula.js +40 -50
  242. package/dist/utils/Data/applyFormula.test.js +26 -26
  243. package/dist/utils/Data/deleteValues.js +4 -8
  244. package/dist/utils/Data/deleteValues.test.js +11 -11
  245. package/dist/utils/Data/getAutocompleteSource.js +20 -29
  246. package/dist/utils/Data/getAutocompleteSource.test.js +81 -87
  247. package/dist/utils/Data/getDataPath.js +20 -30
  248. package/dist/utils/Data/getDataPath.test.js +20 -20
  249. package/dist/utils/Data/getOptions.js +27 -34
  250. package/dist/utils/Data/getOptions.test.js +28 -28
  251. package/dist/utils/Data/getSourceData.js +6 -19
  252. package/dist/utils/Data/getSourceData.test.js +85 -81
  253. package/dist/utils/Data/index.js +2 -2
  254. package/dist/utils/Data/nestInRefdataOptions.js +9 -16
  255. package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
  256. package/dist/utils/Data/refDataToOptions.js +11 -15
  257. package/dist/utils/Data/refDataToOptions.test.js +20 -20
  258. package/dist/utils/Data/setDataItem.js +7 -8
  259. package/dist/utils/Data/setDataItem.test.js +38 -38
  260. package/dist/utils/Data/setupFormData.js +14 -22
  261. package/dist/utils/Data/setupFormData.test.js +52 -51
  262. package/dist/utils/Data/setupRefDataUrlForComponent.js +21 -28
  263. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +28 -28
  264. package/dist/utils/FormPage/applyConditionalProperties.js +6 -10
  265. package/dist/utils/FormPage/applyConditionalProperties.test.js +16 -19
  266. package/dist/utils/FormPage/getConditionalText.js +4 -4
  267. package/dist/utils/FormPage/getConditionalText.test.js +35 -35
  268. package/dist/utils/FormPage/getFormPage.js +16 -17
  269. package/dist/utils/FormPage/getFormPage.test.js +49 -48
  270. package/dist/utils/FormPage/getFormPages.js +8 -13
  271. package/dist/utils/FormPage/getFormPages.test.js +22 -25
  272. package/dist/utils/FormPage/getPageActions.js +10 -17
  273. package/dist/utils/FormPage/getPageActions.test.js +33 -33
  274. package/dist/utils/FormPage/getParagraphFromText.js +5 -7
  275. package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
  276. package/dist/utils/FormPage/index.js +3 -5
  277. package/dist/utils/FormPage/showFormPage.js +4 -8
  278. package/dist/utils/FormPage/showFormPage.test.js +33 -33
  279. package/dist/utils/FormPage/showFormPageCYA.js +3 -3
  280. package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
  281. package/dist/utils/FormPage/useComponent.js +21 -28
  282. package/dist/utils/FormPage/useComponent.test.js +78 -80
  283. package/dist/utils/Format/formatData.js +1 -1
  284. package/dist/utils/Format/formatData.test.js +19 -19
  285. package/dist/utils/Format/formatDataForComponent.js +6 -7
  286. package/dist/utils/Format/formatDataForComponent.test.js +50 -78
  287. package/dist/utils/Format/formatDataForForm.js +6 -8
  288. package/dist/utils/Format/formatDataForForm.test.js +14 -17
  289. package/dist/utils/Format/formatDataForPage.js +4 -5
  290. package/dist/utils/Format/formatDataForPage.test.js +20 -25
  291. package/dist/utils/Format/index.js +2 -2
  292. package/dist/utils/Hub/getFormHub.js +2 -2
  293. package/dist/utils/Hub/getFormHub.test.js +29 -32
  294. package/dist/utils/Hub/index.js +2 -2
  295. package/dist/utils/Meta/constants.js +2 -2
  296. package/dist/utils/Meta/documents/getDocuments.js +1 -4
  297. package/dist/utils/Meta/documents/getDocuments.test.js +25 -17
  298. package/dist/utils/Meta/documents/index.js +2 -2
  299. package/dist/utils/Meta/documents/setDocumentsForField.js +15 -17
  300. package/dist/utils/Meta/documents/setDocumentsForField.test.js +69 -35
  301. package/dist/utils/Meta/index.js +2 -2
  302. package/dist/utils/Operate/checkValueIsTruthy.js +4 -4
  303. package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
  304. package/dist/utils/Operate/deleteValueInFormData.js +3 -3
  305. package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
  306. package/dist/utils/Operate/getFirstOf.js +8 -8
  307. package/dist/utils/Operate/getFirstOf.test.js +33 -33
  308. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +12 -12
  309. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
  310. package/dist/utils/Operate/getLength.js +11 -11
  311. package/dist/utils/Operate/getLength.test.js +19 -19
  312. package/dist/utils/Operate/index.js +2 -2
  313. package/dist/utils/Operate/persistValueInFormData.js +6 -6
  314. package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
  315. package/dist/utils/Operate/runPageOperations.js +9 -9
  316. package/dist/utils/Operate/runPageOperations.test.js +36 -37
  317. package/dist/utils/Operate/setValueInFormData.js +5 -5
  318. package/dist/utils/Operate/setValueInFormData.test.js +17 -17
  319. package/dist/utils/Operate/shouldRun.js +8 -8
  320. package/dist/utils/Operate/shouldRun.test.js +22 -28
  321. package/dist/utils/Validate/additional/conditionallyPermittedChange.js +25 -0
  322. package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +33 -0
  323. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -5
  324. package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
  325. package/dist/utils/Validate/additional/index.js +10 -8
  326. package/dist/utils/Validate/additional/index.test.js +22 -22
  327. package/dist/utils/Validate/additional/mustBeAfter.js +3 -3
  328. package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
  329. package/dist/utils/Validate/additional/mustBeBefore.js +3 -3
  330. package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
  331. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +9 -14
  332. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +38 -42
  333. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  334. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
  335. package/dist/utils/Validate/additional/mustBeInTheFuture.js +4 -4
  336. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
  337. package/dist/utils/Validate/additional/mustBeInThePast.js +5 -5
  338. package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
  339. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  340. package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
  341. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  342. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
  343. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  344. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
  345. package/dist/utils/Validate/additional/mustBeOneOf.js +1 -1
  346. package/dist/utils/Validate/additional/mustBeOneOf.test.js +13 -13
  347. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  348. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
  349. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +5 -5
  350. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +36 -40
  351. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +3 -5
  352. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +15 -17
  353. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  354. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
  355. package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
  356. package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
  357. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +3 -5
  358. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
  359. package/dist/utils/Validate/additional/utils.js +11 -24
  360. package/dist/utils/Validate/index.js +2 -2
  361. package/dist/utils/Validate/validateCollection.js +21 -27
  362. package/dist/utils/Validate/validateCollection.test.js +85 -77
  363. package/dist/utils/Validate/validateComponent.js +22 -23
  364. package/dist/utils/Validate/validateComponent.test.js +188 -165
  365. package/dist/utils/Validate/validateContainer.js +16 -21
  366. package/dist/utils/Validate/validateContainer.test.js +62 -56
  367. package/dist/utils/Validate/validateDate.js +17 -23
  368. package/dist/utils/Validate/validateDate.test.js +31 -32
  369. package/dist/utils/Validate/validateEmail.js +7 -9
  370. package/dist/utils/Validate/validateEmail.test.js +26 -26
  371. package/dist/utils/Validate/validateMultifile.js +5 -7
  372. package/dist/utils/Validate/validateMultifile.test.js +17 -18
  373. package/dist/utils/Validate/validatePage.js +20 -24
  374. package/dist/utils/Validate/validatePage.test.js +227 -215
  375. package/dist/utils/Validate/validateRegex.js +5 -8
  376. package/dist/utils/Validate/validateRegex.test.js +17 -17
  377. package/dist/utils/Validate/validateRequired.js +5 -7
  378. package/dist/utils/Validate/validateRequired.test.js +19 -19
  379. package/dist/utils/Validate/validateTextArea.js +5 -7
  380. package/dist/utils/Validate/validateTextArea.test.js +21 -21
  381. package/dist/utils/Validate/validateTime.js +12 -19
  382. package/dist/utils/Validate/validateTime.test.js +27 -27
  383. package/dist/utils/index.js +8 -10
  384. package/package.json +3 -2
@@ -6,23 +6,21 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _models = require("../../../models");
8
8
  var _utils = _interopRequireDefault(require("../../../utils"));
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
11
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
14
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
15
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // Local imports
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ // Local imports
11
+
16
12
  /**
17
13
  * @param {boolean} complete - true if task complete
18
14
  * @param {boolean} currentPage - true if current page
19
15
  * @param {TaskStates.TYPES|string} defaultState - default state to set task
20
16
  * @returns {TaskStates.TYPES|string} current task state
21
17
  */
22
- var getCurrentTaskState = function getCurrentTaskState(_ref) {
23
- var complete = _ref.complete,
24
- currentPage = _ref.currentPage;
25
- var defaultState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _models.TaskStates.TYPES.NOT_STARTED;
18
+ const getCurrentTaskState = function (_ref) {
19
+ let {
20
+ complete,
21
+ currentPage
22
+ } = _ref;
23
+ let defaultState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _models.TaskStates.TYPES.NOT_STARTED;
26
24
  if (complete) {
27
25
  return _models.TaskStates.TYPES.COMPLETE;
28
26
  }
@@ -39,18 +37,18 @@ var getCurrentTaskState = function getCurrentTaskState(_ref) {
39
37
  * @param {boolean} ignoreSkipped - skipped tasks don't need to have been completed
40
38
  * @returns {boolean} true if dependent tasks complete
41
39
  */
42
- var allDependentTasksComplete = function allDependentTasksComplete(taskStates, mustBeComplete) {
43
- var ignoreSkipped = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
44
- return mustBeComplete.reduce(function (allComplete, taskName) {
45
- var task = taskStates[taskName];
46
- if (ignoreSkipped && (task === null || task === void 0 ? void 0 : task.state) === _models.TaskStates.TYPES.SKIPPED) {
40
+ const allDependentTasksComplete = function (taskStates, mustBeComplete) {
41
+ let ignoreSkipped = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
42
+ return mustBeComplete.reduce((allComplete, taskName) => {
43
+ const task = taskStates[taskName];
44
+ if (ignoreSkipped && task?.state === _models.TaskStates.TYPES.SKIPPED) {
47
45
  return allComplete;
48
46
  }
49
- return allComplete && (task === null || task === void 0 ? void 0 : task.complete);
47
+ return allComplete && task?.complete;
50
48
  }, true);
51
49
  };
52
- var isPreviousTaskComplete = function isPreviousTaskComplete(tasks, taskIndex) {
53
- var lastTaskState = tasks[taskIndex - 1].state;
50
+ const isPreviousTaskComplete = (tasks, taskIndex) => {
51
+ const lastTaskState = tasks[taskIndex - 1].state;
54
52
  if (lastTaskState === _models.TaskStates.TYPES.COMPLETE) {
55
53
  return true;
56
54
  }
@@ -71,9 +69,9 @@ var isPreviousTaskComplete = function isPreviousTaskComplete(tasks, taskIndex) {
71
69
  * @returns {TYPES|string} new state
72
70
  */
73
71
 
74
- var updateTaskState = function updateTaskState(task, taskIndex, taskList, taskStates) {
75
- var nonSequential = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
76
- var allowFirst = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : true;
72
+ const updateTaskState = function (task, taskIndex, taskList, taskStates) {
73
+ let nonSequential = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
74
+ let allowFirst = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : true;
77
75
  if (taskStates[task.name]) {
78
76
  return getCurrentTaskState(taskStates[task.name], task.state);
79
77
  }
@@ -83,7 +81,7 @@ var updateTaskState = function updateTaskState(task, taskIndex, taskList, taskSt
83
81
  }
84
82
  return _models.TaskStates.TYPES.NOT_STARTED;
85
83
  }
86
- var notStarted = allowFirst;
84
+ let notStarted = allowFirst;
87
85
  if (taskIndex) {
88
86
  notStarted = isPreviousTaskComplete(taskList, taskIndex);
89
87
  }
@@ -102,14 +100,12 @@ var updateTaskState = function updateTaskState(task, taskIndex, taskList, taskSt
102
100
  * @param {boolean} allowFirst - true if first task can be started
103
101
  * @returns {object} - updated section
104
102
  */
105
- var updateTasks = function updateTasks(section, taskStates, nonSequential, allowFirst) {
106
- var clone = section.tasks.map(function (a) {
107
- return _objectSpread({}, a);
108
- });
109
- clone.filter(function (t) {
110
- return t.state !== _models.TaskStates.TYPES.SKIPPED;
111
- }).forEach(function (t, index) {
112
- var task = t;
103
+ const updateTasks = (section, taskStates, nonSequential, allowFirst) => {
104
+ const clone = section.tasks.map(a => ({
105
+ ...a
106
+ }));
107
+ clone.filter(t => t.state !== _models.TaskStates.TYPES.SKIPPED).forEach((t, index) => {
108
+ const task = t;
113
109
  task.state = updateTaskState(task, index, clone, taskStates, nonSequential, allowFirst);
114
110
  });
115
111
  return clone;
@@ -124,9 +120,8 @@ var updateTasks = function updateTasks(section, taskStates, nonSequential, allow
124
120
  * @returns {boolean} true if the last non-skipped section is complete, false
125
121
  * if not.
126
122
  */
127
- var isPreviousSectionComplete = function isPreviousSectionComplete(sections, currentIndex) {
128
- var _sections;
129
- var lastTaskState = (_sections = sections[currentIndex - 1]) === null || _sections === void 0 || (_sections = _sections.tasks.slice(-1)[0]) === null || _sections === void 0 ? void 0 : _sections.state;
123
+ const isPreviousSectionComplete = (sections, currentIndex) => {
124
+ const lastTaskState = sections[currentIndex - 1]?.tasks.slice(-1)[0]?.state;
130
125
  if (lastTaskState === _models.TaskStates.TYPES.COMPLETE) {
131
126
  return true;
132
127
  }
@@ -144,56 +139,62 @@ var isPreviousSectionComplete = function isPreviousSectionComplete(sections, cur
144
139
  * @param {object} data - current form data
145
140
  * @returns {object[]} - updated sections - note this is a clone
146
141
  */
147
- var getUpdatedSectionStates = function getUpdatedSectionStates(sections, taskStates) {
148
- var nonSequential = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
149
- var data = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
142
+ const getUpdatedSectionStates = function (sections, taskStates) {
143
+ let nonSequential = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
144
+ let data = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
150
145
  // Make a clone and handle any hidden sections.
151
- var clone = sections.map(function (section) {
152
- var showWhen = section.show_when ? [section.show_when].flat() : [];
146
+ const clone = sections.map(section => {
147
+ const showWhen = section.show_when ? [section.show_when].flat() : [];
153
148
  if (data && !_utils.default.Condition.meetsAll(showWhen, data)) {
154
- return _objectSpread(_objectSpread({}, section), {}, {
149
+ return {
150
+ ...section,
155
151
  skipped: true,
156
- tasks: section.tasks.map(function (task) {
157
- return _objectSpread(_objectSpread({}, task), {}, {
158
- state: _models.TaskStates.TYPES.SKIPPED
159
- });
160
- })
161
- });
152
+ tasks: section.tasks.map(task => ({
153
+ ...task,
154
+ state: _models.TaskStates.TYPES.SKIPPED
155
+ }))
156
+ };
162
157
  }
163
158
  ;
164
- return _objectSpread({}, section);
159
+ return {
160
+ ...section
161
+ };
165
162
  });
166
163
 
167
164
  // Now iterate through the clone and handle any hidden tasks.
168
- clone.forEach(function (s) {
169
- var section = s;
170
- section.tasks = section.tasks.map(function (task) {
171
- var showWhen = task.show_when ? [task.show_when].flat() : [];
165
+ clone.forEach(s => {
166
+ const section = s;
167
+ section.tasks = section.tasks.map(task => {
168
+ const showWhen = task.show_when ? [task.show_when].flat() : [];
172
169
  if (data && !_utils.default.Condition.meetsAll(showWhen, data)) {
173
- return _objectSpread(_objectSpread({}, task), {}, {
170
+ return {
171
+ ...task,
174
172
  state: _models.TaskStates.TYPES.SKIPPED
175
- });
173
+ };
176
174
  }
177
- return _objectSpread({}, task);
175
+ return {
176
+ ...task
177
+ };
178
178
  });
179
179
  });
180
180
 
181
181
  // Update the taskStates to account for skipped tasks.
182
- var states = _objectSpread({}, taskStates);
183
- clone.forEach(function (section) {
184
- section.tasks.filter(function (t) {
185
- return t.state === _models.TaskStates.TYPES.SKIPPED;
186
- }).forEach(function (task) {
187
- states[task.name] = _objectSpread(_objectSpread({}, states[task.name]), {}, {
182
+ const states = {
183
+ ...taskStates
184
+ };
185
+ clone.forEach(section => {
186
+ section.tasks.filter(t => t.state === _models.TaskStates.TYPES.SKIPPED).forEach(task => {
187
+ states[task.name] = {
188
+ ...states[task.name],
188
189
  state: _models.TaskStates.TYPES.SKIPPED
189
- });
190
+ };
190
191
  });
191
192
  });
192
193
 
193
194
  // Now figure out all the task states.
194
- clone.forEach(function (s, index) {
195
- var section = s;
196
- var allowFirst = index === 0 || isPreviousSectionComplete(clone, index);
195
+ clone.forEach((s, index) => {
196
+ const section = s;
197
+ const allowFirst = index === 0 || isPreviousSectionComplete(clone, index);
197
198
  section.tasks = updateTasks(section, states, nonSequential, allowFirst);
198
199
  });
199
200
  return clone;
@@ -2,17 +2,13 @@
2
2
 
3
3
  var _models = require("../../../models");
4
4
  var _getUpdatedSectionStates = _interopRequireDefault(require("./getUpdatedSectionStates"));
5
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
7
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
10
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
11
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // Local imports
12
- describe('components.FormRenderer.helpers.getUpdatedSectionStates', function () {
13
- describe('sequential tasks', function () {
14
- it("should set all tasks to '".concat(_models.TaskStates.TYPES.CANNOT_START_YET, "' excluding the first which should be '").concat(_models.TaskStates.TYPES.NOT_STARTED, "'"), function () {
15
- var SECTIONS = [{
5
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
6
+ // Local imports
7
+
8
+ describe('components.FormRenderer.helpers.getUpdatedSectionStates', () => {
9
+ describe('sequential tasks', () => {
10
+ it(`should set all tasks to '${_models.TaskStates.TYPES.CANNOT_START_YET}' excluding the first which should be '${_models.TaskStates.TYPES.NOT_STARTED}'`, () => {
11
+ const SECTIONS = [{
16
12
  name: 'Add event details',
17
13
  tasks: [{
18
14
  name: 'Date, location and mode details',
@@ -34,15 +30,15 @@ describe('components.FormRenderer.helpers.getUpdatedSectionStates', function ()
34
30
  pages: ['journeyDetails']
35
31
  }]
36
32
  }];
37
- var updatedSections = (0, _getUpdatedSectionStates.default)(SECTIONS, {});
33
+ const updatedSections = (0, _getUpdatedSectionStates.default)(SECTIONS, {});
38
34
  expect(updatedSections[0].tasks[0].state).toEqual(_models.TaskStates.TYPES.NOT_STARTED);
39
35
  expect(updatedSections[0].tasks[1].state).toEqual(_models.TaskStates.TYPES.CANNOT_START_YET);
40
36
  expect(updatedSections[1].tasks[0].state).toEqual(_models.TaskStates.TYPES.CANNOT_START_YET);
41
37
  expect(updatedSections[1].tasks[1].state).toEqual(_models.TaskStates.TYPES.CANNOT_START_YET);
42
38
  expect(updatedSections[1].tasks[2].state).toEqual(_models.TaskStates.TYPES.CANNOT_START_YET);
43
39
  });
44
- it("should set tasks after any '".concat(_models.TaskStates.TYPES.COMPLETE, "' ones to '").concat(_models.TaskStates.TYPES.NOT_STARTED, "'"), function () {
45
- var SECTIONS = [{
40
+ it(`should set tasks after any '${_models.TaskStates.TYPES.COMPLETE}' ones to '${_models.TaskStates.TYPES.NOT_STARTED}'`, () => {
41
+ const SECTIONS = [{
46
42
  name: 'Add event details',
47
43
  tasks: [{
48
44
  name: 'Date, location and mode details',
@@ -52,17 +48,17 @@ describe('components.FormRenderer.helpers.getUpdatedSectionStates', function ()
52
48
  pages: ['officeDetails']
53
49
  }]
54
50
  }];
55
- var TASKS = {
51
+ const TASKS = {
56
52
  'Date, location and mode details': {
57
53
  complete: true
58
54
  }
59
55
  };
60
- var updatedSections = (0, _getUpdatedSectionStates.default)(SECTIONS, TASKS);
56
+ const updatedSections = (0, _getUpdatedSectionStates.default)(SECTIONS, TASKS);
61
57
  expect(updatedSections[0].tasks[0].state).toEqual(_models.TaskStates.TYPES.COMPLETE);
62
58
  expect(updatedSections[0].tasks[1].state).toEqual(_models.TaskStates.TYPES.NOT_STARTED);
63
59
  });
64
- it("should set tasks after any '".concat(_models.TaskStates.TYPES.COMPLETE, "' ones to '").concat(_models.TaskStates.TYPES.NOT_STARTED, " across different sections'"), function () {
65
- var SECTIONS = [{
60
+ it(`should set tasks after any '${_models.TaskStates.TYPES.COMPLETE}' ones to '${_models.TaskStates.TYPES.NOT_STARTED} across different sections'`, () => {
61
+ const SECTIONS = [{
66
62
  name: 'Add event details',
67
63
  tasks: [{
68
64
  name: 'Date, location and mode details',
@@ -81,7 +77,7 @@ describe('components.FormRenderer.helpers.getUpdatedSectionStates', function ()
81
77
  pages: ['immigrationDate']
82
78
  }]
83
79
  }];
84
- var TASKS = {
80
+ const TASKS = {
85
81
  'Date, location and mode details': {
86
82
  complete: true
87
83
  },
@@ -89,14 +85,14 @@ describe('components.FormRenderer.helpers.getUpdatedSectionStates', function ()
89
85
  complete: true
90
86
  }
91
87
  };
92
- var updatedSections = (0, _getUpdatedSectionStates.default)(SECTIONS, TASKS);
88
+ const updatedSections = (0, _getUpdatedSectionStates.default)(SECTIONS, TASKS);
93
89
  expect(updatedSections[0].tasks[0].state).toEqual(_models.TaskStates.TYPES.COMPLETE);
94
90
  expect(updatedSections[0].tasks[1].state).toEqual(_models.TaskStates.TYPES.COMPLETE);
95
91
  expect(updatedSections[1].tasks[0].state).toEqual(_models.TaskStates.TYPES.NOT_STARTED);
96
92
  expect(updatedSections[1].tasks[1].state).toEqual(_models.TaskStates.TYPES.CANNOT_START_YET);
97
93
  });
98
- it("should set tasks to '".concat(_models.TaskStates.TYPES.IN_PROGRESS, "' if they have a current page but are not complete"), function () {
99
- var SECTIONS = [{
94
+ it(`should set tasks to '${_models.TaskStates.TYPES.IN_PROGRESS}' if they have a current page but are not complete`, () => {
95
+ const SECTIONS = [{
100
96
  name: 'Add event details',
101
97
  tasks: [{
102
98
  name: 'Date, location and mode details',
@@ -106,18 +102,18 @@ describe('components.FormRenderer.helpers.getUpdatedSectionStates', function ()
106
102
  pages: ['officeDetails']
107
103
  }]
108
104
  }];
109
- var TASKS = {
105
+ const TASKS = {
110
106
  'Date, location and mode details': {
111
107
  complete: false,
112
108
  currentPage: 'eventMode'
113
109
  }
114
110
  };
115
- var updatedSections = (0, _getUpdatedSectionStates.default)(SECTIONS, TASKS);
111
+ const updatedSections = (0, _getUpdatedSectionStates.default)(SECTIONS, TASKS);
116
112
  expect(updatedSections[0].tasks[0].state).toEqual(_models.TaskStates.TYPES.IN_PROGRESS);
117
113
  expect(updatedSections[0].tasks[1].state).toEqual(_models.TaskStates.TYPES.CANNOT_START_YET);
118
114
  });
119
- it("should set the status of any tasks in a section with a failed show_when to '".concat(_models.TaskStates.TYPES.SKIPPED, "'"), function () {
120
- var SECTIONS = [{
115
+ it(`should set the status of any tasks in a section with a failed show_when to '${_models.TaskStates.TYPES.SKIPPED}'`, () => {
116
+ const SECTIONS = [{
121
117
  name: 'Add event details',
122
118
  tasks: [{
123
119
  name: 'Date, location and mode details',
@@ -141,7 +137,7 @@ describe('components.FormRenderer.helpers.getUpdatedSectionStates', function ()
141
137
  pages: ['immigrationDate']
142
138
  }]
143
139
  }];
144
- var TASKS = {
140
+ const TASKS = {
145
141
  'Date, location and mode details': {
146
142
  complete: true
147
143
  },
@@ -149,18 +145,18 @@ describe('components.FormRenderer.helpers.getUpdatedSectionStates', function ()
149
145
  complete: true
150
146
  }
151
147
  };
152
- var DATA = {
148
+ const DATA = {
153
149
  field: 'hideMe'
154
150
  };
155
- var updatedSections = (0, _getUpdatedSectionStates.default)(SECTIONS, TASKS, false, DATA);
151
+ const updatedSections = (0, _getUpdatedSectionStates.default)(SECTIONS, TASKS, false, DATA);
156
152
  expect(updatedSections[0].tasks[0].state).toEqual(_models.TaskStates.TYPES.COMPLETE);
157
153
  expect(updatedSections[0].tasks[1].state).toEqual(_models.TaskStates.TYPES.COMPLETE);
158
154
  expect(updatedSections[1].skipped).toEqual(true);
159
155
  expect(updatedSections[1].tasks[0].state).toEqual(_models.TaskStates.TYPES.SKIPPED);
160
156
  expect(updatedSections[1].tasks[1].state).toEqual(_models.TaskStates.TYPES.SKIPPED);
161
157
  });
162
- it("should set the status of any tasks with a failed show_when to '".concat(_models.TaskStates.TYPES.SKIPPED, "'"), function () {
163
- var SECTIONS = [{
158
+ it(`should set the status of any tasks with a failed show_when to '${_models.TaskStates.TYPES.SKIPPED}'`, () => {
159
+ const SECTIONS = [{
164
160
  name: 'Add event details',
165
161
  tasks: [{
166
162
  name: 'Date, location and mode details',
@@ -180,15 +176,15 @@ describe('components.FormRenderer.helpers.getUpdatedSectionStates', function ()
180
176
  }
181
177
  }]
182
178
  }];
183
- var DATA = {
179
+ const DATA = {
184
180
  field: 'hideMe'
185
181
  };
186
- var updatedSections = (0, _getUpdatedSectionStates.default)(SECTIONS, {}, false, DATA);
182
+ const updatedSections = (0, _getUpdatedSectionStates.default)(SECTIONS, {}, false, DATA);
187
183
  expect(updatedSections[0].tasks[0].state).toEqual(_models.TaskStates.TYPES.SKIPPED);
188
184
  expect(updatedSections[0].tasks[1].state).toEqual(_models.TaskStates.TYPES.NOT_STARTED);
189
185
  });
190
- it("should set the status of any tasks to '".concat(_models.TaskStates.TYPES.NOT_STARTED, "' if previous tasks within a section have been skipped"), function () {
191
- var SECTIONS = [{
186
+ it(`should set the status of any tasks to '${_models.TaskStates.TYPES.NOT_STARTED}' if previous tasks within a section have been skipped`, () => {
187
+ const SECTIONS = [{
192
188
  name: 'Add event details',
193
189
  tasks: [{
194
190
  name: 'task one',
@@ -224,22 +220,22 @@ describe('components.FormRenderer.helpers.getUpdatedSectionStates', function ()
224
220
  }
225
221
  }]
226
222
  }];
227
- var DATA = {
223
+ const DATA = {
228
224
  field: 'hideMe'
229
225
  };
230
- var TASKS = {
226
+ const TASKS = {
231
227
  'task one': {
232
228
  complete: true
233
229
  }
234
230
  };
235
- var updatedSections = (0, _getUpdatedSectionStates.default)(SECTIONS, TASKS, false, DATA);
231
+ const updatedSections = (0, _getUpdatedSectionStates.default)(SECTIONS, TASKS, false, DATA);
236
232
  expect(updatedSections[0].tasks[0].state).toEqual(_models.TaskStates.TYPES.COMPLETE);
237
233
  expect(updatedSections[0].tasks[1].state).toEqual(_models.TaskStates.TYPES.SKIPPED);
238
234
  expect(updatedSections[0].tasks[2].state).toEqual(_models.TaskStates.TYPES.SKIPPED);
239
235
  expect(updatedSections[0].tasks[3].state).toEqual(_models.TaskStates.TYPES.NOT_STARTED);
240
236
  });
241
- it("should set the status of any tasks to '".concat(_models.TaskStates.TYPES.NOT_STARTED, "' if previous tasks within the last section have been skipped"), function () {
242
- var SECTIONS = [{
237
+ it(`should set the status of any tasks to '${_models.TaskStates.TYPES.NOT_STARTED}' if previous tasks within the last section have been skipped`, () => {
238
+ const SECTIONS = [{
243
239
  name: 'Add event details',
244
240
  tasks: [{
245
241
  name: 'task one',
@@ -265,22 +261,22 @@ describe('components.FormRenderer.helpers.getUpdatedSectionStates', function ()
265
261
  pages: ['eventDate', 'eventMode']
266
262
  }]
267
263
  }];
268
- var DATA = {
264
+ const DATA = {
269
265
  field: 'showMe'
270
266
  };
271
- var TASKS = {
267
+ const TASKS = {
272
268
  'task one': {
273
269
  complete: true
274
270
  }
275
271
  };
276
- var updatedSections = (0, _getUpdatedSectionStates.default)(SECTIONS, TASKS, false, DATA);
272
+ const updatedSections = (0, _getUpdatedSectionStates.default)(SECTIONS, TASKS, false, DATA);
277
273
  expect(updatedSections[0].tasks[0].state).toEqual(_models.TaskStates.TYPES.COMPLETE);
278
274
  expect(updatedSections[0].tasks[1].state).toEqual(_models.TaskStates.TYPES.SKIPPED);
279
275
  expect(updatedSections[1].tasks[0].state).toEqual(_models.TaskStates.TYPES.NOT_STARTED);
280
276
  });
281
277
  });
282
- it("should set the status of any tasks to '".concat(_models.TaskStates.TYPES.NOT_STARTED, "' if previous tasks have been skipped"), function () {
283
- var SECTIONS = [{
278
+ it(`should set the status of any tasks to '${_models.TaskStates.TYPES.NOT_STARTED}' if previous tasks have been skipped`, () => {
279
+ const SECTIONS = [{
284
280
  name: 'Add event details',
285
281
  show_when: {
286
282
  field: 'field',
@@ -304,20 +300,20 @@ describe('components.FormRenderer.helpers.getUpdatedSectionStates', function ()
304
300
  pages: ['immigrationDate']
305
301
  }]
306
302
  }];
307
- var TASKS = {};
308
- var DATA = {
303
+ const TASKS = {};
304
+ const DATA = {
309
305
  field: 'hideMe'
310
306
  };
311
- var updatedSections = (0, _getUpdatedSectionStates.default)(SECTIONS, TASKS, false, DATA);
307
+ const updatedSections = (0, _getUpdatedSectionStates.default)(SECTIONS, TASKS, false, DATA);
312
308
  expect(updatedSections[0].skipped).toEqual(true);
313
309
  expect(updatedSections[0].tasks[0].state).toEqual(_models.TaskStates.TYPES.SKIPPED);
314
310
  expect(updatedSections[0].tasks[1].state).toEqual(_models.TaskStates.TYPES.SKIPPED);
315
311
  expect(updatedSections[1].tasks[0].state).toEqual(_models.TaskStates.TYPES.NOT_STARTED);
316
312
  expect(updatedSections[1].tasks[1].state).toEqual(_models.TaskStates.TYPES.CANNOT_START_YET);
317
313
  });
318
- describe('non-sequential tasks', function () {
319
- var NON_SEQUENTIAL = true;
320
- var SECTIONS = [{
314
+ describe('non-sequential tasks', () => {
315
+ const NON_SEQUENTIAL = true;
316
+ const SECTIONS = [{
321
317
  name: 'First',
322
318
  tasks: [{
323
319
  name: 'Alpha'
@@ -336,31 +332,29 @@ describe('components.FormRenderer.helpers.getUpdatedSectionStates', function ()
336
332
  name: 'Delta'
337
333
  }]
338
334
  }];
339
- it("should set all states to '".concat(_models.TaskStates.TYPES.NOT_STARTED, "', except any that depend on others"), function () {
340
- var RESULT = (0, _getUpdatedSectionStates.default)(SECTIONS, {}, NON_SEQUENTIAL);
335
+ it(`should set all states to '${_models.TaskStates.TYPES.NOT_STARTED}', except any that depend on others`, () => {
336
+ const RESULT = (0, _getUpdatedSectionStates.default)(SECTIONS, {}, NON_SEQUENTIAL);
341
337
  expect(RESULT[0].tasks[0].state).toEqual(_models.TaskStates.TYPES.NOT_STARTED); // Alpha
342
338
  expect(RESULT[0].tasks[1].state).toEqual(_models.TaskStates.TYPES.NOT_STARTED); // Bravo
343
339
  expect(RESULT[1].tasks[0].state).toEqual(_models.TaskStates.TYPES.CANNOT_START_YET); // Charlie
344
340
  expect(RESULT[2].tasks[0].state).toEqual(_models.TaskStates.TYPES.NOT_STARTED); // Delta
345
341
  });
346
-
347
- it('should keep dependent state unable to start if any dependencies are not complete', function () {
348
- var ALPHA_COMPLETE = (0, _getUpdatedSectionStates.default)(SECTIONS, {
342
+ it('should keep dependent state unable to start if any dependencies are not complete', () => {
343
+ const ALPHA_COMPLETE = (0, _getUpdatedSectionStates.default)(SECTIONS, {
349
344
  Alpha: {
350
345
  complete: true
351
346
  }
352
347
  }, NON_SEQUENTIAL);
353
348
  expect(ALPHA_COMPLETE[1].tasks[0].state).toEqual(_models.TaskStates.TYPES.CANNOT_START_YET); // Charlie
354
- var BRAVO_COMPLETE = (0, _getUpdatedSectionStates.default)(SECTIONS, {
349
+ const BRAVO_COMPLETE = (0, _getUpdatedSectionStates.default)(SECTIONS, {
355
350
  Bravo: {
356
351
  complete: true
357
352
  }
358
353
  }, NON_SEQUENTIAL);
359
354
  expect(BRAVO_COMPLETE[1].tasks[0].state).toEqual(_models.TaskStates.TYPES.CANNOT_START_YET); // Charlie
360
355
  });
361
-
362
- it('should allow dependent state to start if all dependencies are complete', function () {
363
- var TASKS = {
356
+ it('should allow dependent state to start if all dependencies are complete', () => {
357
+ const TASKS = {
364
358
  'Alpha': {
365
359
  complete: true
366
360
  },
@@ -369,13 +363,12 @@ describe('components.FormRenderer.helpers.getUpdatedSectionStates', function ()
369
363
  },
370
364
  'Delta': {}
371
365
  };
372
- var RESULT = (0, _getUpdatedSectionStates.default)(SECTIONS, TASKS, NON_SEQUENTIAL);
366
+ const RESULT = (0, _getUpdatedSectionStates.default)(SECTIONS, TASKS, NON_SEQUENTIAL);
373
367
  expect(RESULT[1].tasks[0].state).toEqual(_models.TaskStates.TYPES.NOT_STARTED); // Charlie
374
368
  expect(RESULT[2].tasks[0].state).toEqual(_models.TaskStates.TYPES.NOT_STARTED); // Delta
375
369
  });
376
-
377
- it('should not allow dependent state to start if incomplete dependencies are skipped, but skipped are not ignored', function () {
378
- var TASKS = {
370
+ it('should not allow dependent state to start if incomplete dependencies are skipped, but skipped are not ignored', () => {
371
+ const TASKS = {
379
372
  'Alpha': {
380
373
  complete: true
381
374
  },
@@ -385,17 +378,18 @@ describe('components.FormRenderer.helpers.getUpdatedSectionStates', function ()
385
378
  },
386
379
  'Delta': {}
387
380
  };
388
- var RESULT = (0, _getUpdatedSectionStates.default)(SECTIONS, TASKS, NON_SEQUENTIAL);
381
+ const RESULT = (0, _getUpdatedSectionStates.default)(SECTIONS, TASKS, NON_SEQUENTIAL);
389
382
  expect(RESULT[1].tasks[0].state).toEqual(_models.TaskStates.TYPES.CANNOT_START_YET); // Charlie
390
383
  });
391
-
392
- it('should allow dependent state to start if incomplete dependencies are skipped, and skipped are ignored', function () {
393
- var SKIPPABLE_SECTIONS = [SECTIONS[0], _objectSpread(_objectSpread({}, SECTIONS[1]), {}, {
394
- tasks: [_objectSpread(_objectSpread({}, SECTIONS[1].tasks[0]), {}, {
384
+ it('should allow dependent state to start if incomplete dependencies are skipped, and skipped are ignored', () => {
385
+ const SKIPPABLE_SECTIONS = [SECTIONS[0], {
386
+ ...SECTIONS[1],
387
+ tasks: [{
388
+ ...SECTIONS[1].tasks[0],
395
389
  ignoreSkipped: true
396
- })]
397
- }), SECTIONS[2]];
398
- var TASKS = {
390
+ }]
391
+ }, SECTIONS[2]];
392
+ const TASKS = {
399
393
  'Alpha': {
400
394
  complete: true
401
395
  },
@@ -405,12 +399,11 @@ describe('components.FormRenderer.helpers.getUpdatedSectionStates', function ()
405
399
  },
406
400
  'Delta': {}
407
401
  };
408
- var RESULT = (0, _getUpdatedSectionStates.default)(SKIPPABLE_SECTIONS, TASKS, NON_SEQUENTIAL);
402
+ const RESULT = (0, _getUpdatedSectionStates.default)(SKIPPABLE_SECTIONS, TASKS, NON_SEQUENTIAL);
409
403
  expect(RESULT[1].tasks[0].state).toEqual(_models.TaskStates.TYPES.NOT_STARTED); // Charlie
410
404
  });
411
-
412
- it('should automatically skip tasks that are not shown', function () {
413
- var SHOW_WHEN_SECTIONS = [{
405
+ it('should automatically skip tasks that are not shown', () => {
406
+ const SHOW_WHEN_SECTIONS = [{
414
407
  name: 'First',
415
408
  tasks: [{
416
409
  name: 'Alpha'
@@ -438,7 +431,7 @@ describe('components.FormRenderer.helpers.getUpdatedSectionStates', function ()
438
431
  ignoreSkipped: true
439
432
  }]
440
433
  }];
441
- var TASKS = {
434
+ const TASKS = {
442
435
  'Alpha': {
443
436
  complete: true
444
437
  },
@@ -447,11 +440,11 @@ describe('components.FormRenderer.helpers.getUpdatedSectionStates', function ()
447
440
  },
448
441
  'Delta': {}
449
442
  };
450
- var DATA = {
443
+ const DATA = {
451
444
  echo: 'foxtrot',
452
445
  golf: 'hotel'
453
446
  };
454
- var RESULT = (0, _getUpdatedSectionStates.default)(SHOW_WHEN_SECTIONS, TASKS, NON_SEQUENTIAL, DATA);
447
+ const RESULT = (0, _getUpdatedSectionStates.default)(SHOW_WHEN_SECTIONS, TASKS, NON_SEQUENTIAL, DATA);
455
448
  expect(RESULT[2].tasks[0].state).toEqual(_models.TaskStates.TYPES.NOT_STARTED); // Charlie
456
449
  });
457
450
  });
@@ -13,10 +13,10 @@ var _getNextPageId = _interopRequireDefault(require("./getNextPageId"));
13
13
  var _getPage = _interopRequireDefault(require("./getPage"));
14
14
  var _getSubmissionStatus = _interopRequireDefault(require("./getSubmissionStatus"));
15
15
  var _getUpdatedSectionStates = _interopRequireDefault(require("./getUpdatedSectionStates"));
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
17
  // Local imports
18
18
 
19
- var helpers = {
19
+ const helpers = {
20
20
  canActionProceed: _canActionProceed.default,
21
21
  canCYASubmit: _canCYASubmit.default,
22
22
  cleanHiddenNestedData: _cleanHiddenNestedData.default,
@@ -5,5 +5,5 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _FormRenderer = _interopRequireDefault(require("./FormRenderer"));
8
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
9
  var _default = exports.default = _FormRenderer.default;