@ukhomeoffice/cop-react-form-renderer 5.90.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 (382) 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.test.js +910 -1082
  26. package/dist/components/FormComponent/Container.js +43 -38
  27. package/dist/components/FormComponent/Container.test.js +379 -411
  28. package/dist/components/FormComponent/FormComponent.js +71 -74
  29. package/dist/components/FormComponent/FormComponent.test.js +354 -415
  30. package/dist/components/FormComponent/helpers/addLabel.js +4 -7
  31. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  32. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +8 -8
  33. package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
  34. package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
  35. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
  36. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
  37. package/dist/components/FormComponent/helpers/index.js +5 -5
  38. package/dist/components/FormComponent/index.js +1 -1
  39. package/dist/components/FormPage/FormPage.js +71 -87
  40. package/dist/components/FormPage/FormPage.test.js +133 -170
  41. package/dist/components/FormPage/index.js +1 -1
  42. package/dist/components/FormRenderer/FormRenderer.js +153 -198
  43. package/dist/components/FormRenderer/FormRenderer.test.js +731 -1116
  44. package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
  45. package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
  46. package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
  47. package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
  48. package/dist/components/FormRenderer/handlers/index.js +2 -2
  49. package/dist/components/FormRenderer/handlers/navigate.js +4 -4
  50. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  51. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  52. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +16 -16
  53. package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
  54. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +17 -21
  55. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +27 -30
  56. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
  57. package/dist/components/FormRenderer/helpers/getCYA.js +5 -7
  58. package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
  59. package/dist/components/FormRenderer/helpers/getFormState.js +6 -8
  60. package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
  61. package/dist/components/FormRenderer/helpers/getNextPageId.js +18 -32
  62. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
  63. package/dist/components/FormRenderer/helpers/getPage.js +2 -4
  64. package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
  65. package/dist/components/FormRenderer/helpers/getRelevantPages.js +8 -11
  66. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
  67. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +12 -13
  68. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +104 -98
  69. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +65 -64
  70. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +72 -79
  71. package/dist/components/FormRenderer/helpers/index.js +2 -2
  72. package/dist/components/FormRenderer/index.js +1 -1
  73. package/dist/components/FormRenderer/onCYAAction.js +61 -54
  74. package/dist/components/FormRenderer/onCYAAction.test.js +165 -153
  75. package/dist/components/FormRenderer/onPageAction.js +45 -41
  76. package/dist/components/FormRenderer/onPageAction.test.js +225 -210
  77. package/dist/components/FormRenderer/onTaskAction.js +11 -15
  78. package/dist/components/FormRenderer/onTaskAction.test.js +94 -89
  79. package/dist/components/PageActions/ActionButton.js +13 -16
  80. package/dist/components/PageActions/ActionButton.test.js +57 -79
  81. package/dist/components/PageActions/PageActions.js +11 -11
  82. package/dist/components/PageActions/PageActions.test.js +87 -116
  83. package/dist/components/PageActions/index.js +1 -1
  84. package/dist/components/SummaryList/GroupAction.js +13 -21
  85. package/dist/components/SummaryList/GroupAction.test.js +41 -37
  86. package/dist/components/SummaryList/RowAction.js +12 -17
  87. package/dist/components/SummaryList/RowAction.test.js +41 -37
  88. package/dist/components/SummaryList/SummaryList.js +23 -28
  89. package/dist/components/SummaryList/SummaryList.test.js +179 -206
  90. package/dist/components/SummaryList/SummaryListHeadingRow.js +8 -6
  91. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +7 -5
  92. package/dist/components/SummaryList/SummaryListRow.js +8 -6
  93. package/dist/components/SummaryList/SummaryListTitleRow.js +7 -5
  94. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +4 -6
  95. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +24 -24
  96. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +4 -6
  97. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +24 -24
  98. package/dist/components/SummaryList/helpers/index.js +2 -2
  99. package/dist/components/SummaryList/index.js +1 -1
  100. package/dist/components/TaskList/Task.js +20 -30
  101. package/dist/components/TaskList/Task.test.js +84 -77
  102. package/dist/components/TaskList/TaskList.js +53 -84
  103. package/dist/components/TaskList/TaskList.test.js +150 -150
  104. package/dist/components/TaskList/TaskState.js +8 -6
  105. package/dist/components/TaskList/TaskState.test.js +56 -49
  106. package/dist/components/TaskList/index.js +1 -1
  107. package/dist/components/index.js +8 -8
  108. package/dist/context/HooksContext/HooksContext.js +58 -81
  109. package/dist/context/HooksContext/HooksContext.test.js +27 -36
  110. package/dist/context/HooksContext/index.js +3 -4
  111. package/dist/context/ValidationContext/ValidationContext.js +44 -95
  112. package/dist/context/ValidationContext/ValidationContext.test.js +58 -70
  113. package/dist/context/ValidationContext/index.js +3 -4
  114. package/dist/context/index.js +3 -3
  115. package/dist/hooks/index.js +10 -11
  116. package/dist/hooks/useAxios.js +15 -41
  117. package/dist/hooks/useGetRequest.js +62 -98
  118. package/dist/hooks/useHooks.js +1 -3
  119. package/dist/hooks/useRefData.js +28 -41
  120. package/dist/hooks/useValidation.js +1 -3
  121. package/dist/index.js +14 -15
  122. package/dist/models/CollectionLabels.js +1 -1
  123. package/dist/models/ComponentTypes.js +25 -25
  124. package/dist/models/EventTypes.js +4 -4
  125. package/dist/models/FormPages.js +4 -4
  126. package/dist/models/FormTypes.js +8 -8
  127. package/dist/models/HubFormats.js +3 -3
  128. package/dist/models/PageAction.js +44 -38
  129. package/dist/models/TaskStates.js +29 -28
  130. package/dist/models/index.js +10 -10
  131. package/dist/setupTests.js +31 -32
  132. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  133. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
  134. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +17 -27
  135. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +34 -36
  136. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +20 -34
  137. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +43 -45
  138. package/dist/utils/CheckYourAnswers/getCYARow.js +8 -10
  139. package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
  140. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +19 -25
  141. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
  142. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +39 -45
  143. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +72 -75
  144. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +100 -105
  145. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +218 -182
  146. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +26 -21
  147. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
  148. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +15 -21
  149. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +77 -83
  150. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +13 -13
  151. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +14 -19
  152. package/dist/utils/CheckYourAnswers/index.js +2 -2
  153. package/dist/utils/CheckYourAnswers/showComponentCYA.js +6 -6
  154. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
  155. package/dist/utils/CollectionPage/addCollectionPageEntry.js +3 -3
  156. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
  157. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
  158. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +21 -22
  159. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +15 -24
  160. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +52 -43
  161. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +3 -3
  162. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
  163. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -12
  164. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
  165. package/dist/utils/CollectionPage/getCollectionPageData.js +8 -13
  166. package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
  167. package/dist/utils/CollectionPage/getErrorsForCollection.js +25 -26
  168. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +21 -23
  169. package/dist/utils/CollectionPage/getQuickEditPage.js +37 -32
  170. package/dist/utils/CollectionPage/getQuickEditPage.test.js +18 -22
  171. package/dist/utils/CollectionPage/index.js +2 -2
  172. package/dist/utils/CollectionPage/mergeCollectionPages.js +37 -42
  173. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -22
  174. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +5 -7
  175. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
  176. package/dist/utils/CollectionPage/setCollectionPageData.js +13 -19
  177. package/dist/utils/CollectionPage/setCollectionPageData.test.js +26 -26
  178. package/dist/utils/Component/addShowWhen.js +4 -8
  179. package/dist/utils/Component/addShowWhen.test.js +38 -38
  180. package/dist/utils/Component/applyToComponentTree.js +19 -20
  181. package/dist/utils/Component/applyToComponentTree.test.js +28 -33
  182. package/dist/utils/Component/cleanAttributes.js +10 -13
  183. package/dist/utils/Component/cleanAttributes.test.js +17 -18
  184. package/dist/utils/Component/elevateNestedComponents.js +6 -7
  185. package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
  186. package/dist/utils/Component/getComponent.js +90 -97
  187. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
  188. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +50 -63
  189. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +40 -49
  190. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +30 -40
  191. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +21 -19
  192. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +18 -23
  193. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +22 -27
  194. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +12 -11
  195. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +18 -16
  196. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +10 -9
  197. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +18 -16
  198. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +23 -27
  199. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
  200. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +18 -16
  201. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +18 -23
  202. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +58 -73
  203. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +18 -23
  204. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +18 -23
  205. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +34 -41
  206. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +23 -32
  207. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
  208. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +10 -9
  209. package/dist/utils/Component/getDefaultValue.js +7 -9
  210. package/dist/utils/Component/getDefaultValue.test.js +13 -13
  211. package/dist/utils/Component/getDefaultValueFromConfig.js +24 -24
  212. package/dist/utils/Component/getDefaultValueFromConfig.test.js +32 -32
  213. package/dist/utils/Component/index.js +2 -2
  214. package/dist/utils/Component/isEditable.js +2 -4
  215. package/dist/utils/Component/isEditable.test.js +14 -15
  216. package/dist/utils/Component/optionIsSelected.js +2 -4
  217. package/dist/utils/Component/optionIsSelected.test.js +12 -12
  218. package/dist/utils/Component/setupContainerComponentsPath.js +29 -31
  219. package/dist/utils/Component/setupContainerComponentsPath.test.js +16 -16
  220. package/dist/utils/Component/showComponent.js +3 -4
  221. package/dist/utils/Component/showComponent.test.js +29 -29
  222. package/dist/utils/Component/wrapInFormGroup.js +4 -4
  223. package/dist/utils/Condition/index.js +2 -2
  224. package/dist/utils/Condition/meetsAllConditions.js +9 -9
  225. package/dist/utils/Condition/meetsAllConditions.test.js +21 -21
  226. package/dist/utils/Condition/meetsCondition.js +20 -31
  227. package/dist/utils/Condition/meetsCondition.test.js +403 -403
  228. package/dist/utils/Condition/meetsOneCondition.js +6 -6
  229. package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
  230. package/dist/utils/Condition/setupConditions.js +14 -19
  231. package/dist/utils/Condition/setupConditions.test.js +8 -8
  232. package/dist/utils/Container/getEditableComponents.js +4 -6
  233. package/dist/utils/Container/getEditableComponents.test.js +44 -46
  234. package/dist/utils/Container/index.js +2 -2
  235. package/dist/utils/Container/setupNesting.js +16 -22
  236. package/dist/utils/Container/setupNesting.test.js +28 -31
  237. package/dist/utils/Container/showContainer.js +4 -8
  238. package/dist/utils/Container/showContainer.test.js +31 -31
  239. package/dist/utils/Data/applyFormula.js +40 -50
  240. package/dist/utils/Data/applyFormula.test.js +26 -26
  241. package/dist/utils/Data/deleteValues.js +4 -8
  242. package/dist/utils/Data/deleteValues.test.js +11 -11
  243. package/dist/utils/Data/getAutocompleteSource.js +20 -29
  244. package/dist/utils/Data/getAutocompleteSource.test.js +81 -87
  245. package/dist/utils/Data/getDataPath.js +20 -30
  246. package/dist/utils/Data/getDataPath.test.js +20 -20
  247. package/dist/utils/Data/getOptions.js +27 -34
  248. package/dist/utils/Data/getOptions.test.js +28 -28
  249. package/dist/utils/Data/getSourceData.js +6 -19
  250. package/dist/utils/Data/getSourceData.test.js +85 -81
  251. package/dist/utils/Data/index.js +2 -2
  252. package/dist/utils/Data/nestInRefdataOptions.js +9 -16
  253. package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
  254. package/dist/utils/Data/refDataToOptions.js +11 -15
  255. package/dist/utils/Data/refDataToOptions.test.js +20 -20
  256. package/dist/utils/Data/setDataItem.js +7 -8
  257. package/dist/utils/Data/setDataItem.test.js +38 -38
  258. package/dist/utils/Data/setupFormData.js +14 -22
  259. package/dist/utils/Data/setupFormData.test.js +52 -51
  260. package/dist/utils/Data/setupRefDataUrlForComponent.js +21 -28
  261. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +28 -28
  262. package/dist/utils/FormPage/applyConditionalProperties.js +6 -10
  263. package/dist/utils/FormPage/applyConditionalProperties.test.js +16 -19
  264. package/dist/utils/FormPage/getConditionalText.js +4 -4
  265. package/dist/utils/FormPage/getConditionalText.test.js +35 -35
  266. package/dist/utils/FormPage/getFormPage.js +16 -17
  267. package/dist/utils/FormPage/getFormPage.test.js +49 -48
  268. package/dist/utils/FormPage/getFormPages.js +8 -13
  269. package/dist/utils/FormPage/getFormPages.test.js +22 -25
  270. package/dist/utils/FormPage/getPageActions.js +10 -17
  271. package/dist/utils/FormPage/getPageActions.test.js +33 -33
  272. package/dist/utils/FormPage/getParagraphFromText.js +5 -7
  273. package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
  274. package/dist/utils/FormPage/index.js +3 -5
  275. package/dist/utils/FormPage/showFormPage.js +4 -8
  276. package/dist/utils/FormPage/showFormPage.test.js +33 -33
  277. package/dist/utils/FormPage/showFormPageCYA.js +3 -3
  278. package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
  279. package/dist/utils/FormPage/useComponent.js +21 -28
  280. package/dist/utils/FormPage/useComponent.test.js +78 -80
  281. package/dist/utils/Format/formatData.js +1 -1
  282. package/dist/utils/Format/formatData.test.js +19 -19
  283. package/dist/utils/Format/formatDataForComponent.js +6 -7
  284. package/dist/utils/Format/formatDataForComponent.test.js +50 -78
  285. package/dist/utils/Format/formatDataForForm.js +6 -8
  286. package/dist/utils/Format/formatDataForForm.test.js +14 -17
  287. package/dist/utils/Format/formatDataForPage.js +4 -5
  288. package/dist/utils/Format/formatDataForPage.test.js +20 -25
  289. package/dist/utils/Format/index.js +2 -2
  290. package/dist/utils/Hub/getFormHub.js +2 -2
  291. package/dist/utils/Hub/getFormHub.test.js +29 -32
  292. package/dist/utils/Hub/index.js +2 -2
  293. package/dist/utils/Meta/constants.js +2 -2
  294. package/dist/utils/Meta/documents/getDocuments.js +1 -4
  295. package/dist/utils/Meta/documents/getDocuments.test.js +25 -17
  296. package/dist/utils/Meta/documents/index.js +2 -2
  297. package/dist/utils/Meta/documents/setDocumentsForField.js +15 -17
  298. package/dist/utils/Meta/documents/setDocumentsForField.test.js +69 -35
  299. package/dist/utils/Meta/index.js +2 -2
  300. package/dist/utils/Operate/checkValueIsTruthy.js +4 -4
  301. package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
  302. package/dist/utils/Operate/deleteValueInFormData.js +3 -3
  303. package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
  304. package/dist/utils/Operate/getFirstOf.js +8 -8
  305. package/dist/utils/Operate/getFirstOf.test.js +33 -33
  306. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +12 -12
  307. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
  308. package/dist/utils/Operate/getLength.js +11 -11
  309. package/dist/utils/Operate/getLength.test.js +19 -19
  310. package/dist/utils/Operate/index.js +2 -2
  311. package/dist/utils/Operate/persistValueInFormData.js +6 -6
  312. package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
  313. package/dist/utils/Operate/runPageOperations.js +9 -9
  314. package/dist/utils/Operate/runPageOperations.test.js +36 -37
  315. package/dist/utils/Operate/setValueInFormData.js +5 -5
  316. package/dist/utils/Operate/setValueInFormData.test.js +17 -17
  317. package/dist/utils/Operate/shouldRun.js +8 -8
  318. package/dist/utils/Operate/shouldRun.test.js +22 -28
  319. package/dist/utils/Validate/additional/conditionallyPermittedChange.js +1 -1
  320. package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +15 -15
  321. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -5
  322. package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
  323. package/dist/utils/Validate/additional/index.js +8 -8
  324. package/dist/utils/Validate/additional/index.test.js +22 -22
  325. package/dist/utils/Validate/additional/mustBeAfter.js +3 -3
  326. package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
  327. package/dist/utils/Validate/additional/mustBeBefore.js +3 -3
  328. package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
  329. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +9 -14
  330. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +38 -42
  331. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  332. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
  333. package/dist/utils/Validate/additional/mustBeInTheFuture.js +4 -4
  334. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
  335. package/dist/utils/Validate/additional/mustBeInThePast.js +5 -5
  336. package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
  337. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  338. package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
  339. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  340. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
  341. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  342. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
  343. package/dist/utils/Validate/additional/mustBeOneOf.js +1 -1
  344. package/dist/utils/Validate/additional/mustBeOneOf.test.js +13 -13
  345. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  346. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
  347. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +5 -5
  348. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +36 -40
  349. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +3 -5
  350. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +15 -17
  351. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  352. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
  353. package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
  354. package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
  355. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +3 -5
  356. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
  357. package/dist/utils/Validate/additional/utils.js +11 -24
  358. package/dist/utils/Validate/index.js +2 -2
  359. package/dist/utils/Validate/validateCollection.js +21 -27
  360. package/dist/utils/Validate/validateCollection.test.js +85 -77
  361. package/dist/utils/Validate/validateComponent.js +22 -23
  362. package/dist/utils/Validate/validateComponent.test.js +188 -165
  363. package/dist/utils/Validate/validateContainer.js +16 -21
  364. package/dist/utils/Validate/validateContainer.test.js +62 -56
  365. package/dist/utils/Validate/validateDate.js +17 -23
  366. package/dist/utils/Validate/validateDate.test.js +31 -32
  367. package/dist/utils/Validate/validateEmail.js +7 -9
  368. package/dist/utils/Validate/validateEmail.test.js +26 -26
  369. package/dist/utils/Validate/validateMultifile.js +5 -7
  370. package/dist/utils/Validate/validateMultifile.test.js +17 -18
  371. package/dist/utils/Validate/validatePage.js +20 -24
  372. package/dist/utils/Validate/validatePage.test.js +227 -215
  373. package/dist/utils/Validate/validateRegex.js +5 -8
  374. package/dist/utils/Validate/validateRegex.test.js +17 -17
  375. package/dist/utils/Validate/validateRequired.js +5 -7
  376. package/dist/utils/Validate/validateRequired.test.js +19 -19
  377. package/dist/utils/Validate/validateTextArea.js +5 -7
  378. package/dist/utils/Validate/validateTextArea.test.js +21 -21
  379. package/dist/utils/Validate/validateTime.js +12 -19
  380. package/dist/utils/Validate/validateTime.test.js +27 -27
  381. package/dist/utils/index.js +8 -10
  382. package/package.json +3 -2
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- 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); }
4
3
  var _react = require("@testing-library/react");
5
4
  var _react2 = _interopRequireDefault(require("react"));
6
5
  var _models = require("../../models");
@@ -8,16 +7,16 @@ var _setupTests = require("../../setupTests");
8
7
  var _utils = _interopRequireDefault(require("../../utils"));
9
8
  var _ActionButton = require("../PageActions/ActionButton");
10
9
  var _FormPage = _interopRequireWildcard(require("./FormPage"));
11
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
- function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
15
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
16
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } // Global imports
10
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
11
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ // Global imports
14
+
17
15
  // Local imports
18
- describe('components.FormPage', function () {
19
- describe('FormPage', function () {
20
- var TEXT = {
16
+
17
+ describe('components.FormPage', () => {
18
+ describe('FormPage', () => {
19
+ const TEXT = {
21
20
  id: 'text',
22
21
  fieldId: 'text',
23
22
  type: 'text',
@@ -25,7 +24,7 @@ describe('components.FormPage', function () {
25
24
  hint: 'Text hint'
26
25
  };
27
26
  // eslint-disable-next-line no-template-curly-in-string
28
- var TEXT_WITH_EXPRESSION = {
27
+ const TEXT_WITH_EXPRESSION = {
29
28
  id: 'text1',
30
29
  fieldId: 'text1',
31
30
  type: 'text',
@@ -33,7 +32,7 @@ describe('components.FormPage', function () {
33
32
  hint: 'Text hint ${currentUser.givenName}'
34
33
  };
35
34
  // eslint-disable-next-line no-template-curly-in-string
36
- var AUTO_WITH_EXPRESSION = {
35
+ const AUTO_WITH_EXPRESSION = {
37
36
  id: 'text2',
38
37
  fieldId: 'text2',
39
38
  label: '${text2} ${currentUser.givenName}',
@@ -43,8 +42,8 @@ describe('components.FormPage', function () {
43
42
  source: [],
44
43
  disabled: false
45
44
  };
46
- var VALUE = 'Text value';
47
- var PAGE = {
45
+ const VALUE = 'Text value';
46
+ const PAGE = {
48
47
  id: 'pageId',
49
48
  title: 'Page 1',
50
49
  components: [TEXT],
@@ -53,7 +52,7 @@ describe('components.FormPage', function () {
53
52
  text: VALUE
54
53
  }
55
54
  };
56
- var PAGE_WITH_BUTTON_ACTIONS = {
55
+ const PAGE_WITH_BUTTON_ACTIONS = {
57
56
  id: 'pageId',
58
57
  // eslint-disable-next-line no-template-curly-in-string
59
58
  title: '${title}',
@@ -73,8 +72,8 @@ describe('components.FormPage', function () {
73
72
  }],
74
73
  formData: {
75
74
  title: 'Order Form',
76
- text1: "Text1 ".concat(VALUE),
77
- text2: "Text2 ".concat(VALUE),
75
+ text1: `Text1 ${VALUE}`,
76
+ text2: `Text2 ${VALUE}`,
78
77
  wrapper: {
79
78
  email: 'test@example.email',
80
79
  nextAction: 'Payment',
@@ -85,7 +84,7 @@ describe('components.FormPage', function () {
85
84
  }
86
85
  }
87
86
  };
88
- var PAGE_WITH_CONDITIONAL_BUTTONS = {
87
+ const PAGE_WITH_CONDITIONAL_BUTTONS = {
89
88
  id: 'pageId',
90
89
  // eslint-disable-next-line no-template-curly-in-string
91
90
  title: '${title}',
@@ -111,8 +110,8 @@ describe('components.FormPage', function () {
111
110
  }],
112
111
  formData: {
113
112
  title: 'Order Form',
114
- text1: "Text1 ".concat(VALUE),
115
- text2: "Text2 ".concat(VALUE),
113
+ text1: `Text1 ${VALUE}`,
114
+ text2: `Text2 ${VALUE}`,
116
115
  wrapper: {
117
116
  email: 'test@example.email',
118
117
  nextAction: 'Payment',
@@ -123,58 +122,55 @@ describe('components.FormPage', function () {
123
122
  }
124
123
  }
125
124
  };
126
- var ON_ACTION_CALLS = [];
127
- var checkInputField = function checkInputField(formGroup, fieldId, lbl, hnt, val) {
125
+ const ON_ACTION_CALLS = [];
126
+ const checkInputField = (formGroup, fieldId, lbl, hnt, val) => {
128
127
  expect(formGroup.tagName).toEqual('DIV');
129
128
  expect(formGroup.classList).toContain('govuk-form-group');
130
- var label = formGroup.childNodes[0];
129
+ const label = formGroup.childNodes[0];
131
130
  expect(label.tagName).toEqual('LABEL');
132
131
  expect(label.classList).toContain('govuk-label');
133
132
  expect(label.textContent).toEqual(lbl);
134
133
  expect(label.getAttribute('for')).toEqual(fieldId);
135
- var hint = formGroup.childNodes[1];
134
+ const hint = formGroup.childNodes[1];
136
135
  expect(hint.tagName).toEqual('DIV');
137
136
  expect(hint.classList).toContain('govuk-hint');
138
137
  expect(hint.textContent).toEqual(hnt);
139
- var input = formGroup.childNodes[2];
138
+ const input = formGroup.childNodes[2];
140
139
  expect(input.tagName).toEqual('INPUT');
141
140
  expect(input.classList).toContain('govuk-input');
142
141
  expect(input.id).toEqual(fieldId);
143
142
  expect(input.value).toEqual(val);
144
143
  return input;
145
144
  };
146
- var checkAutoCompleteField = function checkAutoCompleteField(formGroup, fieldId, lbl, hnt, val) {
145
+ const checkAutoCompleteField = (formGroup, fieldId, lbl, hnt, val) => {
147
146
  expect(formGroup.tagName).toEqual('DIV');
148
147
  expect(formGroup.classList).toContain('govuk-form-group');
149
- var label = formGroup.childNodes[0];
148
+ const label = formGroup.childNodes[0];
150
149
  expect(label.tagName).toEqual('LABEL');
151
150
  expect(label.classList).toContain('govuk-label');
152
151
  expect(label.textContent).toEqual(lbl);
153
152
  expect(label.getAttribute('for')).toEqual(fieldId);
154
- var hint = formGroup.childNodes[1];
153
+ const hint = formGroup.childNodes[1];
155
154
  expect(hint.tagName).toEqual('DIV');
156
155
  expect(hint.classList).toContain('govuk-hint');
157
156
  expect(hint.textContent).toEqual(hnt);
158
- var outerWrapper = formGroup.childNodes[2];
157
+ const outerWrapper = formGroup.childNodes[2];
159
158
  expect(outerWrapper.classList).toContain('hods-autocomplete__outer-wrapper');
160
- var autocomplete = outerWrapper.childNodes[0];
159
+ const autocomplete = outerWrapper.childNodes[0];
161
160
  expect(autocomplete.classList).toContain('hods-autocomplete__wrapper');
162
- var input = [].concat(autocomplete.childNodes).filter(function (e) {
163
- return e.tagName === 'INPUT';
164
- })[0];
161
+ const input = [].concat(autocomplete.childNodes).filter(e => e.tagName === 'INPUT')[0];
165
162
  expect(input.classList).toContain('hods-autocomplete__input');
166
163
  expect(input.tagName).toEqual('INPUT');
167
164
  expect(input.id).toEqual(fieldId);
168
165
  expect(input.value).toEqual(val);
169
166
  return input;
170
167
  };
171
- var checkFormButtonGroup = function checkFormButtonGroup(buttonGroup, labels) {
172
- var _buttonGroup$childNod;
173
- var buttons = [];
168
+ const checkFormButtonGroup = (buttonGroup, labels) => {
169
+ const buttons = [];
174
170
  expect(buttonGroup.tagName).toEqual('DIV');
175
171
  expect(buttonGroup.classList).toContain('hods-button-group');
176
- expect((_buttonGroup$childNod = buttonGroup.childNodes) === null || _buttonGroup$childNod === void 0 ? void 0 : _buttonGroup$childNod.length).toEqual(labels.length);
177
- buttonGroup.childNodes.forEach(function (button, i) {
172
+ expect(buttonGroup.childNodes?.length).toEqual(labels.length);
173
+ buttonGroup.childNodes.forEach((button, i) => {
178
174
  expect(button.tagName).toEqual('BUTTON');
179
175
  expect(button.classList).toContain('hods-button');
180
176
  expect(button.textContent).toEqual(labels[i]);
@@ -182,151 +178,118 @@ describe('components.FormPage', function () {
182
178
  });
183
179
  return buttons;
184
180
  };
185
- var ON_ACTION = function ON_ACTION(action, patch, onError) {
181
+ const ON_ACTION = (action, patch, onError) => {
186
182
  ON_ACTION_CALLS.push({
187
- action: action,
188
- patch: patch,
189
- onError: onError
183
+ action,
184
+ patch,
185
+ onError
190
186
  });
191
187
  };
192
- beforeEach(function () {
188
+ beforeEach(() => {
193
189
  PAGE.formData = {
194
190
  text: VALUE
195
191
  };
196
192
  ON_ACTION_CALLS.length = 0;
197
193
  });
198
- it('should render a submit page correctly', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
199
- var _renderWithValidation, container, page, heading;
200
- return _regeneratorRuntime().wrap(function _callee$(_context) {
201
- while (1) switch (_context.prev = _context.next) {
202
- case 0:
203
- _renderWithValidation = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_FormPage.default, {
204
- page: PAGE,
205
- onAction: ON_ACTION
206
- })), container = _renderWithValidation.container;
207
- page = container.childNodes[0];
208
- expect(page.tagName).toEqual('DIV');
209
- expect(page.classList).toContain(_FormPage.DEFAULT_CLASS);
210
- heading = page.childNodes[0];
211
- expect(heading.classList).toContain('govuk-heading-l');
212
- expect(heading.textContent).toEqual(_utils.default.FormPage.getTitle(PAGE.title, PAGE.formData));
213
- checkInputField(page.childNodes[1], TEXT.fieldId, "".concat(TEXT.label, " (optional)"), TEXT.hint, VALUE);
214
- checkFormButtonGroup(page.childNodes[2], [_ActionButton.DEFAULT_LABEL]);
215
- case 9:
216
- case "end":
217
- return _context.stop();
218
- }
219
- }, _callee);
220
- })));
221
- it('should render a submit page correctly and submit action button has interpolated label', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
222
- var _renderWithValidation2, container, page, FORM_DATA, heading;
223
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
224
- while (1) switch (_context2.prev = _context2.next) {
225
- case 0:
226
- _renderWithValidation2 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_FormPage.default, {
227
- page: PAGE_WITH_BUTTON_ACTIONS,
228
- onAction: ON_ACTION
229
- })), container = _renderWithValidation2.container;
230
- page = container.childNodes[0];
231
- FORM_DATA = PAGE_WITH_BUTTON_ACTIONS.formData;
232
- expect(page.tagName).toEqual('DIV');
233
- expect(page.classList).toContain(_FormPage.DEFAULT_CLASS);
234
- heading = page.childNodes[0];
235
- expect(heading.classList).toContain('govuk-heading-l');
236
- expect(heading.textContent).toEqual(FORM_DATA.title);
237
- checkInputField(page.childNodes[1], TEXT_WITH_EXPRESSION.fieldId, 'Email to test@example.email (optional)', 'Text hint Doe', 'Text1 Text value');
238
- checkAutoCompleteField(page.childNodes[2], AUTO_WITH_EXPRESSION.fieldId, "".concat(FORM_DATA.text2, " ").concat(FORM_DATA.currentUser.givenName), FORM_DATA.wrapper.email, "Text2 ".concat(VALUE));
239
- checkFormButtonGroup(page.childNodes[3], ['Next Payment', 'Go back User Details']);
240
- case 11:
241
- case "end":
242
- return _context2.stop();
194
+ it('should render a submit page correctly', async () => {
195
+ const {
196
+ container
197
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_FormPage.default, {
198
+ page: PAGE,
199
+ onAction: ON_ACTION
200
+ }));
201
+ const page = container.childNodes[0];
202
+ expect(page.tagName).toEqual('DIV');
203
+ expect(page.classList).toContain(_FormPage.DEFAULT_CLASS);
204
+ const heading = page.childNodes[0];
205
+ expect(heading.classList).toContain('govuk-heading-l');
206
+ expect(heading.textContent).toEqual(_utils.default.FormPage.getTitle(PAGE.title, PAGE.formData));
207
+ checkInputField(page.childNodes[1], TEXT.fieldId, `${TEXT.label} (optional)`, TEXT.hint, VALUE);
208
+ checkFormButtonGroup(page.childNodes[2], [_ActionButton.DEFAULT_LABEL]);
209
+ });
210
+ it('should render a submit page correctly and submit action button has interpolated label', async () => {
211
+ const {
212
+ container
213
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_FormPage.default, {
214
+ page: PAGE_WITH_BUTTON_ACTIONS,
215
+ onAction: ON_ACTION
216
+ }));
217
+ const page = container.childNodes[0];
218
+ const FORM_DATA = PAGE_WITH_BUTTON_ACTIONS.formData;
219
+ expect(page.tagName).toEqual('DIV');
220
+ expect(page.classList).toContain(_FormPage.DEFAULT_CLASS);
221
+ const heading = page.childNodes[0];
222
+ expect(heading.classList).toContain('govuk-heading-l');
223
+ expect(heading.textContent).toEqual(FORM_DATA.title);
224
+ checkInputField(page.childNodes[1], TEXT_WITH_EXPRESSION.fieldId, 'Email to test@example.email (optional)', 'Text hint Doe', 'Text1 Text value');
225
+ checkAutoCompleteField(page.childNodes[2], AUTO_WITH_EXPRESSION.fieldId, `${FORM_DATA.text2} ${FORM_DATA.currentUser.givenName}`, FORM_DATA.wrapper.email, `Text2 ${VALUE}`);
226
+ checkFormButtonGroup(page.childNodes[3], ['Next Payment', 'Go back User Details']);
227
+ });
228
+ it('should handle a page change appropriately', async () => {
229
+ const {
230
+ container
231
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_FormPage.default, {
232
+ page: PAGE,
233
+ onAction: ON_ACTION
234
+ }));
235
+ const page = container.childNodes[0];
236
+ expect(page.tagName).toEqual('DIV');
237
+
238
+ // Change the input.
239
+ const input = page.childNodes[1].childNodes[2];
240
+ const NEW_VALUE = `${VALUE}.`;
241
+ const EVENT = {
242
+ target: {
243
+ name: TEXT.fieldId,
244
+ value: NEW_VALUE
243
245
  }
244
- }, _callee2);
245
- })));
246
- it('should handle a page change appropriately', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
247
- var _renderWithValidation3, container, page, input, NEW_VALUE, EVENT;
248
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
249
- while (1) switch (_context3.prev = _context3.next) {
250
- case 0:
251
- _renderWithValidation3 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_FormPage.default, {
252
- page: PAGE,
253
- onAction: ON_ACTION
254
- })), container = _renderWithValidation3.container;
255
- page = container.childNodes[0];
256
- expect(page.tagName).toEqual('DIV');
246
+ };
247
+ _react.fireEvent.change(input, EVENT);
257
248
 
258
- // Change the input.
259
- input = page.childNodes[1].childNodes[2];
260
- NEW_VALUE = "".concat(VALUE, ".");
261
- EVENT = {
262
- target: {
263
- name: TEXT.fieldId,
264
- value: NEW_VALUE
265
- }
266
- };
267
- _react.fireEvent.change(input, EVENT);
249
+ // And confirm the formData has been changed.
250
+ expect(PAGE.formData.text).toEqual(NEW_VALUE);
251
+ });
252
+ it('should handle a page action appropriately', async () => {
253
+ const {
254
+ container
255
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_FormPage.default, {
256
+ page: PAGE,
257
+ onAction: ON_ACTION
258
+ }));
259
+ const page = container.childNodes[0];
268
260
 
269
- // And confirm the formData has been changed.
270
- expect(PAGE.formData.text).toEqual(NEW_VALUE);
271
- case 8:
272
- case "end":
273
- return _context3.stop();
261
+ // Change the input.
262
+ const input = page.childNodes[1].childNodes[2];
263
+ const NEW_VALUE = `${VALUE}.`;
264
+ const CHANGE_EVENT = {
265
+ target: {
266
+ name: TEXT.fieldId,
267
+ value: NEW_VALUE
274
268
  }
275
- }, _callee3);
276
- })));
277
- it('should handle a page action appropriately', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
278
- var _renderWithValidation4, container, page, input, NEW_VALUE, CHANGE_EVENT, button;
279
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
280
- while (1) switch (_context4.prev = _context4.next) {
281
- case 0:
282
- _renderWithValidation4 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_FormPage.default, {
283
- page: PAGE,
284
- onAction: ON_ACTION
285
- })), container = _renderWithValidation4.container;
286
- page = container.childNodes[0]; // Change the input.
287
- input = page.childNodes[1].childNodes[2];
288
- NEW_VALUE = "".concat(VALUE, ".");
289
- CHANGE_EVENT = {
290
- target: {
291
- name: TEXT.fieldId,
292
- value: NEW_VALUE
293
- }
294
- };
295
- _react.fireEvent.change(input, CHANGE_EVENT);
269
+ };
270
+ _react.fireEvent.change(input, CHANGE_EVENT);
296
271
 
297
- // Then click the action button.
298
- button = page.childNodes[2].childNodes[0];
299
- _react.fireEvent.click(button, {});
272
+ // Then click the action button.
273
+ const button = page.childNodes[2].childNodes[0];
274
+ _react.fireEvent.click(button, {});
300
275
 
301
- // And confirm an appropriate action was received.
302
- expect(ON_ACTION_CALLS.length).toEqual(1);
303
- expect(PAGE.formData.text).toEqual(NEW_VALUE);
304
- expect(ON_ACTION_CALLS[0].action).toEqual(_models.PageAction.DEFAULTS.submit);
305
- expect(ON_ACTION_CALLS[0].patch).toEqual({
306
- text: NEW_VALUE
307
- });
308
- case 12:
309
- case "end":
310
- return _context4.stop();
311
- }
312
- }, _callee4);
313
- })));
314
- it('should render only the conditionally shown button', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
315
- var _renderWithValidation5, container, page;
316
- return _regeneratorRuntime().wrap(function _callee5$(_context5) {
317
- while (1) switch (_context5.prev = _context5.next) {
318
- case 0:
319
- _renderWithValidation5 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_FormPage.default, {
320
- page: PAGE_WITH_CONDITIONAL_BUTTONS,
321
- onAction: ON_ACTION
322
- })), container = _renderWithValidation5.container;
323
- page = container.childNodes[0];
324
- checkFormButtonGroup(page.childNodes[3], ['Button 2']); // Just the second button shown
325
- case 3:
326
- case "end":
327
- return _context5.stop();
328
- }
329
- }, _callee5);
330
- })));
276
+ // And confirm an appropriate action was received.
277
+ expect(ON_ACTION_CALLS.length).toEqual(1);
278
+ expect(PAGE.formData.text).toEqual(NEW_VALUE);
279
+ expect(ON_ACTION_CALLS[0].action).toEqual(_models.PageAction.DEFAULTS.submit);
280
+ expect(ON_ACTION_CALLS[0].patch).toEqual({
281
+ text: NEW_VALUE
282
+ });
283
+ });
284
+ it('should render only the conditionally shown button', async () => {
285
+ const {
286
+ container
287
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_FormPage.default, {
288
+ page: PAGE_WITH_CONDITIONAL_BUTTONS,
289
+ onAction: ON_ACTION
290
+ }));
291
+ const page = container.childNodes[0];
292
+ checkFormButtonGroup(page.childNodes[3], ['Button 2']); // Just the second button shown
293
+ });
331
294
  });
332
295
  });
@@ -5,5 +5,5 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _FormPage = _interopRequireDefault(require("./FormPage"));
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 = _FormPage.default;