@ukhomeoffice/cop-react-form-renderer 5.45.2-alpha → 5.48.1-bravo

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 (353) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +12 -12
  2. package/dist/components/CheckYourAnswers/Answer.test.js +127 -92
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +131 -101
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +769 -464
  5. package/dist/components/CollectionPage/CollectionPage.js +58 -66
  6. package/dist/components/CollectionPage/CollectionPage.test.js +342 -300
  7. package/dist/components/CollectionSummary/BannerStrip.js +12 -12
  8. package/dist/components/CollectionSummary/BannerStrip.test.js +59 -63
  9. package/dist/components/CollectionSummary/CollectionSummary.js +88 -61
  10. package/dist/components/CollectionSummary/CollectionSummary.test.js +96 -102
  11. package/dist/components/CollectionSummary/Confirmation.js +12 -14
  12. package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
  13. package/dist/components/CollectionSummary/SummaryCard.js +148 -109
  14. package/dist/components/CollectionSummary/SummaryCard.scss +1 -1
  15. package/dist/components/CollectionSummary/SummaryCard.test.js +927 -905
  16. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +29 -23
  17. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +73 -61
  18. package/dist/components/FormComponent/Collection.js +107 -73
  19. package/dist/components/FormComponent/Collection.test.js +945 -809
  20. package/dist/components/FormComponent/Container.js +38 -40
  21. package/dist/components/FormComponent/Container.test.js +345 -314
  22. package/dist/components/FormComponent/FormComponent.js +70 -67
  23. package/dist/components/FormComponent/FormComponent.test.js +342 -284
  24. package/dist/components/FormComponent/helpers/addLabel.js +7 -4
  25. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  26. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
  27. package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
  28. package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
  29. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
  30. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
  31. package/dist/components/FormComponent/helpers/index.js +4 -4
  32. package/dist/components/FormPage/FormPage.js +80 -65
  33. package/dist/components/FormPage/FormPage.test.js +163 -127
  34. package/dist/components/FormRenderer/FormRenderer.js +181 -144
  35. package/dist/components/FormRenderer/FormRenderer.test.js +1115 -730
  36. package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
  37. package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
  38. package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
  39. package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
  40. package/dist/components/FormRenderer/handlers/index.js +1 -1
  41. package/dist/components/FormRenderer/handlers/navigate.js +3 -3
  42. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  43. package/dist/components/FormRenderer/helpers/canActionProceed.js +5 -1
  44. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +47 -11
  45. package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
  46. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +20 -16
  47. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -17
  48. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
  49. package/dist/components/FormRenderer/helpers/getCYA.js +5 -3
  50. package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
  51. package/dist/components/FormRenderer/helpers/getFormState.js +7 -5
  52. package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
  53. package/dist/components/FormRenderer/helpers/getNextPageId.js +24 -13
  54. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
  55. package/dist/components/FormRenderer/helpers/getPage.js +4 -2
  56. package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
  57. package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -7
  58. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
  59. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
  60. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +91 -97
  61. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +60 -62
  62. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +73 -71
  63. package/dist/components/FormRenderer/helpers/index.js +1 -1
  64. package/dist/components/FormRenderer/onCYAAction.js +51 -59
  65. package/dist/components/FormRenderer/onCYAAction.test.js +152 -164
  66. package/dist/components/FormRenderer/onPageAction.js +40 -44
  67. package/dist/components/FormRenderer/onPageAction.test.js +206 -223
  68. package/dist/components/FormRenderer/onTaskAction.js +13 -9
  69. package/dist/components/FormRenderer/onTaskAction.test.js +88 -93
  70. package/dist/components/PageActions/ActionButton.js +15 -12
  71. package/dist/components/PageActions/ActionButton.test.js +78 -56
  72. package/dist/components/PageActions/PageActions.js +10 -10
  73. package/dist/components/PageActions/PageActions.test.js +115 -86
  74. package/dist/components/SummaryList/GroupAction.js +17 -9
  75. package/dist/components/SummaryList/GroupAction.test.js +33 -37
  76. package/dist/components/SummaryList/RowAction.js +16 -11
  77. package/dist/components/SummaryList/RowAction.test.js +33 -37
  78. package/dist/components/SummaryList/SummaryList.js +26 -21
  79. package/dist/components/SummaryList/SummaryList.test.js +166 -143
  80. package/dist/components/SummaryList/SummaryListHeadingRow.js +4 -6
  81. package/dist/components/SummaryList/SummaryListRow.js +4 -6
  82. package/dist/components/SummaryList/SummaryListTitleRow.js +3 -5
  83. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -3
  84. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
  85. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -3
  86. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
  87. package/dist/components/SummaryList/helpers/index.js +1 -1
  88. package/dist/components/TaskList/Task.js +29 -19
  89. package/dist/components/TaskList/Task.test.js +76 -83
  90. package/dist/components/TaskList/TaskList.js +71 -45
  91. package/dist/components/TaskList/TaskList.test.js +111 -113
  92. package/dist/components/TaskList/TaskState.js +5 -7
  93. package/dist/components/TaskList/TaskState.test.js +45 -52
  94. package/dist/components/index.js +7 -7
  95. package/dist/context/HooksContext/HooksContext.js +79 -58
  96. package/dist/context/HooksContext/HooksContext.test.js +35 -26
  97. package/dist/context/HooksContext/index.js +4 -3
  98. package/dist/context/ValidationContext/ValidationContext.js +72 -32
  99. package/dist/context/ValidationContext/ValidationContext.test.js +59 -47
  100. package/dist/context/ValidationContext/index.js +4 -3
  101. package/dist/context/index.js +2 -2
  102. package/dist/hooks/index.js +10 -9
  103. package/dist/hooks/useAxios.js +40 -14
  104. package/dist/hooks/useGetRequest.js +97 -61
  105. package/dist/hooks/useHooks.js +3 -1
  106. package/dist/hooks/useRefData.js +39 -26
  107. package/dist/hooks/useValidation.js +3 -1
  108. package/dist/index.js +14 -13
  109. package/dist/models/CollectionLabels.js +1 -1
  110. package/dist/models/ComponentTypes.js +25 -25
  111. package/dist/models/EventTypes.js +4 -4
  112. package/dist/models/FormPages.js +4 -4
  113. package/dist/models/FormTypes.js +8 -8
  114. package/dist/models/HubFormats.js +3 -3
  115. package/dist/models/PageAction.js +38 -44
  116. package/dist/models/TaskStates.js +28 -30
  117. package/dist/models/index.js +9 -9
  118. package/dist/setupTests.js +31 -30
  119. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  120. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +54 -52
  121. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +25 -15
  122. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +35 -33
  123. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +31 -17
  124. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +44 -42
  125. package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
  126. package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
  127. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +24 -18
  128. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -15
  129. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +36 -33
  130. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +60 -58
  131. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +88 -79
  132. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +124 -146
  133. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +20 -25
  134. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +97 -103
  135. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +18 -13
  136. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +76 -70
  137. package/dist/utils/CheckYourAnswers/index.js +1 -1
  138. package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
  139. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +24 -24
  140. package/dist/utils/CollectionPage/addCollectionPageEntry.js +1 -1
  141. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
  142. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
  143. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +17 -17
  144. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +18 -9
  145. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +22 -27
  146. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  147. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
  148. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +11 -7
  149. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
  150. package/dist/utils/CollectionPage/getCollectionPageData.js +12 -8
  151. package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
  152. package/dist/utils/CollectionPage/getQuickEditPage.js +19 -19
  153. package/dist/utils/CollectionPage/getQuickEditPage.test.js +16 -12
  154. package/dist/utils/CollectionPage/index.js +1 -1
  155. package/dist/utils/CollectionPage/mergeCollectionPages.js +30 -29
  156. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +17 -17
  157. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +6 -4
  158. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
  159. package/dist/utils/CollectionPage/setCollectionPageData.js +12 -8
  160. package/dist/utils/CollectionPage/setCollectionPageData.test.js +17 -17
  161. package/dist/utils/Component/addShowWhen.js +8 -4
  162. package/dist/utils/Component/addShowWhen.test.js +37 -37
  163. package/dist/utils/Component/applyToComponentTree.js +18 -18
  164. package/dist/utils/Component/applyToComponentTree.test.js +32 -27
  165. package/dist/utils/Component/cleanAttributes.js +13 -10
  166. package/dist/utils/Component/cleanAttributes.test.js +18 -17
  167. package/dist/utils/Component/elevateNestedComponents.js +5 -5
  168. package/dist/utils/Component/elevateNestedComponents.test.js +30 -30
  169. package/dist/utils/Component/getComponent.js +95 -88
  170. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +17 -18
  171. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +59 -46
  172. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +48 -39
  173. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -23
  174. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +18 -20
  175. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +22 -17
  176. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +25 -20
  177. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +9 -10
  178. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +15 -17
  179. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +8 -9
  180. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +15 -17
  181. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +26 -22
  182. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
  183. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +15 -17
  184. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +22 -17
  185. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +70 -57
  186. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +22 -17
  187. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +22 -17
  188. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +38 -31
  189. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +29 -20
  190. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
  191. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +8 -9
  192. package/dist/utils/Component/getDefaultValue.js +8 -6
  193. package/dist/utils/Component/getDefaultValue.test.js +12 -12
  194. package/dist/utils/Component/getDefaultValueFromConfig.js +22 -23
  195. package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
  196. package/dist/utils/Component/index.js +1 -1
  197. package/dist/utils/Component/isEditable.js +4 -2
  198. package/dist/utils/Component/isEditable.test.js +15 -14
  199. package/dist/utils/Component/optionIsSelected.js +1 -1
  200. package/dist/utils/Component/optionIsSelected.test.js +9 -9
  201. package/dist/utils/Component/setupContainerComponentsPath.js +29 -27
  202. package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
  203. package/dist/utils/Component/showComponent.js +1 -1
  204. package/dist/utils/Component/showComponent.test.js +28 -28
  205. package/dist/utils/Component/wrapInFormGroup.js +2 -2
  206. package/dist/utils/Condition/index.js +1 -1
  207. package/dist/utils/Condition/meetsAllConditions.js +7 -7
  208. package/dist/utils/Condition/meetsAllConditions.test.js +17 -17
  209. package/dist/utils/Condition/meetsCondition.js +17 -14
  210. package/dist/utils/Condition/meetsCondition.test.js +376 -376
  211. package/dist/utils/Condition/meetsOneCondition.js +5 -5
  212. package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
  213. package/dist/utils/Condition/setupConditions.js +18 -13
  214. package/dist/utils/Condition/setupConditions.test.js +7 -7
  215. package/dist/utils/Container/getEditableComponents.js +5 -3
  216. package/dist/utils/Container/getEditableComponents.test.js +45 -43
  217. package/dist/utils/Container/index.js +1 -1
  218. package/dist/utils/Container/setupNesting.js +20 -16
  219. package/dist/utils/Container/setupNesting.test.js +30 -27
  220. package/dist/utils/Container/showContainer.js +7 -3
  221. package/dist/utils/Container/showContainer.test.js +30 -30
  222. package/dist/utils/Data/applyFormula.js +48 -38
  223. package/dist/utils/Data/applyFormula.test.js +20 -20
  224. package/dist/utils/Data/getAutocompleteSource.js +26 -18
  225. package/dist/utils/Data/getAutocompleteSource.test.js +86 -80
  226. package/dist/utils/Data/getDataPath.js +28 -18
  227. package/dist/utils/Data/getDataPath.test.js +12 -12
  228. package/dist/utils/Data/getOptions.js +25 -19
  229. package/dist/utils/Data/getOptions.test.js +20 -20
  230. package/dist/utils/Data/getSourceData.js +19 -6
  231. package/dist/utils/Data/getSourceData.test.js +80 -84
  232. package/dist/utils/Data/index.js +1 -1
  233. package/dist/utils/Data/refDataToOptions.js +13 -10
  234. package/dist/utils/Data/refDataToOptions.test.js +19 -19
  235. package/dist/utils/Data/setDataItem.js +8 -7
  236. package/dist/utils/Data/setDataItem.test.js +37 -37
  237. package/dist/utils/Data/setupFormData.js +21 -13
  238. package/dist/utils/Data/setupFormData.test.js +50 -51
  239. package/dist/utils/Data/setupRefDataUrlForComponent.js +26 -20
  240. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
  241. package/dist/utils/FormPage/applyConditionalProperties.js +9 -5
  242. package/dist/utils/FormPage/applyConditionalProperties.test.js +18 -15
  243. package/dist/utils/FormPage/getFormPage.js +16 -15
  244. package/dist/utils/FormPage/getFormPage.test.js +46 -47
  245. package/dist/utils/FormPage/getFormPages.js +12 -7
  246. package/dist/utils/FormPage/getFormPages.test.js +23 -20
  247. package/dist/utils/FormPage/getPageActions.js +15 -9
  248. package/dist/utils/FormPage/getPageActions.test.js +32 -32
  249. package/dist/utils/FormPage/getPageTitle.js +2 -2
  250. package/dist/utils/FormPage/getPageTitle.test.js +22 -22
  251. package/dist/utils/FormPage/getParagraphFromText.js +7 -5
  252. package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
  253. package/dist/utils/FormPage/index.js +1 -1
  254. package/dist/utils/FormPage/showFormPage.js +7 -3
  255. package/dist/utils/FormPage/showFormPage.test.js +32 -32
  256. package/dist/utils/FormPage/showFormPageCYA.js +1 -1
  257. package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
  258. package/dist/utils/FormPage/useComponent.js +28 -21
  259. package/dist/utils/FormPage/useComponent.test.js +79 -78
  260. package/dist/utils/Format/formatData.js +1 -1
  261. package/dist/utils/Format/formatData.test.js +18 -18
  262. package/dist/utils/Format/formatDataForComponent.js +6 -5
  263. package/dist/utils/Format/formatDataForComponent.test.js +77 -50
  264. package/dist/utils/Format/formatDataForForm.js +8 -6
  265. package/dist/utils/Format/formatDataForForm.test.js +15 -13
  266. package/dist/utils/Format/formatDataForPage.js +5 -4
  267. package/dist/utils/Format/formatDataForPage.test.js +23 -20
  268. package/dist/utils/Format/index.js +1 -1
  269. package/dist/utils/Hub/getFormHub.js +1 -1
  270. package/dist/utils/Hub/getFormHub.test.js +31 -28
  271. package/dist/utils/Hub/index.js +1 -1
  272. package/dist/utils/Meta/constants.js +2 -2
  273. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  274. package/dist/utils/Meta/documents/getDocuments.test.js +16 -24
  275. package/dist/utils/Meta/documents/index.js +1 -1
  276. package/dist/utils/Meta/documents/setDocumentsForField.js +16 -14
  277. package/dist/utils/Meta/documents/setDocumentsForField.test.js +34 -68
  278. package/dist/utils/Meta/index.js +1 -1
  279. package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
  280. package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
  281. package/dist/utils/Operate/getFirstOf.js +5 -5
  282. package/dist/utils/Operate/getFirstOf.test.js +31 -31
  283. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
  284. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +46 -46
  285. package/dist/utils/Operate/index.js +1 -1
  286. package/dist/utils/Operate/persistValueInFormData.js +3 -3
  287. package/dist/utils/Operate/persistValueInFormData.test.js +20 -22
  288. package/dist/utils/Operate/runPageOperations.js +7 -7
  289. package/dist/utils/Operate/runPageOperations.test.js +36 -35
  290. package/dist/utils/Operate/setValueInFormData.js +2 -2
  291. package/dist/utils/Operate/setValueInFormData.test.js +16 -16
  292. package/dist/utils/Operate/shouldRun.js +6 -6
  293. package/dist/utils/Operate/shouldRun.test.js +26 -21
  294. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  295. package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
  296. package/dist/utils/Validate/additional/index.js +10 -8
  297. package/dist/utils/Validate/additional/index.test.js +12 -12
  298. package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
  299. package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
  300. package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
  301. package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
  302. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +11 -7
  303. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +41 -37
  304. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  305. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
  306. package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
  307. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
  308. package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
  309. package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
  310. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  311. package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
  312. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  313. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
  314. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  315. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
  316. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  317. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
  318. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +35 -0
  319. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +127 -0
  320. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  321. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +16 -14
  322. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  323. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
  324. package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
  325. package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
  326. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  327. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +26 -28
  328. package/dist/utils/Validate/additional/utils.js +22 -9
  329. package/dist/utils/Validate/index.js +1 -1
  330. package/dist/utils/Validate/validateCollection.js +25 -19
  331. package/dist/utils/Validate/validateCollection.test.js +66 -74
  332. package/dist/utils/Validate/validateComponent.js +16 -18
  333. package/dist/utils/Validate/validateComponent.test.js +146 -167
  334. package/dist/utils/Validate/validateContainer.js +19 -14
  335. package/dist/utils/Validate/validateContainer.test.js +45 -49
  336. package/dist/utils/Validate/validateDate.js +17 -11
  337. package/dist/utils/Validate/validateDate.test.js +29 -28
  338. package/dist/utils/Validate/validateEmail.js +8 -6
  339. package/dist/utils/Validate/validateEmail.test.js +25 -25
  340. package/dist/utils/Validate/validateMultifile.js +7 -5
  341. package/dist/utils/Validate/validateMultifile.test.js +18 -17
  342. package/dist/utils/Validate/validatePage.js +18 -17
  343. package/dist/utils/Validate/validatePage.test.js +182 -185
  344. package/dist/utils/Validate/validateRegex.js +5 -3
  345. package/dist/utils/Validate/validateRegex.test.js +14 -14
  346. package/dist/utils/Validate/validateRequired.js +6 -4
  347. package/dist/utils/Validate/validateRequired.test.js +18 -18
  348. package/dist/utils/Validate/validateTextArea.js +6 -4
  349. package/dist/utils/Validate/validateTextArea.test.js +20 -20
  350. package/dist/utils/Validate/validateTime.js +14 -7
  351. package/dist/utils/Validate/validateTime.test.js +14 -14
  352. package/dist/utils/index.js +9 -7
  353. package/package.json +1 -1
@@ -7,16 +7,21 @@ 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 (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 _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; }
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
- // Global imports
14
-
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
15
20
  // Local imports
16
-
17
- describe('components.CollectionPage', () => {
18
- describe('CollectionPage', () => {
19
- const TEXT = {
21
+ describe('components.CollectionPage', function () {
22
+ describe('CollectionPage', function () {
23
+ var _formData, _formData2, _formData3;
24
+ var TEXT = {
20
25
  id: 'text',
21
26
  fieldId: 'text',
22
27
  type: 'text',
@@ -24,7 +29,7 @@ describe('components.CollectionPage', () => {
24
29
  hint: 'Text hint'
25
30
  };
26
31
  // eslint-disable-next-line no-template-curly-in-string
27
- const TEXT_WITH_EXPRESSION = {
32
+ var TEXT_WITH_EXPRESSION = {
28
33
  id: 'text1',
29
34
  fieldId: 'text1',
30
35
  type: 'text',
@@ -32,7 +37,7 @@ describe('components.CollectionPage', () => {
32
37
  hint: 'Text hint ${currentUser.givenName}'
33
38
  };
34
39
  // eslint-disable-next-line no-template-curly-in-string
35
- const AUTO_WITH_EXPRESSION = {
40
+ var AUTO_WITH_EXPRESSION = {
36
41
  id: 'text2',
37
42
  fieldId: 'text2',
38
43
  label: '${text2} ${currentUser.givenName}',
@@ -42,10 +47,10 @@ describe('components.CollectionPage', () => {
42
47
  source: [],
43
48
  disabled: false
44
49
  };
45
- const VALUE = 'Text value';
46
- const COLLECTION_NAME = 'testCollection';
47
- const ACTIVE_ID = '01';
48
- const PAGE = {
50
+ var VALUE = 'Text value';
51
+ var COLLECTION_NAME = 'testCollection';
52
+ var ACTIVE_ID = '01';
53
+ var PAGE = {
49
54
  id: 'pageId',
50
55
  title: 'Page 1',
51
56
  collection: {
@@ -53,15 +58,12 @@ describe('components.CollectionPage', () => {
53
58
  },
54
59
  components: [TEXT],
55
60
  actions: [_models.PageAction.TYPES.SUBMIT],
56
- formData: {
57
- ["".concat(COLLECTION_NAME, "ActiveId")]: ACTIVE_ID,
58
- [COLLECTION_NAME]: [{
59
- id: ACTIVE_ID,
60
- text: VALUE
61
- }]
62
- }
61
+ formData: (_formData = {}, _defineProperty(_formData, "".concat(COLLECTION_NAME, "ActiveId"), ACTIVE_ID), _defineProperty(_formData, COLLECTION_NAME, [{
62
+ id: ACTIVE_ID,
63
+ text: VALUE
64
+ }]), _formData)
63
65
  };
64
- const PAGE_WITH_BUTTON_ACTIONS = {
66
+ var PAGE_WITH_BUTTON_ACTIONS = {
65
67
  id: 'pageId',
66
68
  // eslint-disable-next-line no-template-curly-in-string
67
69
  title: '${title}',
@@ -82,25 +84,19 @@ describe('components.CollectionPage', () => {
82
84
  page: '1',
83
85
  label: 'Go back ${wrapper.prevAction}'
84
86
  }],
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
- }
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)
102
98
  };
103
- const PAGE_WITH_CONDITIONAL_BUTTONS = {
99
+ var PAGE_WITH_CONDITIONAL_BUTTONS = {
104
100
  id: 'pageId',
105
101
  // eslint-disable-next-line no-template-curly-in-string
106
102
  title: '${title}',
@@ -127,74 +123,70 @@ describe('components.CollectionPage', () => {
127
123
  value: 'Doe'
128
124
  }]
129
125
  }],
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
- }
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)
147
137
  };
148
- const ON_ACTION_CALLS = [];
149
- const checkInputField = (formGroup, fieldId, lbl, hnt, val) => {
138
+ var ON_ACTION_CALLS = [];
139
+ var checkInputField = function checkInputField(formGroup, fieldId, lbl, hnt, val) {
150
140
  expect(formGroup.tagName).toEqual('DIV');
151
141
  expect(formGroup.classList).toContain('govuk-form-group');
152
- const label = formGroup.childNodes[0];
142
+ var label = formGroup.childNodes[0];
153
143
  expect(label.tagName).toEqual('LABEL');
154
144
  expect(label.classList).toContain('govuk-label');
155
145
  expect(label.textContent).toEqual(lbl);
156
146
  expect(label.getAttribute('for')).toEqual(fieldId);
157
- const hint = formGroup.childNodes[1];
147
+ var hint = formGroup.childNodes[1];
158
148
  expect(hint.tagName).toEqual('DIV');
159
149
  expect(hint.classList).toContain('govuk-hint');
160
150
  expect(hint.textContent).toEqual(hnt);
161
- const input = formGroup.childNodes[2];
151
+ var input = formGroup.childNodes[2];
162
152
  expect(input.tagName).toEqual('INPUT');
163
153
  expect(input.classList).toContain('govuk-input');
164
154
  expect(input.id).toEqual(fieldId);
165
155
  expect(input.value).toEqual(val);
166
156
  return input;
167
157
  };
168
- const checkAutoCompleteField = (formGroup, fieldId, lbl, hnt, val) => {
158
+ var checkAutoCompleteField = function checkAutoCompleteField(formGroup, fieldId, lbl, hnt, val) {
169
159
  expect(formGroup.tagName).toEqual('DIV');
170
160
  expect(formGroup.classList).toContain('govuk-form-group');
171
- const label = formGroup.childNodes[0];
161
+ var label = formGroup.childNodes[0];
172
162
  expect(label.tagName).toEqual('LABEL');
173
163
  expect(label.classList).toContain('govuk-label');
174
164
  expect(label.textContent).toEqual(lbl);
175
165
  expect(label.getAttribute('for')).toEqual(fieldId);
176
- const hint = formGroup.childNodes[1];
166
+ var hint = formGroup.childNodes[1];
177
167
  expect(hint.tagName).toEqual('DIV');
178
168
  expect(hint.classList).toContain('govuk-hint');
179
169
  expect(hint.textContent).toEqual(hnt);
180
- const outerWrapper = formGroup.childNodes[2];
170
+ var outerWrapper = formGroup.childNodes[2];
181
171
  expect(outerWrapper.classList).toContain('hods-autocomplete__outer-wrapper');
182
- const autocomplete = outerWrapper.childNodes[0];
172
+ var autocomplete = outerWrapper.childNodes[0];
183
173
  expect(autocomplete.classList).toContain('hods-autocomplete__wrapper');
184
- const input = [].concat(autocomplete.childNodes).filter(e => e.tagName === 'INPUT')[0];
174
+ var input = [].concat(autocomplete.childNodes).filter(function (e) {
175
+ return e.tagName === 'INPUT';
176
+ })[0];
185
177
  expect(input.classList).toContain('hods-autocomplete__input');
186
178
  expect(input.tagName).toEqual('INPUT');
187
179
  expect(input.id).toEqual(fieldId);
188
180
  expect(input.value).toEqual(val);
189
181
  return input;
190
182
  };
191
- const checkFormButtonGroup = (buttonGroup, labels) => {
183
+ var checkFormButtonGroup = function checkFormButtonGroup(buttonGroup, labels) {
192
184
  var _buttonGroup$childNod;
193
- const buttons = [];
185
+ var buttons = [];
194
186
  expect(buttonGroup.tagName).toEqual('DIV');
195
187
  expect(buttonGroup.classList).toContain('hods-button-group');
196
188
  expect((_buttonGroup$childNod = buttonGroup.childNodes) === null || _buttonGroup$childNod === void 0 ? void 0 : _buttonGroup$childNod.length).toEqual(labels.length);
197
- buttonGroup.childNodes.forEach((button, i) => {
189
+ buttonGroup.childNodes.forEach(function (button, i) {
198
190
  expect(button.tagName).toEqual('BUTTON');
199
191
  expect(button.classList).toContain('hods-button');
200
192
  expect(button.textContent).toEqual(labels[i]);
@@ -202,163 +194,196 @@ describe('components.CollectionPage', () => {
202
194
  });
203
195
  return buttons;
204
196
  };
205
- const ON_ACTION = (action, patch, onError) => {
197
+ var ON_ACTION = function ON_ACTION(action, patch, onError) {
206
198
  ON_ACTION_CALLS.push({
207
- action,
208
- patch,
209
- onError
199
+ action: action,
200
+ patch: patch,
201
+ onError: onError
210
202
  });
211
203
  };
212
- beforeEach(() => {
213
- PAGE.formData = {
214
- ["".concat(COLLECTION_NAME, "ActiveId")]: ACTIVE_ID,
215
- [COLLECTION_NAME]: [{
216
- id: ACTIVE_ID,
217
- text: VALUE
218
- }]
219
- };
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);
220
210
  ON_ACTION_CALLS.length = 0;
221
211
  });
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
- });
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');
266
289
 
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');
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);
277
300
 
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
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();
285
306
  }
286
- };
287
- _react.fireEvent.change(input, EVENT);
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);
288
328
 
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];
329
+ // Then click the action button.
330
+ button = page.childNodes[2].childNodes[0];
331
+ _react.fireEvent.click(button, {});
300
332
 
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
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();
308
344
  }
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, {});
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);
315
368
 
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];
369
+ // Then click the action button.
370
+ button = page.childNodes[2].childNodes[0];
371
+ _react.fireEvent.click(button, {});
337
372
 
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
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();
345
381
  }
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
- });
382
+ }, _callee6);
383
+ })));
359
384
  });
360
- describe('with a nested Collection Page', () => {
361
- const NESTED_PAGE = {
385
+ describe('with a nested Collection Page', function () {
386
+ var NESTED_PAGE = {
362
387
  id: 'pageId',
363
388
  title: 'Page 1',
364
389
  collection: {
@@ -378,7 +403,7 @@ describe('components.CollectionPage', () => {
378
403
  }]
379
404
  }
380
405
  };
381
- beforeEach(() => {
406
+ beforeEach(function () {
382
407
  NESTED_PAGE.formData = {
383
408
  parentActiveId: '001',
384
409
  childActiveId: '001',
@@ -392,100 +417,117 @@ describe('components.CollectionPage', () => {
392
417
  };
393
418
  ON_ACTION_CALLS.length = 0;
394
419
  });
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');
404
-
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
412
- }
413
- };
414
- _react.fireEvent.change(input, EVENT);
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');
415
431
 
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];
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);
427
442
 
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
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();
435
448
  }
436
- };
437
- _react.fireEvent.change(input, CHANGE_EVENT);
438
-
439
- // Then click the action button.
440
- const button = page.childNodes[2].childNodes[0];
441
- _react.fireEvent.click(button, {});
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);
442
470
 
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];
471
+ // Then click the action button.
472
+ button = page.childNodes[2].childNodes[0];
473
+ _react.fireEvent.click(button, {});
467
474
 
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
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();
475
491
  }
476
- };
477
- _react.fireEvent.change(input, CHANGE_EVENT);
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);
478
515
 
479
- // Then click the action button.
480
- const button = page.childNodes[2].childNodes[0];
481
- _react.fireEvent.click(button, {});
516
+ // Then click the action button.
517
+ button = page.childNodes[2].childNodes[0];
518
+ _react.fireEvent.click(button, {});
482
519
 
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
- });
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();
528
+ }
529
+ }, _callee9);
530
+ })));
489
531
  });
490
532
  });
491
533
  });