@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
@@ -3,23 +3,18 @@
3
3
  var _react = _interopRequireDefault(require("react"));
4
4
  var _react2 = require("@testing-library/react");
5
5
  var _setupTests = require("../../setupTests");
6
- var _context = require("../../context");
7
- var _ValidationContext = require("../../context/ValidationContext");
8
6
  var _hooks = require("../../hooks");
9
7
  var _CollectionSummary = _interopRequireWildcard(require("./CollectionSummary"));
10
8
  var _Confirmation = require("./Confirmation");
11
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
9
+ 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); }
10
+ 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; }
13
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
- 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); }
15
- 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; }
16
- 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; }
17
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
18
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
19
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // Global imports.
12
+ // Global imports.
13
+
20
14
  // Local imports.
21
- describe('components.CollectionSummary.CollectionSummary', function () {
22
- var CONFIG = {
15
+
16
+ describe('components.CollectionSummary.CollectionSummary', () => {
17
+ const CONFIG = {
23
18
  id: 'testSummary',
24
19
  fieldId: 'testSummary',
25
20
  collectionName: 'testCollection',
@@ -30,7 +25,7 @@ describe('components.CollectionSummary.CollectionSummary', function () {
30
25
  }
31
26
  }
32
27
  };
33
- var FORM_DATA = {
28
+ const FORM_DATA = {
34
29
  testCollectionActiveId: '001',
35
30
  testCollection: [{
36
31
  id: '000',
@@ -39,7 +34,7 @@ describe('components.CollectionSummary.CollectionSummary', function () {
39
34
  id: '001'
40
35
  }]
41
36
  };
42
- var PAGES = [{
37
+ const PAGES = [{
43
38
  id: 'testPage',
44
39
  title: 'Test page',
45
40
  collection: {
@@ -57,136 +52,64 @@ describe('components.CollectionSummary.CollectionSummary', function () {
57
52
  }],
58
53
  formData: FORM_DATA
59
54
  }];
60
- var ON_ACTION = function ON_ACTION() {};
61
- var checkSetup = function checkSetup(container) {
62
- var summaryDiv = container.children[0];
55
+ const ON_ACTION = () => {};
56
+ const checkSetup = container => {
57
+ const summaryDiv = container.children[0];
63
58
  expect(summaryDiv.tagName).toEqual('DIV');
64
59
  return summaryDiv;
65
60
  };
66
- it('should correctly render a CollectionSummary component', function () {
67
- var _renderWithValidation = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
68
- config: CONFIG,
69
- formData: FORM_DATA,
70
- onAction: ON_ACTION
71
- })),
72
- container = _renderWithValidation.container;
73
- var summary = checkSetup(container);
61
+ it('should correctly render a CollectionSummary component', () => {
62
+ const {
63
+ container
64
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
65
+ config: CONFIG,
66
+ formData: FORM_DATA,
67
+ onAction: ON_ACTION
68
+ }));
69
+ const summary = checkSetup(container);
74
70
  expect(summary.children.length).toEqual(2);
75
71
  expect(summary.children[0].id).toEqual("".concat(CONFIG.fieldId, ".summaryCard").concat(FORM_DATA.testCollection[0].id));
76
72
  expect(summary.children[1].id).toEqual("".concat(CONFIG.fieldId, ".summaryCard").concat(FORM_DATA.testCollection[1].id));
77
73
  });
78
- it('should correctly raise errors found when validating entries', function () {
79
- var ErrorCheckComponent = function ErrorCheckComponent() {
80
- var _useValidation = (0, _hooks.useValidation)(),
81
- errors = _useValidation.errors;
82
- return /*#__PURE__*/_react.default.createElement("div", null, Array.isArray(errors) && "errors is an array of length ".concat(errors.length), (errors === null || errors === void 0 ? void 0 : errors.length) > 0 && errors.map(function (e) {
83
- return e.error;
84
- }));
74
+ it('should correctly queue errors found when validating entries', () => {
75
+ const ErrorCheckComponent = () => {
76
+ const {
77
+ queuedErrors
78
+ } = (0, _hooks.useValidation)();
79
+ return /*#__PURE__*/_react.default.createElement("div", null, Array.isArray(queuedErrors) && "queuedErrors is an array of length ".concat(queuedErrors.length), (queuedErrors === null || queuedErrors === void 0 ? void 0 : queuedErrors.length) > 0 && queuedErrors.map(e => e.error));
85
80
  };
86
- var _renderWithValidation2 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(ErrorCheckComponent, null), /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
87
- config: CONFIG,
88
- formData: FORM_DATA,
89
- onAction: ON_ACTION,
90
- pages: PAGES
91
- }))),
92
- container = _renderWithValidation2.container;
93
- var errorChecker = container.children[0];
94
- expect(errorChecker.textContent).toContain('errors is an array of length 1');
81
+ const {
82
+ container
83
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(ErrorCheckComponent, null), /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
84
+ config: CONFIG,
85
+ formData: FORM_DATA,
86
+ onAction: ON_ACTION,
87
+ pages: PAGES
88
+ })));
89
+ const errorChecker = container.children[0];
90
+ expect(errorChecker.textContent).toContain('queuedErrors is an array of length 1');
95
91
  expect(errorChecker.textContent).toContain('testText is required');
96
92
  });
97
- it('should render a confirmation when a SummaryCard\'s delete button is pressed', function () {
98
- var _renderWithValidation3 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
99
- config: CONFIG,
100
- formData: FORM_DATA,
101
- onAction: ON_ACTION
102
- })),
103
- container = _renderWithValidation3.container;
104
- var summary = checkSetup(container);
93
+ it('should render a confirmation when a SummaryCard\'s delete button is pressed', () => {
94
+ const {
95
+ container
96
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
97
+ config: CONFIG,
98
+ formData: FORM_DATA,
99
+ onAction: ON_ACTION
100
+ }));
101
+ const summary = checkSetup(container);
105
102
  expect(summary.children.length).toEqual(2);
106
- var card = summary.children[0];
107
- var deleteButton = card.children[0].children[1].children[0];
103
+ const card = summary.children[0];
104
+ const deleteButton = card.children[0].children[1].children[0];
108
105
  _react2.fireEvent.click(deleteButton, {});
109
106
  expect(summary.children.length).toEqual(3); // Now with a confirmation.
110
107
  expect(summary.children[0].id).toEqual("".concat(CONFIG.fieldId, ".confirmation"));
111
108
  expect(summary.children[0].classList).toContain(_Confirmation.DEFAULT_CLASS);
112
109
  });
113
- it('should keep higher level errors that relate to the CollectionSummary', function () {
114
- var errors = [{
115
- id: 'testSummary',
116
- error: 'add at least one'
117
- }];
118
- var clearErrorCount = 0;
119
- var errorsAdded = [];
120
- var clearErrors = function clearErrors() {
121
- clearErrorCount += 1;
122
- };
123
- var addErrors = function addErrors(newErrors) {
124
- errorsAdded = errorsAdded.concat(newErrors);
125
- };
126
- (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_context.HooksContextProvider, null, /*#__PURE__*/_react.default.createElement(_ValidationContext.ValidationContext.Provider, {
127
- value: {
128
- errors: errors,
129
- clearErrors: clearErrors,
130
- addErrors: addErrors,
131
- validate: function validate() {}
132
- }
133
- }, /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
134
- config: _objectSpread(_objectSpread({}, CONFIG), {}, {
135
- required: true
136
- }),
137
- formData: _objectSpread(_objectSpread({}, FORM_DATA), {}, {
138
- testCollection: [{
139
- id: '000',
140
- testText: 'value'
141
- }]
142
- }),
143
- onAction: ON_ACTION,
144
- pages: PAGES
145
- }))));
146
- expect(clearErrorCount).toEqual(1);
147
- expect(errorsAdded[0]).toEqual({
148
- id: 'testSummary',
149
- error: 'add at least one'
150
- });
151
- });
152
- it('should ignore higher level errors that do not relate to the CollectionSummary', function () {
153
- var errors = [{
154
- id: 'somethingElse',
155
- error: 'add at least one'
156
- }];
157
- var clearErrorCount = 0;
158
- var errorsAdded = [];
159
- var clearErrors = function clearErrors() {
160
- clearErrorCount += 1;
161
- };
162
- var addErrors = function addErrors(newErrors) {
163
- errorsAdded = errorsAdded.concat(newErrors);
164
- };
165
- (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_context.HooksContextProvider, null, /*#__PURE__*/_react.default.createElement(_ValidationContext.ValidationContext.Provider, {
166
- value: {
167
- errors: errors,
168
- clearErrors: clearErrors,
169
- addErrors: addErrors
170
- }
171
- }, /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
172
- config: _objectSpread(_objectSpread({}, CONFIG), {}, {
173
- required: true
174
- }),
175
- formData: _objectSpread(_objectSpread({}, FORM_DATA), {}, {
176
- testCollection: [{
177
- id: '000',
178
- testText: 'value'
179
- }]
180
- }),
181
- onAction: ON_ACTION,
182
- pages: PAGES
183
- }))));
184
- expect(clearErrorCount).toEqual(1);
185
- expect(errorsAdded.length).toEqual(0);
186
- });
187
- describe('Add Another button', function () {
188
- it('should render with an Add button if one is configured', function () {
189
- var CONFIG_WITH_BUTTON = {
110
+ describe('Add Another button', () => {
111
+ it('should render with an Add button if one is configured', () => {
112
+ const CONFIG_WITH_BUTTON = {
190
113
  id: 'testSummary',
191
114
  fieldId: 'testSummary',
192
115
  collectionName: 'testCollection',
@@ -198,20 +121,21 @@ describe('components.CollectionSummary.CollectionSummary', function () {
198
121
  title: 'Title'
199
122
  }
200
123
  };
201
- var _renderWithValidation4 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
202
- config: CONFIG_WITH_BUTTON,
203
- formData: FORM_DATA,
204
- onAction: ON_ACTION
205
- })),
206
- container = _renderWithValidation4.container;
207
- var summary = checkSetup(container);
124
+ const {
125
+ container
126
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
127
+ config: CONFIG_WITH_BUTTON,
128
+ formData: FORM_DATA,
129
+ onAction: ON_ACTION
130
+ }));
131
+ const summary = checkSetup(container);
208
132
  expect(summary.children.length).toEqual(3); // The button and a card for each item.
209
133
  expect(summary.children[0].id).toEqual("".concat(CONFIG_WITH_BUTTON.fieldId, ".addButton"));
210
134
  expect(summary.children[0].textContent).toEqual(CONFIG_WITH_BUTTON.addButton.label);
211
135
  expect(summary.children[0].tagName).toEqual('BUTTON');
212
136
  });
213
- it('should use the default button label if none is provided', function () {
214
- var CONFIG_WITH_BUTTON = {
137
+ it('should use the default button label if none is provided', () => {
138
+ const CONFIG_WITH_BUTTON = {
215
139
  id: 'testSummary',
216
140
  fieldId: 'testSummary',
217
141
  collectionName: 'testCollection',
@@ -222,96 +146,142 @@ describe('components.CollectionSummary.CollectionSummary', function () {
222
146
  title: 'Title'
223
147
  }
224
148
  };
225
- var _renderWithValidation5 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
226
- config: CONFIG_WITH_BUTTON,
227
- formData: FORM_DATA,
228
- onAction: ON_ACTION
229
- })),
230
- container = _renderWithValidation5.container;
231
- var summary = checkSetup(container);
149
+ const {
150
+ container
151
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
152
+ config: CONFIG_WITH_BUTTON,
153
+ formData: FORM_DATA,
154
+ onAction: ON_ACTION
155
+ }));
156
+ const summary = checkSetup(container);
232
157
  expect(summary.children.length).toEqual(3); // The button and a card for each item.
233
158
  expect(summary.children[0].id).toEqual("".concat(CONFIG_WITH_BUTTON.fieldId, ".addButton"));
234
159
  expect(summary.children[0].textContent).toEqual(_CollectionSummary.DEFAULT_ADD_BUTTON_LABEL);
235
160
  expect(summary.children[0].tagName).toEqual('BUTTON');
236
161
  });
237
- it('should apply the expected class name to the summary card when delete button is pressed', function () {
238
- var _renderWithValidation6 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
239
- config: CONFIG,
240
- formData: FORM_DATA,
241
- onAction: ON_ACTION
242
- })),
243
- container = _renderWithValidation6.container;
244
- var summary = checkSetup(container);
162
+ it('should apply the expected class name to the summary card when delete button is pressed', () => {
163
+ const {
164
+ container
165
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
166
+ config: CONFIG,
167
+ formData: FORM_DATA,
168
+ onAction: ON_ACTION
169
+ }));
170
+ const summary = checkSetup(container);
245
171
  expect(summary.children.length).toEqual(2);
246
- var card = summary.children[0];
247
- var deleteButton = card.children[0].children[1].children[0];
172
+ const card = summary.children[0];
173
+ const deleteButton = card.children[0].children[1].children[0];
248
174
  _react2.fireEvent.click(deleteButton, {});
249
- var confirmation = container.querySelector(".".concat(_Confirmation.DEFAULT_CLASS));
175
+ const confirmation = container.querySelector(".".concat(_Confirmation.DEFAULT_CLASS));
250
176
  expect(confirmation).toBeTruthy();
251
177
  expect(card.className).toContain('deleting-summary-card');
252
178
  });
253
- it('should focus on the delete button in the confirmation panel', function () {
254
- var _renderWithValidation7 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
255
- config: CONFIG,
256
- formData: FORM_DATA,
257
- onAction: ON_ACTION
258
- })),
259
- container = _renderWithValidation7.container;
260
- var summary = checkSetup(container);
179
+ it('should focus on the delete button in the confirmation panel', () => {
180
+ const {
181
+ container
182
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
183
+ config: CONFIG,
184
+ formData: FORM_DATA,
185
+ onAction: ON_ACTION
186
+ }));
187
+ const summary = checkSetup(container);
261
188
  expect(summary.children.length).toEqual(2);
262
- var card = summary.children[0];
263
- var deleteButton = card.children[0].children[1].children[0];
189
+ const card = summary.children[0];
190
+ const deleteButton = card.children[0].children[1].children[0];
264
191
  _react2.fireEvent.click(deleteButton, {});
265
- var confirmButton = container.querySelector(".".concat(_Confirmation.DEFAULT_CLASS, " button.hods-button--warning"));
192
+ const confirmButton = container.querySelector(".".concat(_Confirmation.DEFAULT_CLASS, " button.hods-button--warning"));
266
193
  expect(confirmButton).toBeTruthy();
267
194
  expect(document.activeElement).toEqual(confirmButton);
268
195
  });
269
- it('should have the role "alert" in the confirmation panel', function () {
270
- var _renderWithValidation8 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
271
- config: CONFIG,
272
- formData: FORM_DATA,
273
- onAction: ON_ACTION
274
- })),
275
- container = _renderWithValidation8.container;
276
- var summary = checkSetup(container);
196
+ it('should have the role "alert" in the confirmation panel', () => {
197
+ const {
198
+ container
199
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
200
+ config: CONFIG,
201
+ formData: FORM_DATA,
202
+ onAction: ON_ACTION
203
+ }));
204
+ const summary = checkSetup(container);
277
205
  expect(summary.children.length).toEqual(2);
278
- var card = summary.children[0];
279
- var deleteButton = card.children[0].children[1].children[0];
206
+ const card = summary.children[0];
207
+ const deleteButton = card.children[0].children[1].children[0];
280
208
  _react2.fireEvent.click(deleteButton, {});
281
- var confirmation = container.querySelector(".".concat(_Confirmation.DEFAULT_CLASS));
209
+ const confirmation = container.querySelector(".".concat(_Confirmation.DEFAULT_CLASS));
282
210
  expect(confirmation).toBeTruthy();
283
- var roleAttribute = confirmation.getAttribute('role');
211
+ const roleAttribute = confirmation.getAttribute('role');
284
212
  expect(roleAttribute).toEqual('alert');
285
213
  });
286
- it('should correctly render field values in confirmation view', function () {
287
- var listViewConfig = _objectSpread(_objectSpread({}, CONFIG), {}, {
288
- card: _objectSpread(_objectSpread({}, CONFIG.card), {}, {
214
+ it('should correctly render field values in confirmation view', () => {
215
+ const listViewConfig = {
216
+ ...CONFIG,
217
+ card: {
218
+ ...CONFIG.card,
289
219
  listView: true
290
- }),
220
+ },
291
221
  confirmation: {
292
222
  displayFields: ['testText']
293
223
  }
224
+ };
225
+ const {
226
+ container,
227
+ getByText
228
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
229
+ config: listViewConfig,
230
+ formData: FORM_DATA,
231
+ onAction: ON_ACTION,
232
+ pages: PAGES
233
+ }));
234
+ const summary = checkSetup(container);
235
+ expect(summary.children.length).toEqual(2);
236
+ const card = summary.children[0];
237
+ const deleteButton = card.querySelector('.govuk-summary-card__actions li:last-child button');
238
+ _react2.fireEvent.click(deleteButton);
239
+ const confirmation = container.querySelector(".".concat(_Confirmation.DEFAULT_CLASS));
240
+ expect(confirmation).toBeTruthy();
241
+ listViewConfig.confirmation.displayFields.forEach(field => {
242
+ const fieldValue = FORM_DATA.testCollection[0][field];
243
+ const fieldElement = getByText(fieldValue);
244
+ expect(fieldElement).not.toBeNull();
294
245
  });
295
- var _renderWithValidation9 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
296
- config: listViewConfig,
297
- formData: FORM_DATA,
298
- onAction: ON_ACTION,
299
- pages: PAGES
300
- })),
301
- container = _renderWithValidation9.container,
302
- getByText = _renderWithValidation9.getByText;
303
- var summary = checkSetup(container);
246
+ });
247
+ it('should correctly render field values in confirmation view with index', () => {
248
+ const listViewConfig = {
249
+ ...CONFIG,
250
+ card: {
251
+ ...CONFIG.card,
252
+ listView: true
253
+ },
254
+ confirmation: {
255
+ displayFields: ['testText'],
256
+ // eslint-disable-next-line no-template-curly-in-string
257
+ message: 'Test confirmation message with index number ${index}'
258
+ }
259
+ };
260
+ const {
261
+ container,
262
+ getByText
263
+ } = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_CollectionSummary.default, {
264
+ config: listViewConfig,
265
+ formData: FORM_DATA,
266
+ onAction: ON_ACTION,
267
+ pages: PAGES
268
+ }));
269
+ const summary = checkSetup(container);
304
270
  expect(summary.children.length).toEqual(2);
305
- var card = summary.children[0];
306
- var deleteButton = card.querySelector('.govuk-summary-card__actions li:last-child button');
271
+ const card = summary.children[0];
272
+ const deleteButton = card.querySelector('.govuk-summary-card__actions li:last-child button');
307
273
  _react2.fireEvent.click(deleteButton);
308
- var confirmation = container.querySelector(".".concat(_Confirmation.DEFAULT_CLASS));
274
+ const confirmation = container.querySelector(".".concat(_Confirmation.DEFAULT_CLASS));
309
275
  expect(confirmation).toBeTruthy();
310
- listViewConfig.confirmation.displayFields.forEach(function (field) {
311
- var fieldValue = FORM_DATA.testCollection[0][field];
312
- var fieldElement = getByText(fieldValue);
276
+ listViewConfig.confirmation.displayFields.forEach(field => {
277
+ const fieldValue = FORM_DATA.testCollection[0][field];
278
+ const fieldElement = getByText(fieldValue);
313
279
  expect(fieldElement).not.toBeNull();
314
280
  });
281
+
282
+ // Check if the confirmation message contains the index
283
+ const confirmationMessage = confirmation.querySelector('h2').textContent;
284
+ expect(confirmationMessage).toContain("Test confirmation message with index number 1");
315
285
  });
316
286
  });
317
287
  });
@@ -13,18 +13,20 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
13
13
 
14
14
  // Styles.
15
15
 
16
- var DEFAULT_CLASS = exports.DEFAULT_CLASS = 'hods-form-confirmation';
17
- var DEFAULT_MESSAGE = exports.DEFAULT_MESSAGE = 'Are you sure?';
18
- var DEFAULT_CONFIRM_LABEL = exports.DEFAULT_CONFIRM_LABEL = 'Confirm';
19
- var Confirmation = function Confirmation(_ref) {
20
- var id = _ref.id,
21
- message = _ref.message,
22
- confirmLabel = _ref.confirmLabel,
23
- children = _ref.children,
24
- onConfirm = _ref.onConfirm,
25
- onCancel = _ref.onCancel,
26
- classModifiers = _ref.classModifiers;
27
- var classes = _copReactComponents.Utils.classBuilder(DEFAULT_CLASS, classModifiers, '');
16
+ const DEFAULT_CLASS = exports.DEFAULT_CLASS = 'hods-form-confirmation';
17
+ const DEFAULT_MESSAGE = exports.DEFAULT_MESSAGE = 'Are you sure?';
18
+ const DEFAULT_CONFIRM_LABEL = exports.DEFAULT_CONFIRM_LABEL = 'Confirm';
19
+ const Confirmation = _ref => {
20
+ let {
21
+ id,
22
+ message,
23
+ confirmLabel,
24
+ children,
25
+ onConfirm,
26
+ onCancel,
27
+ classModifiers
28
+ } = _ref;
29
+ const classes = _copReactComponents.Utils.classBuilder(DEFAULT_CLASS, classModifiers, '');
28
30
  return /*#__PURE__*/_react.default.createElement("div", {
29
31
  id: id,
30
32
  className: classes(),
@@ -1,6 +1,6 @@
1
1
  $govuk-font-family: 'Roboto', arial, sans-serif;
2
2
 
3
- @import "node_modules/govuk-frontend/govuk/_base";
3
+ @import "govuk-frontend/dist/govuk/_base";
4
4
 
5
5
  .hods-form-confirmation {
6
6
  background-color: #E3E3E3;