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