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

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