@ukhomeoffice/cop-react-form-renderer 6.0.6-peter → 6.7.0-alpha

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