@ukhomeoffice/cop-react-form-renderer 5.45.1 → 5.45.2-alpha

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 (350) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +12 -12
  2. package/dist/components/CheckYourAnswers/Answer.test.js +92 -127
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +101 -131
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +464 -769
  5. package/dist/components/CollectionPage/CollectionPage.js +66 -58
  6. package/dist/components/CollectionPage/CollectionPage.test.js +300 -342
  7. package/dist/components/CollectionSummary/BannerStrip.js +12 -12
  8. package/dist/components/CollectionSummary/BannerStrip.test.js +63 -59
  9. package/dist/components/CollectionSummary/CollectionSummary.js +60 -75
  10. package/dist/components/CollectionSummary/CollectionSummary.test.js +102 -96
  11. package/dist/components/CollectionSummary/Confirmation.js +14 -12
  12. package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
  13. package/dist/components/CollectionSummary/SummaryCard.js +93 -133
  14. package/dist/components/CollectionSummary/SummaryCard.test.js +902 -924
  15. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +23 -29
  16. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +61 -73
  17. package/dist/components/FormComponent/Collection.js +73 -107
  18. package/dist/components/FormComponent/Collection.test.js +809 -945
  19. package/dist/components/FormComponent/Container.js +40 -38
  20. package/dist/components/FormComponent/Container.test.js +314 -345
  21. package/dist/components/FormComponent/FormComponent.js +67 -70
  22. package/dist/components/FormComponent/FormComponent.test.js +284 -342
  23. package/dist/components/FormComponent/helpers/addLabel.js +4 -7
  24. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  25. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
  26. package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
  27. package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
  28. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
  29. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
  30. package/dist/components/FormComponent/helpers/index.js +4 -4
  31. package/dist/components/FormPage/FormPage.js +65 -80
  32. package/dist/components/FormPage/FormPage.test.js +127 -163
  33. package/dist/components/FormRenderer/FormRenderer.js +142 -178
  34. package/dist/components/FormRenderer/FormRenderer.test.js +730 -1115
  35. package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
  36. package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
  37. package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
  38. package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
  39. package/dist/components/FormRenderer/handlers/index.js +1 -1
  40. package/dist/components/FormRenderer/handlers/navigate.js +3 -3
  41. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  42. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  43. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +9 -9
  44. package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
  45. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +16 -20
  46. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +17 -22
  47. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
  48. package/dist/components/FormRenderer/helpers/getCYA.js +3 -5
  49. package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
  50. package/dist/components/FormRenderer/helpers/getFormState.js +5 -7
  51. package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
  52. package/dist/components/FormRenderer/helpers/getNextPageId.js +13 -24
  53. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
  54. package/dist/components/FormRenderer/helpers/getPage.js +2 -4
  55. package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
  56. package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
  57. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
  58. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
  59. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +97 -91
  60. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +62 -60
  61. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +71 -73
  62. package/dist/components/FormRenderer/helpers/index.js +1 -1
  63. package/dist/components/FormRenderer/onCYAAction.js +59 -51
  64. package/dist/components/FormRenderer/onCYAAction.test.js +164 -152
  65. package/dist/components/FormRenderer/onPageAction.js +43 -39
  66. package/dist/components/FormRenderer/onPageAction.test.js +223 -206
  67. package/dist/components/FormRenderer/onTaskAction.js +9 -13
  68. package/dist/components/FormRenderer/onTaskAction.test.js +93 -88
  69. package/dist/components/PageActions/ActionButton.js +12 -15
  70. package/dist/components/PageActions/ActionButton.test.js +56 -78
  71. package/dist/components/PageActions/PageActions.js +10 -10
  72. package/dist/components/PageActions/PageActions.test.js +86 -115
  73. package/dist/components/SummaryList/GroupAction.js +9 -17
  74. package/dist/components/SummaryList/GroupAction.test.js +37 -33
  75. package/dist/components/SummaryList/RowAction.js +11 -16
  76. package/dist/components/SummaryList/RowAction.test.js +37 -33
  77. package/dist/components/SummaryList/SummaryList.js +21 -26
  78. package/dist/components/SummaryList/SummaryList.test.js +143 -166
  79. package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -4
  80. package/dist/components/SummaryList/SummaryListRow.js +6 -4
  81. package/dist/components/SummaryList/SummaryListTitleRow.js +5 -3
  82. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
  83. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
  84. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
  85. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
  86. package/dist/components/SummaryList/helpers/index.js +1 -1
  87. package/dist/components/TaskList/Task.js +19 -29
  88. package/dist/components/TaskList/Task.test.js +83 -76
  89. package/dist/components/TaskList/TaskList.js +45 -71
  90. package/dist/components/TaskList/TaskList.test.js +113 -111
  91. package/dist/components/TaskList/TaskState.js +7 -5
  92. package/dist/components/TaskList/TaskState.test.js +52 -45
  93. package/dist/components/index.js +7 -7
  94. package/dist/context/HooksContext/HooksContext.js +58 -79
  95. package/dist/context/HooksContext/HooksContext.test.js +26 -35
  96. package/dist/context/HooksContext/index.js +3 -4
  97. package/dist/context/ValidationContext/ValidationContext.js +32 -72
  98. package/dist/context/ValidationContext/ValidationContext.test.js +47 -59
  99. package/dist/context/ValidationContext/index.js +3 -4
  100. package/dist/context/index.js +2 -2
  101. package/dist/hooks/index.js +9 -10
  102. package/dist/hooks/useAxios.js +14 -40
  103. package/dist/hooks/useGetRequest.js +61 -97
  104. package/dist/hooks/useHooks.js +1 -3
  105. package/dist/hooks/useRefData.js +26 -39
  106. package/dist/hooks/useValidation.js +1 -3
  107. package/dist/index.js +13 -14
  108. package/dist/models/CollectionLabels.js +1 -1
  109. package/dist/models/ComponentTypes.js +25 -25
  110. package/dist/models/EventTypes.js +4 -4
  111. package/dist/models/FormPages.js +4 -4
  112. package/dist/models/FormTypes.js +8 -8
  113. package/dist/models/HubFormats.js +3 -3
  114. package/dist/models/PageAction.js +44 -38
  115. package/dist/models/TaskStates.js +30 -28
  116. package/dist/models/index.js +9 -9
  117. package/dist/setupTests.js +30 -31
  118. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  119. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +52 -54
  120. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +15 -25
  121. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +33 -35
  122. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +17 -31
  123. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +42 -44
  124. package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
  125. package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
  126. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +18 -24
  127. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +15 -16
  128. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +33 -36
  129. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +58 -60
  130. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +79 -88
  131. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +146 -124
  132. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +25 -20
  133. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +103 -97
  134. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +13 -18
  135. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +70 -76
  136. package/dist/utils/CheckYourAnswers/index.js +1 -1
  137. package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
  138. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +24 -24
  139. package/dist/utils/CollectionPage/addCollectionPageEntry.js +1 -1
  140. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
  141. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
  142. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +17 -17
  143. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +9 -18
  144. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +27 -22
  145. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  146. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
  147. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
  148. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
  149. package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
  150. package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
  151. package/dist/utils/CollectionPage/getQuickEditPage.js +19 -19
  152. package/dist/utils/CollectionPage/getQuickEditPage.test.js +12 -16
  153. package/dist/utils/CollectionPage/index.js +1 -1
  154. package/dist/utils/CollectionPage/mergeCollectionPages.js +29 -30
  155. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +17 -17
  156. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +4 -6
  157. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
  158. package/dist/utils/CollectionPage/setCollectionPageData.js +8 -12
  159. package/dist/utils/CollectionPage/setCollectionPageData.test.js +17 -17
  160. package/dist/utils/Component/addShowWhen.js +4 -8
  161. package/dist/utils/Component/addShowWhen.test.js +37 -37
  162. package/dist/utils/Component/applyToComponentTree.js +18 -18
  163. package/dist/utils/Component/applyToComponentTree.test.js +27 -32
  164. package/dist/utils/Component/cleanAttributes.js +10 -13
  165. package/dist/utils/Component/cleanAttributes.test.js +17 -18
  166. package/dist/utils/Component/elevateNestedComponents.js +5 -5
  167. package/dist/utils/Component/elevateNestedComponents.test.js +30 -30
  168. package/dist/utils/Component/getComponent.js +88 -94
  169. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -17
  170. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +46 -59
  171. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +39 -48
  172. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +23 -33
  173. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +20 -18
  174. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +17 -22
  175. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +20 -25
  176. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +10 -9
  177. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +17 -15
  178. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -8
  179. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +17 -15
  180. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +22 -26
  181. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
  182. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +17 -15
  183. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +17 -22
  184. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +57 -70
  185. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +17 -22
  186. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +17 -22
  187. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +31 -38
  188. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +20 -29
  189. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
  190. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -8
  191. package/dist/utils/Component/getDefaultValue.js +6 -8
  192. package/dist/utils/Component/getDefaultValue.test.js +12 -12
  193. package/dist/utils/Component/getDefaultValueFromConfig.js +22 -21
  194. package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
  195. package/dist/utils/Component/index.js +1 -1
  196. package/dist/utils/Component/isEditable.js +2 -4
  197. package/dist/utils/Component/isEditable.test.js +14 -15
  198. package/dist/utils/Component/optionIsSelected.js +1 -1
  199. package/dist/utils/Component/optionIsSelected.test.js +9 -9
  200. package/dist/utils/Component/setupContainerComponentsPath.js +27 -29
  201. package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
  202. package/dist/utils/Component/showComponent.js +1 -1
  203. package/dist/utils/Component/showComponent.test.js +28 -28
  204. package/dist/utils/Component/wrapInFormGroup.js +2 -2
  205. package/dist/utils/Condition/index.js +1 -1
  206. package/dist/utils/Condition/meetsAllConditions.js +7 -7
  207. package/dist/utils/Condition/meetsAllConditions.test.js +17 -17
  208. package/dist/utils/Condition/meetsCondition.js +14 -17
  209. package/dist/utils/Condition/meetsCondition.test.js +376 -376
  210. package/dist/utils/Condition/meetsOneCondition.js +5 -5
  211. package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
  212. package/dist/utils/Condition/setupConditions.js +13 -18
  213. package/dist/utils/Condition/setupConditions.test.js +7 -7
  214. package/dist/utils/Container/getEditableComponents.js +3 -5
  215. package/dist/utils/Container/getEditableComponents.test.js +43 -45
  216. package/dist/utils/Container/index.js +1 -1
  217. package/dist/utils/Container/setupNesting.js +16 -20
  218. package/dist/utils/Container/setupNesting.test.js +27 -30
  219. package/dist/utils/Container/showContainer.js +3 -7
  220. package/dist/utils/Container/showContainer.test.js +30 -30
  221. package/dist/utils/Data/applyFormula.js +38 -48
  222. package/dist/utils/Data/applyFormula.test.js +20 -20
  223. package/dist/utils/Data/getAutocompleteSource.js +18 -26
  224. package/dist/utils/Data/getAutocompleteSource.test.js +80 -86
  225. package/dist/utils/Data/getDataPath.js +18 -28
  226. package/dist/utils/Data/getDataPath.test.js +12 -12
  227. package/dist/utils/Data/getOptions.js +19 -25
  228. package/dist/utils/Data/getOptions.test.js +20 -20
  229. package/dist/utils/Data/getSourceData.js +6 -19
  230. package/dist/utils/Data/getSourceData.test.js +84 -80
  231. package/dist/utils/Data/index.js +1 -1
  232. package/dist/utils/Data/refDataToOptions.js +10 -13
  233. package/dist/utils/Data/refDataToOptions.test.js +19 -19
  234. package/dist/utils/Data/setDataItem.js +7 -8
  235. package/dist/utils/Data/setDataItem.test.js +37 -37
  236. package/dist/utils/Data/setupFormData.js +13 -21
  237. package/dist/utils/Data/setupFormData.test.js +51 -50
  238. package/dist/utils/Data/setupRefDataUrlForComponent.js +20 -26
  239. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
  240. package/dist/utils/FormPage/applyConditionalProperties.js +5 -9
  241. package/dist/utils/FormPage/applyConditionalProperties.test.js +15 -18
  242. package/dist/utils/FormPage/getFormPage.js +15 -16
  243. package/dist/utils/FormPage/getFormPage.test.js +47 -46
  244. package/dist/utils/FormPage/getFormPages.js +7 -12
  245. package/dist/utils/FormPage/getFormPages.test.js +20 -23
  246. package/dist/utils/FormPage/getPageActions.js +9 -15
  247. package/dist/utils/FormPage/getPageActions.test.js +32 -32
  248. package/dist/utils/FormPage/getPageTitle.js +2 -2
  249. package/dist/utils/FormPage/getPageTitle.test.js +22 -22
  250. package/dist/utils/FormPage/getParagraphFromText.js +5 -7
  251. package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
  252. package/dist/utils/FormPage/index.js +1 -1
  253. package/dist/utils/FormPage/showFormPage.js +3 -7
  254. package/dist/utils/FormPage/showFormPage.test.js +32 -32
  255. package/dist/utils/FormPage/showFormPageCYA.js +1 -1
  256. package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
  257. package/dist/utils/FormPage/useComponent.js +21 -28
  258. package/dist/utils/FormPage/useComponent.test.js +78 -79
  259. package/dist/utils/Format/formatData.js +1 -1
  260. package/dist/utils/Format/formatData.test.js +18 -18
  261. package/dist/utils/Format/formatDataForComponent.js +5 -6
  262. package/dist/utils/Format/formatDataForComponent.test.js +50 -77
  263. package/dist/utils/Format/formatDataForForm.js +6 -8
  264. package/dist/utils/Format/formatDataForForm.test.js +13 -15
  265. package/dist/utils/Format/formatDataForPage.js +4 -5
  266. package/dist/utils/Format/formatDataForPage.test.js +20 -23
  267. package/dist/utils/Format/index.js +1 -1
  268. package/dist/utils/Hub/getFormHub.js +1 -1
  269. package/dist/utils/Hub/getFormHub.test.js +28 -31
  270. package/dist/utils/Hub/index.js +1 -1
  271. package/dist/utils/Meta/constants.js +2 -2
  272. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  273. package/dist/utils/Meta/documents/getDocuments.test.js +24 -16
  274. package/dist/utils/Meta/documents/index.js +1 -1
  275. package/dist/utils/Meta/documents/setDocumentsForField.js +14 -16
  276. package/dist/utils/Meta/documents/setDocumentsForField.test.js +68 -34
  277. package/dist/utils/Meta/index.js +1 -1
  278. package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
  279. package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
  280. package/dist/utils/Operate/getFirstOf.js +5 -5
  281. package/dist/utils/Operate/getFirstOf.test.js +31 -31
  282. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
  283. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +46 -46
  284. package/dist/utils/Operate/index.js +1 -1
  285. package/dist/utils/Operate/persistValueInFormData.js +3 -3
  286. package/dist/utils/Operate/persistValueInFormData.test.js +22 -20
  287. package/dist/utils/Operate/runPageOperations.js +7 -7
  288. package/dist/utils/Operate/runPageOperations.test.js +35 -36
  289. package/dist/utils/Operate/setValueInFormData.js +2 -2
  290. package/dist/utils/Operate/setValueInFormData.test.js +16 -16
  291. package/dist/utils/Operate/shouldRun.js +6 -6
  292. package/dist/utils/Operate/shouldRun.test.js +21 -26
  293. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  294. package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
  295. package/dist/utils/Validate/additional/index.js +6 -6
  296. package/dist/utils/Validate/additional/index.test.js +12 -12
  297. package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
  298. package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
  299. package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
  300. package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
  301. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +7 -11
  302. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -41
  303. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  304. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
  305. package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
  306. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
  307. package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
  308. package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
  309. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  310. package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
  311. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  312. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
  313. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  314. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
  315. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  316. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
  317. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  318. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +14 -16
  319. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  320. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
  321. package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
  322. package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
  323. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  324. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +28 -26
  325. package/dist/utils/Validate/additional/utils.js +9 -22
  326. package/dist/utils/Validate/index.js +1 -1
  327. package/dist/utils/Validate/validateCollection.js +19 -25
  328. package/dist/utils/Validate/validateCollection.test.js +74 -66
  329. package/dist/utils/Validate/validateComponent.js +17 -15
  330. package/dist/utils/Validate/validateComponent.test.js +167 -146
  331. package/dist/utils/Validate/validateContainer.js +14 -19
  332. package/dist/utils/Validate/validateContainer.test.js +49 -45
  333. package/dist/utils/Validate/validateDate.js +11 -17
  334. package/dist/utils/Validate/validateDate.test.js +28 -29
  335. package/dist/utils/Validate/validateEmail.js +6 -8
  336. package/dist/utils/Validate/validateEmail.test.js +25 -25
  337. package/dist/utils/Validate/validateMultifile.js +5 -7
  338. package/dist/utils/Validate/validateMultifile.test.js +17 -18
  339. package/dist/utils/Validate/validatePage.js +17 -18
  340. package/dist/utils/Validate/validatePage.test.js +185 -182
  341. package/dist/utils/Validate/validateRegex.js +3 -5
  342. package/dist/utils/Validate/validateRegex.test.js +14 -14
  343. package/dist/utils/Validate/validateRequired.js +4 -6
  344. package/dist/utils/Validate/validateRequired.test.js +18 -18
  345. package/dist/utils/Validate/validateTextArea.js +4 -6
  346. package/dist/utils/Validate/validateTextArea.test.js +20 -20
  347. package/dist/utils/Validate/validateTime.js +7 -14
  348. package/dist/utils/Validate/validateTime.test.js +14 -14
  349. package/dist/utils/index.js +7 -9
  350. package/package.json +1 -1
@@ -7,21 +7,16 @@ var _setupTests = require("../../setupTests");
7
7
  var _utils = _interopRequireDefault(require("../../utils"));
8
8
  var _ActionButton = require("../PageActions/ActionButton");
9
9
  var _CollectionPage = _interopRequireWildcard(require("./CollectionPage"));
10
- 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); }
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 && 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; }
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 && 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; }
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
- 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); }
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); }); }; }
17
- 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; }
18
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
19
- 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); } // Global imports
13
+ // Global imports
14
+
20
15
  // Local imports
21
- describe('components.CollectionPage', function () {
22
- describe('CollectionPage', function () {
23
- var _formData, _formData2, _formData3;
24
- var TEXT = {
16
+
17
+ describe('components.CollectionPage', () => {
18
+ describe('CollectionPage', () => {
19
+ const TEXT = {
25
20
  id: 'text',
26
21
  fieldId: 'text',
27
22
  type: 'text',
@@ -29,7 +24,7 @@ describe('components.CollectionPage', function () {
29
24
  hint: 'Text hint'
30
25
  };
31
26
  // eslint-disable-next-line no-template-curly-in-string
32
- var TEXT_WITH_EXPRESSION = {
27
+ const TEXT_WITH_EXPRESSION = {
33
28
  id: 'text1',
34
29
  fieldId: 'text1',
35
30
  type: 'text',
@@ -37,7 +32,7 @@ describe('components.CollectionPage', function () {
37
32
  hint: 'Text hint ${currentUser.givenName}'
38
33
  };
39
34
  // eslint-disable-next-line no-template-curly-in-string
40
- var AUTO_WITH_EXPRESSION = {
35
+ const AUTO_WITH_EXPRESSION = {
41
36
  id: 'text2',
42
37
  fieldId: 'text2',
43
38
  label: '${text2} ${currentUser.givenName}',
@@ -47,10 +42,10 @@ describe('components.CollectionPage', function () {
47
42
  source: [],
48
43
  disabled: false
49
44
  };
50
- var VALUE = 'Text value';
51
- var COLLECTION_NAME = 'testCollection';
52
- var ACTIVE_ID = '01';
53
- var PAGE = {
45
+ const VALUE = 'Text value';
46
+ const COLLECTION_NAME = 'testCollection';
47
+ const ACTIVE_ID = '01';
48
+ const PAGE = {
54
49
  id: 'pageId',
55
50
  title: 'Page 1',
56
51
  collection: {
@@ -58,12 +53,15 @@ describe('components.CollectionPage', function () {
58
53
  },
59
54
  components: [TEXT],
60
55
  actions: [_models.PageAction.TYPES.SUBMIT],
61
- formData: (_formData = {}, _defineProperty(_formData, "".concat(COLLECTION_NAME, "ActiveId"), ACTIVE_ID), _defineProperty(_formData, COLLECTION_NAME, [{
62
- id: ACTIVE_ID,
63
- text: VALUE
64
- }]), _formData)
56
+ formData: {
57
+ ["".concat(COLLECTION_NAME, "ActiveId")]: ACTIVE_ID,
58
+ [COLLECTION_NAME]: [{
59
+ id: ACTIVE_ID,
60
+ text: VALUE
61
+ }]
62
+ }
65
63
  };
66
- var PAGE_WITH_BUTTON_ACTIONS = {
64
+ const PAGE_WITH_BUTTON_ACTIONS = {
67
65
  id: 'pageId',
68
66
  // eslint-disable-next-line no-template-curly-in-string
69
67
  title: '${title}',
@@ -84,19 +82,25 @@ describe('components.CollectionPage', function () {
84
82
  page: '1',
85
83
  label: 'Go back ${wrapper.prevAction}'
86
84
  }],
87
- formData: (_formData2 = {}, _defineProperty(_formData2, "".concat(COLLECTION_NAME, "ActiveId"), ACTIVE_ID), _defineProperty(_formData2, COLLECTION_NAME, [{
88
- id: ACTIVE_ID,
89
- text1: "Text1 ".concat(VALUE),
90
- text2: "Text2 ".concat(VALUE)
91
- }]), _defineProperty(_formData2, "title", 'Order Form'), _defineProperty(_formData2, "wrapper", {
92
- email: 'test@example.email',
93
- nextAction: 'Payment',
94
- prevAction: 'User Details'
95
- }), _defineProperty(_formData2, "currentUser", {
96
- givenName: 'Doe'
97
- }), _formData2)
85
+ formData: {
86
+ ["".concat(COLLECTION_NAME, "ActiveId")]: ACTIVE_ID,
87
+ [COLLECTION_NAME]: [{
88
+ id: ACTIVE_ID,
89
+ text1: "Text1 ".concat(VALUE),
90
+ text2: "Text2 ".concat(VALUE)
91
+ }],
92
+ title: 'Order Form',
93
+ wrapper: {
94
+ email: 'test@example.email',
95
+ nextAction: 'Payment',
96
+ prevAction: 'User Details'
97
+ },
98
+ currentUser: {
99
+ givenName: 'Doe'
100
+ }
101
+ }
98
102
  };
99
- var PAGE_WITH_CONDITIONAL_BUTTONS = {
103
+ const PAGE_WITH_CONDITIONAL_BUTTONS = {
100
104
  id: 'pageId',
101
105
  // eslint-disable-next-line no-template-curly-in-string
102
106
  title: '${title}',
@@ -123,70 +127,74 @@ describe('components.CollectionPage', function () {
123
127
  value: 'Doe'
124
128
  }]
125
129
  }],
126
- formData: (_formData3 = {}, _defineProperty(_formData3, "".concat(COLLECTION_NAME, "ActiveId"), ACTIVE_ID), _defineProperty(_formData3, COLLECTION_NAME, [{
127
- id: ACTIVE_ID,
128
- text1: "Text1 ".concat(VALUE),
129
- text2: "Text2 ".concat(VALUE)
130
- }]), _defineProperty(_formData3, "title", 'Order Form'), _defineProperty(_formData3, "wrapper", {
131
- email: 'test@example.email',
132
- nextAction: 'Payment',
133
- prevAction: 'User Details'
134
- }), _defineProperty(_formData3, "currentUser", {
135
- givenName: 'Doe'
136
- }), _formData3)
130
+ formData: {
131
+ ["".concat(COLLECTION_NAME, "ActiveId")]: ACTIVE_ID,
132
+ [COLLECTION_NAME]: [{
133
+ id: ACTIVE_ID,
134
+ text1: "Text1 ".concat(VALUE),
135
+ text2: "Text2 ".concat(VALUE)
136
+ }],
137
+ title: 'Order Form',
138
+ wrapper: {
139
+ email: 'test@example.email',
140
+ nextAction: 'Payment',
141
+ prevAction: 'User Details'
142
+ },
143
+ currentUser: {
144
+ givenName: 'Doe'
145
+ }
146
+ }
137
147
  };
138
- var ON_ACTION_CALLS = [];
139
- var checkInputField = function checkInputField(formGroup, fieldId, lbl, hnt, val) {
148
+ const ON_ACTION_CALLS = [];
149
+ const checkInputField = (formGroup, fieldId, lbl, hnt, val) => {
140
150
  expect(formGroup.tagName).toEqual('DIV');
141
151
  expect(formGroup.classList).toContain('govuk-form-group');
142
- var label = formGroup.childNodes[0];
152
+ const label = formGroup.childNodes[0];
143
153
  expect(label.tagName).toEqual('LABEL');
144
154
  expect(label.classList).toContain('govuk-label');
145
155
  expect(label.textContent).toEqual(lbl);
146
156
  expect(label.getAttribute('for')).toEqual(fieldId);
147
- var hint = formGroup.childNodes[1];
157
+ const hint = formGroup.childNodes[1];
148
158
  expect(hint.tagName).toEqual('DIV');
149
159
  expect(hint.classList).toContain('govuk-hint');
150
160
  expect(hint.textContent).toEqual(hnt);
151
- var input = formGroup.childNodes[2];
161
+ const input = formGroup.childNodes[2];
152
162
  expect(input.tagName).toEqual('INPUT');
153
163
  expect(input.classList).toContain('govuk-input');
154
164
  expect(input.id).toEqual(fieldId);
155
165
  expect(input.value).toEqual(val);
156
166
  return input;
157
167
  };
158
- var checkAutoCompleteField = function checkAutoCompleteField(formGroup, fieldId, lbl, hnt, val) {
168
+ const checkAutoCompleteField = (formGroup, fieldId, lbl, hnt, val) => {
159
169
  expect(formGroup.tagName).toEqual('DIV');
160
170
  expect(formGroup.classList).toContain('govuk-form-group');
161
- var label = formGroup.childNodes[0];
171
+ const label = formGroup.childNodes[0];
162
172
  expect(label.tagName).toEqual('LABEL');
163
173
  expect(label.classList).toContain('govuk-label');
164
174
  expect(label.textContent).toEqual(lbl);
165
175
  expect(label.getAttribute('for')).toEqual(fieldId);
166
- var hint = formGroup.childNodes[1];
176
+ const hint = formGroup.childNodes[1];
167
177
  expect(hint.tagName).toEqual('DIV');
168
178
  expect(hint.classList).toContain('govuk-hint');
169
179
  expect(hint.textContent).toEqual(hnt);
170
- var outerWrapper = formGroup.childNodes[2];
180
+ const outerWrapper = formGroup.childNodes[2];
171
181
  expect(outerWrapper.classList).toContain('hods-autocomplete__outer-wrapper');
172
- var autocomplete = outerWrapper.childNodes[0];
182
+ const autocomplete = outerWrapper.childNodes[0];
173
183
  expect(autocomplete.classList).toContain('hods-autocomplete__wrapper');
174
- var input = [].concat(autocomplete.childNodes).filter(function (e) {
175
- return e.tagName === 'INPUT';
176
- })[0];
184
+ const input = [].concat(autocomplete.childNodes).filter(e => e.tagName === 'INPUT')[0];
177
185
  expect(input.classList).toContain('hods-autocomplete__input');
178
186
  expect(input.tagName).toEqual('INPUT');
179
187
  expect(input.id).toEqual(fieldId);
180
188
  expect(input.value).toEqual(val);
181
189
  return input;
182
190
  };
183
- var checkFormButtonGroup = function checkFormButtonGroup(buttonGroup, labels) {
191
+ const checkFormButtonGroup = (buttonGroup, labels) => {
184
192
  var _buttonGroup$childNod;
185
- var buttons = [];
193
+ const buttons = [];
186
194
  expect(buttonGroup.tagName).toEqual('DIV');
187
195
  expect(buttonGroup.classList).toContain('hods-button-group');
188
196
  expect((_buttonGroup$childNod = buttonGroup.childNodes) === null || _buttonGroup$childNod === void 0 ? void 0 : _buttonGroup$childNod.length).toEqual(labels.length);
189
- buttonGroup.childNodes.forEach(function (button, i) {
197
+ buttonGroup.childNodes.forEach((button, i) => {
190
198
  expect(button.tagName).toEqual('BUTTON');
191
199
  expect(button.classList).toContain('hods-button');
192
200
  expect(button.textContent).toEqual(labels[i]);
@@ -194,196 +202,163 @@ describe('components.CollectionPage', function () {
194
202
  });
195
203
  return buttons;
196
204
  };
197
- var ON_ACTION = function ON_ACTION(action, patch, onError) {
205
+ const ON_ACTION = (action, patch, onError) => {
198
206
  ON_ACTION_CALLS.push({
199
- action: action,
200
- patch: patch,
201
- onError: onError
207
+ action,
208
+ patch,
209
+ onError
202
210
  });
203
211
  };
204
- beforeEach(function () {
205
- var _PAGE$formData;
206
- PAGE.formData = (_PAGE$formData = {}, _defineProperty(_PAGE$formData, "".concat(COLLECTION_NAME, "ActiveId"), ACTIVE_ID), _defineProperty(_PAGE$formData, COLLECTION_NAME, [{
207
- id: ACTIVE_ID,
208
- text: VALUE
209
- }]), _PAGE$formData);
212
+ beforeEach(() => {
213
+ PAGE.formData = {
214
+ ["".concat(COLLECTION_NAME, "ActiveId")]: ACTIVE_ID,
215
+ [COLLECTION_NAME]: [{
216
+ id: ACTIVE_ID,
217
+ text: VALUE
218
+ }]
219
+ };
210
220
  ON_ACTION_CALLS.length = 0;
211
221
  });
212
- it('should render a submit page correctly', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
213
- var _renderWithValidation, container, page, heading;
214
- return _regeneratorRuntime().wrap(function _callee$(_context) {
215
- while (1) switch (_context.prev = _context.next) {
216
- case 0:
217
- _renderWithValidation = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
218
- page: PAGE,
219
- onAction: ON_ACTION
220
- })), container = _renderWithValidation.container;
221
- page = container.childNodes[0];
222
- expect(page.tagName).toEqual('DIV');
223
- expect(page.classList).toContain(_CollectionPage.DEFAULT_CLASS);
224
- heading = page.childNodes[0];
225
- expect(heading.classList).toContain('govuk-heading-l');
226
- expect(heading.textContent).toEqual(_utils.default.FormPage.getTitle(PAGE.title, PAGE.formData));
227
- checkInputField(page.childNodes[1], TEXT.fieldId, "".concat(TEXT.label, " (optional)"), TEXT.hint, VALUE);
228
- checkFormButtonGroup(page.childNodes[2], [_ActionButton.DEFAULT_LABEL]);
229
- case 9:
230
- case "end":
231
- return _context.stop();
232
- }
233
- }, _callee);
234
- })));
235
- it('should render a submit page correctly and submit action button has interpolated label', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
236
- var _renderWithValidation2, container, page, FORM_DATA, heading;
237
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
238
- while (1) switch (_context2.prev = _context2.next) {
239
- case 0:
240
- _renderWithValidation2 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
241
- page: PAGE_WITH_BUTTON_ACTIONS,
242
- onAction: ON_ACTION
243
- })), container = _renderWithValidation2.container;
244
- page = container.childNodes[0];
245
- FORM_DATA = PAGE_WITH_BUTTON_ACTIONS.formData;
246
- expect(page.tagName).toEqual('DIV');
247
- expect(page.classList).toContain(_CollectionPage.DEFAULT_CLASS);
248
- heading = page.childNodes[0];
249
- expect(heading.classList).toContain('govuk-heading-l');
250
- expect(heading.textContent).toEqual(FORM_DATA.title);
251
- checkInputField(page.childNodes[1], TEXT_WITH_EXPRESSION.fieldId, 'Email to test@example.email (optional)', 'Text hint Doe', 'Text1 Text value');
252
- checkAutoCompleteField(page.childNodes[2], AUTO_WITH_EXPRESSION.fieldId, "".concat(FORM_DATA[COLLECTION_NAME][0].text2, " ").concat(FORM_DATA.currentUser.givenName), FORM_DATA.wrapper.email, "Text2 ".concat(VALUE));
253
- checkFormButtonGroup(page.childNodes[3], ['Next Payment', 'Go back User Details']);
254
- case 11:
255
- case "end":
256
- return _context2.stop();
257
- }
258
- }, _callee2);
259
- })));
260
- it('should render only the conditionally shown button', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
261
- var _renderWithValidation3, container, page;
262
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
263
- while (1) switch (_context3.prev = _context3.next) {
264
- case 0:
265
- _renderWithValidation3 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
266
- page: PAGE_WITH_CONDITIONAL_BUTTONS,
267
- onAction: ON_ACTION
268
- })), container = _renderWithValidation3.container;
269
- page = container.childNodes[0];
270
- checkFormButtonGroup(page.childNodes[3], ['Button 2']); // Just the second button shown
271
- case 3:
272
- case "end":
273
- return _context3.stop();
274
- }
275
- }, _callee3);
276
- })));
277
- describe('with a top-level Collection Page', function () {
278
- it('should handle a page change appropriately', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
279
- var _renderWithValidation4, container, page, input, NEW_VALUE, EVENT;
280
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
281
- while (1) switch (_context4.prev = _context4.next) {
282
- case 0:
283
- _renderWithValidation4 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
284
- page: PAGE,
285
- onAction: ON_ACTION
286
- })), container = _renderWithValidation4.container;
287
- page = container.childNodes[0];
288
- expect(page.tagName).toEqual('DIV');
222
+ it('should render a submit page correctly', async () => {
223
+ const {
224
+ container
225
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
226
+ page: PAGE,
227
+ onAction: ON_ACTION
228
+ }));
229
+ const page = container.childNodes[0];
230
+ expect(page.tagName).toEqual('DIV');
231
+ expect(page.classList).toContain(_CollectionPage.DEFAULT_CLASS);
232
+ const heading = page.childNodes[0];
233
+ expect(heading.classList).toContain('govuk-heading-l');
234
+ expect(heading.textContent).toEqual(_utils.default.FormPage.getTitle(PAGE.title, PAGE.formData));
235
+ checkInputField(page.childNodes[1], TEXT.fieldId, "".concat(TEXT.label, " (optional)"), TEXT.hint, VALUE);
236
+ checkFormButtonGroup(page.childNodes[2], [_ActionButton.DEFAULT_LABEL]);
237
+ });
238
+ it('should render a submit page correctly and submit action button has interpolated label', async () => {
239
+ const {
240
+ container
241
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
242
+ page: PAGE_WITH_BUTTON_ACTIONS,
243
+ onAction: ON_ACTION
244
+ }));
245
+ const page = container.childNodes[0];
246
+ const FORM_DATA = PAGE_WITH_BUTTON_ACTIONS.formData;
247
+ expect(page.tagName).toEqual('DIV');
248
+ expect(page.classList).toContain(_CollectionPage.DEFAULT_CLASS);
249
+ const heading = page.childNodes[0];
250
+ expect(heading.classList).toContain('govuk-heading-l');
251
+ expect(heading.textContent).toEqual(FORM_DATA.title);
252
+ checkInputField(page.childNodes[1], TEXT_WITH_EXPRESSION.fieldId, 'Email to test@example.email (optional)', 'Text hint Doe', 'Text1 Text value');
253
+ checkAutoCompleteField(page.childNodes[2], AUTO_WITH_EXPRESSION.fieldId, "".concat(FORM_DATA[COLLECTION_NAME][0].text2, " ").concat(FORM_DATA.currentUser.givenName), FORM_DATA.wrapper.email, "Text2 ".concat(VALUE));
254
+ checkFormButtonGroup(page.childNodes[3], ['Next Payment', 'Go back User Details']);
255
+ });
256
+ it('should render only the conditionally shown button', async () => {
257
+ const {
258
+ container
259
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
260
+ page: PAGE_WITH_CONDITIONAL_BUTTONS,
261
+ onAction: ON_ACTION
262
+ }));
263
+ const page = container.childNodes[0];
264
+ checkFormButtonGroup(page.childNodes[3], ['Button 2']); // Just the second button shown
265
+ });
289
266
 
290
- // Change the input.
291
- input = page.childNodes[1].childNodes[2];
292
- NEW_VALUE = "".concat(VALUE, ".");
293
- EVENT = {
294
- target: {
295
- name: TEXT.fieldId,
296
- value: NEW_VALUE
297
- }
298
- };
299
- _react.fireEvent.change(input, EVENT);
267
+ describe('with a top-level Collection Page', () => {
268
+ it('should handle a page change appropriately', async () => {
269
+ const {
270
+ container
271
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
272
+ page: PAGE,
273
+ onAction: ON_ACTION
274
+ }));
275
+ const page = container.childNodes[0];
276
+ expect(page.tagName).toEqual('DIV');
300
277
 
301
- // And confirm the formData has been changed.
302
- expect(PAGE.formData[COLLECTION_NAME][0].text).toEqual(NEW_VALUE);
303
- case 8:
304
- case "end":
305
- return _context4.stop();
278
+ // Change the input.
279
+ const input = page.childNodes[1].childNodes[2];
280
+ const NEW_VALUE = "".concat(VALUE, ".");
281
+ const EVENT = {
282
+ target: {
283
+ name: TEXT.fieldId,
284
+ value: NEW_VALUE
306
285
  }
307
- }, _callee4);
308
- })));
309
- it('should handle a page action appropriately, updating the active entry if there is one', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
310
- var _renderWithValidation5, container, page, input, NEW_VALUE, CHANGE_EVENT, button;
311
- return _regeneratorRuntime().wrap(function _callee5$(_context5) {
312
- while (1) switch (_context5.prev = _context5.next) {
313
- case 0:
314
- _renderWithValidation5 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
315
- page: PAGE,
316
- onAction: ON_ACTION
317
- })), container = _renderWithValidation5.container;
318
- page = container.childNodes[0]; // Change the input.
319
- input = page.childNodes[1].childNodes[2];
320
- NEW_VALUE = "".concat(VALUE, ".");
321
- CHANGE_EVENT = {
322
- target: {
323
- name: TEXT.fieldId,
324
- value: NEW_VALUE
325
- }
326
- };
327
- _react.fireEvent.change(input, CHANGE_EVENT);
286
+ };
287
+ _react.fireEvent.change(input, EVENT);
328
288
 
329
- // Then click the action button.
330
- button = page.childNodes[2].childNodes[0];
331
- _react.fireEvent.click(button, {});
289
+ // And confirm the formData has been changed.
290
+ expect(PAGE.formData[COLLECTION_NAME][0].text).toEqual(NEW_VALUE);
291
+ });
292
+ it('should handle a page action appropriately, updating the active entry if there is one', async () => {
293
+ const {
294
+ container
295
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
296
+ page: PAGE,
297
+ onAction: ON_ACTION
298
+ }));
299
+ const page = container.childNodes[0];
332
300
 
333
- // And confirm an appropriate action was received.
334
- expect(ON_ACTION_CALLS.length).toEqual(1);
335
- expect(PAGE.formData[COLLECTION_NAME][0].text).toEqual(NEW_VALUE);
336
- expect(ON_ACTION_CALLS[0].action).toEqual(_models.PageAction.DEFAULTS.submit);
337
- expect(ON_ACTION_CALLS[0].patch).toEqual(_defineProperty({}, COLLECTION_NAME, [{
338
- id: ACTIVE_ID,
339
- text: NEW_VALUE
340
- }]));
341
- case 12:
342
- case "end":
343
- return _context5.stop();
301
+ // Change the input.
302
+ const input = page.childNodes[1].childNodes[2];
303
+ const NEW_VALUE = "".concat(VALUE, ".");
304
+ const CHANGE_EVENT = {
305
+ target: {
306
+ name: TEXT.fieldId,
307
+ value: NEW_VALUE
344
308
  }
345
- }, _callee5);
346
- })));
347
- it('should handle a page action appropriately, creating a new active entry if there isn\'t one', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
348
- var _renderWithValidation6, container, page, input, NEW_VALUE, CHANGE_EVENT, button;
349
- return _regeneratorRuntime().wrap(function _callee6$(_context6) {
350
- while (1) switch (_context6.prev = _context6.next) {
351
- case 0:
352
- // Make sure there is no active entry.
353
- PAGE.formData["".concat(COLLECTION_NAME, "ActiveId")] = 'newId';
354
- _renderWithValidation6 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
355
- page: PAGE,
356
- onAction: ON_ACTION
357
- })), container = _renderWithValidation6.container;
358
- page = container.childNodes[0]; // Change the input.
359
- input = page.childNodes[1].childNodes[2];
360
- NEW_VALUE = "".concat(VALUE, ".");
361
- CHANGE_EVENT = {
362
- target: {
363
- name: TEXT.fieldId,
364
- value: NEW_VALUE
365
- }
366
- };
367
- _react.fireEvent.change(input, CHANGE_EVENT);
309
+ };
310
+ _react.fireEvent.change(input, CHANGE_EVENT);
311
+
312
+ // Then click the action button.
313
+ const button = page.childNodes[2].childNodes[0];
314
+ _react.fireEvent.click(button, {});
368
315
 
369
- // Then click the action button.
370
- button = page.childNodes[2].childNodes[0];
371
- _react.fireEvent.click(button, {});
316
+ // And confirm an appropriate action was received.
317
+ expect(ON_ACTION_CALLS.length).toEqual(1);
318
+ expect(PAGE.formData[COLLECTION_NAME][0].text).toEqual(NEW_VALUE);
319
+ expect(ON_ACTION_CALLS[0].action).toEqual(_models.PageAction.DEFAULTS.submit);
320
+ expect(ON_ACTION_CALLS[0].patch).toEqual({
321
+ [COLLECTION_NAME]: [{
322
+ id: ACTIVE_ID,
323
+ text: NEW_VALUE
324
+ }]
325
+ });
326
+ });
327
+ it('should handle a page action appropriately, creating a new active entry if there isn\'t one', async () => {
328
+ // Make sure there is no active entry.
329
+ PAGE.formData["".concat(COLLECTION_NAME, "ActiveId")] = 'newId';
330
+ const {
331
+ container
332
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
333
+ page: PAGE,
334
+ onAction: ON_ACTION
335
+ }));
336
+ const page = container.childNodes[0];
372
337
 
373
- // And confirm an appropriate action was received.
374
- expect(ON_ACTION_CALLS.length).toEqual(1);
375
- expect(PAGE.formData[COLLECTION_NAME][1].text).toEqual(NEW_VALUE);
376
- expect(PAGE.formData[COLLECTION_NAME][1].id).toBeTruthy();
377
- expect(ON_ACTION_CALLS[0].action).toEqual(_models.PageAction.DEFAULTS.submit);
378
- case 13:
379
- case "end":
380
- return _context6.stop();
338
+ // Change the input.
339
+ const input = page.childNodes[1].childNodes[2];
340
+ const NEW_VALUE = "".concat(VALUE, ".");
341
+ const CHANGE_EVENT = {
342
+ target: {
343
+ name: TEXT.fieldId,
344
+ value: NEW_VALUE
381
345
  }
382
- }, _callee6);
383
- })));
346
+ };
347
+ _react.fireEvent.change(input, CHANGE_EVENT);
348
+
349
+ // Then click the action button.
350
+ const button = page.childNodes[2].childNodes[0];
351
+ _react.fireEvent.click(button, {});
352
+
353
+ // And confirm an appropriate action was received.
354
+ expect(ON_ACTION_CALLS.length).toEqual(1);
355
+ expect(PAGE.formData[COLLECTION_NAME][1].text).toEqual(NEW_VALUE);
356
+ expect(PAGE.formData[COLLECTION_NAME][1].id).toBeTruthy();
357
+ expect(ON_ACTION_CALLS[0].action).toEqual(_models.PageAction.DEFAULTS.submit);
358
+ });
384
359
  });
385
- describe('with a nested Collection Page', function () {
386
- var NESTED_PAGE = {
360
+ describe('with a nested Collection Page', () => {
361
+ const NESTED_PAGE = {
387
362
  id: 'pageId',
388
363
  title: 'Page 1',
389
364
  collection: {
@@ -403,7 +378,7 @@ describe('components.CollectionPage', function () {
403
378
  }]
404
379
  }
405
380
  };
406
- beforeEach(function () {
381
+ beforeEach(() => {
407
382
  NESTED_PAGE.formData = {
408
383
  parentActiveId: '001',
409
384
  childActiveId: '001',
@@ -417,117 +392,100 @@ describe('components.CollectionPage', function () {
417
392
  };
418
393
  ON_ACTION_CALLS.length = 0;
419
394
  });
420
- it('should handle a page change appropriately', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
421
- var _renderWithValidation7, container, page, input, NEW_VALUE, EVENT;
422
- return _regeneratorRuntime().wrap(function _callee7$(_context7) {
423
- while (1) switch (_context7.prev = _context7.next) {
424
- case 0:
425
- _renderWithValidation7 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
426
- page: NESTED_PAGE,
427
- onAction: ON_ACTION
428
- })), container = _renderWithValidation7.container;
429
- page = container.childNodes[0];
430
- expect(page.tagName).toEqual('DIV');
431
-
432
- // Change the input.
433
- input = page.childNodes[1].childNodes[2];
434
- NEW_VALUE = "".concat(VALUE, ".");
435
- EVENT = {
436
- target: {
437
- name: TEXT.fieldId,
438
- value: NEW_VALUE
439
- }
440
- };
441
- _react.fireEvent.change(input, EVENT);
395
+ it('should handle a page change appropriately', async () => {
396
+ const {
397
+ container
398
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
399
+ page: NESTED_PAGE,
400
+ onAction: ON_ACTION
401
+ }));
402
+ const page = container.childNodes[0];
403
+ expect(page.tagName).toEqual('DIV');
442
404
 
443
- // And confirm the formData has been changed.
444
- expect(NESTED_PAGE.formData.parent[0].child[0].text).toEqual(NEW_VALUE);
445
- case 8:
446
- case "end":
447
- return _context7.stop();
405
+ // Change the input.
406
+ const input = page.childNodes[1].childNodes[2];
407
+ const NEW_VALUE = "".concat(VALUE, ".");
408
+ const EVENT = {
409
+ target: {
410
+ name: TEXT.fieldId,
411
+ value: NEW_VALUE
448
412
  }
449
- }, _callee7);
450
- })));
451
- it('should handle a page action appropriately, updating the active entry if there is one', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
452
- var _renderWithValidation8, container, page, input, NEW_VALUE, CHANGE_EVENT, button;
453
- return _regeneratorRuntime().wrap(function _callee8$(_context8) {
454
- while (1) switch (_context8.prev = _context8.next) {
455
- case 0:
456
- _renderWithValidation8 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
457
- page: NESTED_PAGE,
458
- onAction: ON_ACTION
459
- })), container = _renderWithValidation8.container;
460
- page = container.childNodes[0]; // Change the input.
461
- input = page.childNodes[1].childNodes[2];
462
- NEW_VALUE = "".concat(VALUE, ".");
463
- CHANGE_EVENT = {
464
- target: {
465
- name: TEXT.fieldId,
466
- value: NEW_VALUE
467
- }
468
- };
469
- _react.fireEvent.change(input, CHANGE_EVENT);
413
+ };
414
+ _react.fireEvent.change(input, EVENT);
470
415
 
471
- // Then click the action button.
472
- button = page.childNodes[2].childNodes[0];
473
- _react.fireEvent.click(button, {});
416
+ // And confirm the formData has been changed.
417
+ expect(NESTED_PAGE.formData.parent[0].child[0].text).toEqual(NEW_VALUE);
418
+ });
419
+ it('should handle a page action appropriately, updating the active entry if there is one', async () => {
420
+ const {
421
+ container
422
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
423
+ page: NESTED_PAGE,
424
+ onAction: ON_ACTION
425
+ }));
426
+ const page = container.childNodes[0];
474
427
 
475
- // And confirm an appropriate action was received.
476
- expect(ON_ACTION_CALLS.length).toEqual(1);
477
- expect(NESTED_PAGE.formData.parent[0].child[0].text).toEqual(NEW_VALUE);
478
- expect(ON_ACTION_CALLS[0].action).toEqual(_models.PageAction.DEFAULTS.submit);
479
- expect(ON_ACTION_CALLS[0].patch).toEqual({
480
- parent: [{
481
- id: '001',
482
- child: [{
483
- id: '001',
484
- text: NEW_VALUE
485
- }]
486
- }]
487
- });
488
- case 12:
489
- case "end":
490
- return _context8.stop();
428
+ // Change the input.
429
+ const input = page.childNodes[1].childNodes[2];
430
+ const NEW_VALUE = "".concat(VALUE, ".");
431
+ const CHANGE_EVENT = {
432
+ target: {
433
+ name: TEXT.fieldId,
434
+ value: NEW_VALUE
491
435
  }
492
- }, _callee8);
493
- })));
494
- it('should handle a page action appropriately, creating a new active entry if there isn\'t one', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee9() {
495
- var _renderWithValidation9, container, page, input, NEW_VALUE, CHANGE_EVENT, button;
496
- return _regeneratorRuntime().wrap(function _callee9$(_context9) {
497
- while (1) switch (_context9.prev = _context9.next) {
498
- case 0:
499
- // Make sure there is no active entry.
500
- NESTED_PAGE.formData.childActiveId = 'newId';
501
- _renderWithValidation9 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
502
- page: NESTED_PAGE,
503
- onAction: ON_ACTION
504
- })), container = _renderWithValidation9.container;
505
- page = container.childNodes[0]; // Change the input.
506
- input = page.childNodes[1].childNodes[2];
507
- NEW_VALUE = "".concat(VALUE, ".");
508
- CHANGE_EVENT = {
509
- target: {
510
- name: TEXT.fieldId,
511
- value: NEW_VALUE
512
- }
513
- };
514
- _react.fireEvent.change(input, CHANGE_EVENT);
436
+ };
437
+ _react.fireEvent.change(input, CHANGE_EVENT);
515
438
 
516
- // Then click the action button.
517
- button = page.childNodes[2].childNodes[0];
518
- _react.fireEvent.click(button, {});
439
+ // Then click the action button.
440
+ const button = page.childNodes[2].childNodes[0];
441
+ _react.fireEvent.click(button, {});
442
+
443
+ // And confirm an appropriate action was received.
444
+ expect(ON_ACTION_CALLS.length).toEqual(1);
445
+ expect(NESTED_PAGE.formData.parent[0].child[0].text).toEqual(NEW_VALUE);
446
+ expect(ON_ACTION_CALLS[0].action).toEqual(_models.PageAction.DEFAULTS.submit);
447
+ expect(ON_ACTION_CALLS[0].patch).toEqual({
448
+ parent: [{
449
+ id: '001',
450
+ child: [{
451
+ id: '001',
452
+ text: NEW_VALUE
453
+ }]
454
+ }]
455
+ });
456
+ });
457
+ it('should handle a page action appropriately, creating a new active entry if there isn\'t one', async () => {
458
+ // Make sure there is no active entry.
459
+ NESTED_PAGE.formData.childActiveId = 'newId';
460
+ const {
461
+ container
462
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
463
+ page: NESTED_PAGE,
464
+ onAction: ON_ACTION
465
+ }));
466
+ const page = container.childNodes[0];
519
467
 
520
- // And confirm an appropriate action was received.
521
- expect(ON_ACTION_CALLS.length).toEqual(1);
522
- expect(NESTED_PAGE.formData.parent[0].child[1].text).toEqual(NEW_VALUE);
523
- expect(NESTED_PAGE.formData.parent[0].child[1].id).toBeTruthy();
524
- expect(ON_ACTION_CALLS[0].action).toEqual(_models.PageAction.DEFAULTS.submit);
525
- case 13:
526
- case "end":
527
- return _context9.stop();
468
+ // Change the input.
469
+ const input = page.childNodes[1].childNodes[2];
470
+ const NEW_VALUE = "".concat(VALUE, ".");
471
+ const CHANGE_EVENT = {
472
+ target: {
473
+ name: TEXT.fieldId,
474
+ value: NEW_VALUE
528
475
  }
529
- }, _callee9);
530
- })));
476
+ };
477
+ _react.fireEvent.change(input, CHANGE_EVENT);
478
+
479
+ // Then click the action button.
480
+ const button = page.childNodes[2].childNodes[0];
481
+ _react.fireEvent.click(button, {});
482
+
483
+ // And confirm an appropriate action was received.
484
+ expect(ON_ACTION_CALLS.length).toEqual(1);
485
+ expect(NESTED_PAGE.formData.parent[0].child[1].text).toEqual(NEW_VALUE);
486
+ expect(NESTED_PAGE.formData.parent[0].child[1].id).toBeTruthy();
487
+ expect(ON_ACTION_CALLS[0].action).toEqual(_models.PageAction.DEFAULTS.submit);
488
+ });
531
489
  });
532
490
  });
533
491
  });