@ukhomeoffice/cop-react-form-renderer 6.14.0 → 6.14.2-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (385) hide show
  1. package/README.md +5 -0
  2. package/dist/components/CheckYourAnswers/Answer.js +12 -11
  3. package/dist/components/CheckYourAnswers/Answer.test.js +132 -181
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +98 -133
  5. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +544 -939
  6. package/dist/components/CheckYourAnswers/index.js +1 -1
  7. package/dist/components/CollectionPage/CollectionPage.js +62 -60
  8. package/dist/components/CollectionPage/CollectionPage.test.js +315 -365
  9. package/dist/components/CollectionPage/index.js +1 -1
  10. package/dist/components/CollectionSummary/BannerStrip.js +14 -14
  11. package/dist/components/CollectionSummary/BannerStrip.test.js +79 -74
  12. package/dist/components/CollectionSummary/CollectionSummary.js +75 -97
  13. package/dist/components/CollectionSummary/CollectionSummary.test.js +182 -166
  14. package/dist/components/CollectionSummary/Confirmation.js +15 -13
  15. package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
  16. package/dist/components/CollectionSummary/RenderListView.js +34 -47
  17. package/dist/components/CollectionSummary/RenderListView.test.js +113 -111
  18. package/dist/components/CollectionSummary/SummaryCard.js +101 -133
  19. package/dist/components/CollectionSummary/SummaryCard.test.js +961 -993
  20. package/dist/components/CollectionSummary/SummaryCardButtons.js +25 -30
  21. package/dist/components/CollectionSummary/SummaryCardButtons.test.js +30 -28
  22. package/dist/components/CollectionSummary/SummaryCardDetails.js +59 -76
  23. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +170 -180
  24. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +31 -36
  25. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +63 -75
  26. package/dist/components/CollectionSummary/index.js +1 -1
  27. package/dist/components/FormComponent/Collection.js +63 -100
  28. package/dist/components/FormComponent/Collection.test.js +907 -1080
  29. package/dist/components/FormComponent/Container.js +35 -29
  30. package/dist/components/FormComponent/Container.test.js +378 -409
  31. package/dist/components/FormComponent/FormComponent.js +59 -63
  32. package/dist/components/FormComponent/FormComponent.test.js +354 -415
  33. package/dist/components/FormComponent/helpers/addLabel.js +4 -7
  34. package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
  35. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +8 -8
  36. package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
  37. package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
  38. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
  39. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
  40. package/dist/components/FormComponent/helpers/index.js +5 -5
  41. package/dist/components/FormComponent/index.js +1 -1
  42. package/dist/components/FormPage/FormPage.js +70 -93
  43. package/dist/components/FormPage/FormPage.test.js +150 -202
  44. package/dist/components/FormPage/index.js +1 -1
  45. package/dist/components/FormRenderer/FormRenderer.js +131 -173
  46. package/dist/components/FormRenderer/FormRenderer.test.js +732 -1114
  47. package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
  48. package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
  49. package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
  50. package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
  51. package/dist/components/FormRenderer/handlers/index.js +2 -2
  52. package/dist/components/FormRenderer/handlers/navigate.js +4 -4
  53. package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
  54. package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
  55. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +16 -16
  56. package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
  57. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +17 -21
  58. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -25
  59. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
  60. package/dist/components/FormRenderer/helpers/getCYA.js +4 -6
  61. package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
  62. package/dist/components/FormRenderer/helpers/getFormState.js +6 -8
  63. package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
  64. package/dist/components/FormRenderer/helpers/getNextPageId.js +14 -25
  65. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
  66. package/dist/components/FormRenderer/helpers/getPage.js +2 -4
  67. package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
  68. package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
  69. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
  70. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +6 -6
  71. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +104 -98
  72. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +44 -51
  73. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +68 -74
  74. package/dist/components/FormRenderer/helpers/index.js +2 -2
  75. package/dist/components/FormRenderer/index.js +1 -1
  76. package/dist/components/FormRenderer/onCYAAction.js +43 -44
  77. package/dist/components/FormRenderer/onCYAAction.test.js +126 -133
  78. package/dist/components/FormRenderer/onPageAction.js +26 -35
  79. package/dist/components/FormRenderer/onPageAction.test.js +177 -186
  80. package/dist/components/FormRenderer/onTaskAction.js +11 -12
  81. package/dist/components/FormRenderer/onTaskAction.test.js +63 -68
  82. package/dist/components/PageActions/ActionButton.js +14 -14
  83. package/dist/components/PageActions/ActionButton.test.js +57 -79
  84. package/dist/components/PageActions/PageActions.js +11 -11
  85. package/dist/components/PageActions/PageActions.test.js +87 -116
  86. package/dist/components/PageActions/index.js +1 -1
  87. package/dist/components/SummaryList/GroupAction.js +10 -18
  88. package/dist/components/SummaryList/GroupAction.test.js +38 -34
  89. package/dist/components/SummaryList/RowAction.js +12 -17
  90. package/dist/components/SummaryList/RowAction.test.js +38 -34
  91. package/dist/components/SummaryList/SummaryList.js +23 -25
  92. package/dist/components/SummaryList/SummaryList.test.js +162 -189
  93. package/dist/components/SummaryList/SummaryListHeadingRow.js +7 -5
  94. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +7 -5
  95. package/dist/components/SummaryList/SummaryListRow.js +7 -5
  96. package/dist/components/SummaryList/SummaryListTitleRow.js +6 -4
  97. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
  98. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +23 -23
  99. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
  100. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +23 -23
  101. package/dist/components/SummaryList/helpers/index.js +2 -2
  102. package/dist/components/SummaryList/index.js +1 -1
  103. package/dist/components/TaskList/Task.js +20 -30
  104. package/dist/components/TaskList/Task.test.js +84 -77
  105. package/dist/components/TaskList/TaskList.js +56 -79
  106. package/dist/components/TaskList/TaskList.test.js +149 -149
  107. package/dist/components/TaskList/TaskState.js +8 -6
  108. package/dist/components/TaskList/TaskState.test.js +53 -46
  109. package/dist/components/TaskList/index.js +1 -1
  110. package/dist/components/index.js +8 -8
  111. package/dist/context/HooksContext/HooksContext.js +56 -79
  112. package/dist/context/HooksContext/HooksContext.test.js +27 -36
  113. package/dist/context/HooksContext/index.js +3 -4
  114. package/dist/context/ValidationContext/ValidationContext.js +44 -95
  115. package/dist/context/ValidationContext/ValidationContext.test.js +57 -69
  116. package/dist/context/ValidationContext/index.js +3 -4
  117. package/dist/context/index.js +3 -3
  118. package/dist/hooks/index.js +10 -11
  119. package/dist/hooks/useAxios.js +15 -41
  120. package/dist/hooks/useGetRequest.js +62 -98
  121. package/dist/hooks/useHooks.js +1 -3
  122. package/dist/hooks/useRefData.js +25 -37
  123. package/dist/hooks/useValidation.js +1 -3
  124. package/dist/index.js +14 -15
  125. package/dist/models/CollectionLabels.js +1 -1
  126. package/dist/models/ComponentTypes.js +25 -25
  127. package/dist/models/EventTypes.js +4 -4
  128. package/dist/models/FormPages.js +4 -4
  129. package/dist/models/FormTypes.js +8 -8
  130. package/dist/models/HubFormats.js +3 -3
  131. package/dist/models/PageAction.js +44 -38
  132. package/dist/models/TaskStates.js +29 -28
  133. package/dist/models/index.js +10 -10
  134. package/dist/setupTests.js +30 -31
  135. package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
  136. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
  137. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +12 -21
  138. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +32 -33
  139. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +15 -28
  140. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +41 -42
  141. package/dist/utils/CheckYourAnswers/getCYARow.js +7 -7
  142. package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
  143. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +19 -21
  144. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
  145. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +27 -34
  146. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +48 -52
  147. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +76 -93
  148. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +110 -115
  149. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +11 -16
  150. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
  151. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +14 -19
  152. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +69 -73
  153. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +7 -8
  154. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +15 -16
  155. package/dist/utils/CheckYourAnswers/index.js +2 -2
  156. package/dist/utils/CheckYourAnswers/showComponentCYA.js +5 -5
  157. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
  158. package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
  159. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
  160. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
  161. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -19
  162. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +13 -20
  163. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +48 -39
  164. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
  165. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
  166. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
  167. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
  168. package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
  169. package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
  170. package/dist/utils/CollectionPage/getErrorsForCollection.js +20 -21
  171. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +21 -23
  172. package/dist/utils/CollectionPage/getQuickEditPage.js +22 -23
  173. package/dist/utils/CollectionPage/getQuickEditPage.test.js +17 -18
  174. package/dist/utils/CollectionPage/index.js +2 -2
  175. package/dist/utils/CollectionPage/mergeCollectionPages.js +26 -35
  176. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +18 -18
  177. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +5 -7
  178. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
  179. package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
  180. package/dist/utils/CollectionPage/setCollectionPageData.test.js +25 -25
  181. package/dist/utils/Component/addShowWhen.js +5 -6
  182. package/dist/utils/Component/addShowWhen.test.js +38 -38
  183. package/dist/utils/Component/applyToComponentTree.js +12 -15
  184. package/dist/utils/Component/applyToComponentTree.test.js +28 -31
  185. package/dist/utils/Component/cleanAttributes.js +12 -11
  186. package/dist/utils/Component/cleanAttributes.test.js +17 -18
  187. package/dist/utils/Component/elevateNestedComponents.js +6 -6
  188. package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
  189. package/dist/utils/Component/getComponent.js +79 -85
  190. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
  191. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +41 -58
  192. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +40 -49
  193. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +24 -34
  194. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +21 -19
  195. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +18 -23
  196. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +21 -26
  197. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +11 -10
  198. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +18 -16
  199. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +10 -9
  200. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +18 -16
  201. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +23 -27
  202. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +201 -226
  203. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +18 -16
  204. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +18 -23
  205. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +58 -73
  206. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +18 -23
  207. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +18 -23
  208. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +32 -39
  209. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +21 -30
  210. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
  211. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +10 -9
  212. package/dist/utils/Component/getDefaultValue.js +7 -9
  213. package/dist/utils/Component/getDefaultValue.test.js +13 -13
  214. package/dist/utils/Component/getDefaultValueFromConfig.js +16 -20
  215. package/dist/utils/Component/getDefaultValueFromConfig.test.js +32 -32
  216. package/dist/utils/Component/index.js +2 -2
  217. package/dist/utils/Component/isEditable.js +2 -4
  218. package/dist/utils/Component/isEditable.test.js +14 -15
  219. package/dist/utils/Component/optionIsSelected.js +2 -4
  220. package/dist/utils/Component/optionIsSelected.test.js +12 -12
  221. package/dist/utils/Component/setupContainerComponentsPath.js +23 -28
  222. package/dist/utils/Component/setupContainerComponentsPath.test.js +12 -12
  223. package/dist/utils/Component/showComponent.js +2 -2
  224. package/dist/utils/Component/showComponent.test.js +29 -29
  225. package/dist/utils/Component/wrapInFormGroup.js +4 -4
  226. package/dist/utils/Condition/index.js +2 -2
  227. package/dist/utils/Condition/meetsAllConditions.js +9 -9
  228. package/dist/utils/Condition/meetsAllConditions.test.js +21 -21
  229. package/dist/utils/Condition/meetsCondition.js +17 -26
  230. package/dist/utils/Condition/meetsCondition.test.js +403 -403
  231. package/dist/utils/Condition/meetsOneCondition.js +6 -6
  232. package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
  233. package/dist/utils/Condition/setupConditions.js +12 -15
  234. package/dist/utils/Condition/setupConditions.test.js +8 -8
  235. package/dist/utils/Container/getEditableComponents.js +4 -6
  236. package/dist/utils/Container/getEditableComponents.test.js +44 -46
  237. package/dist/utils/Container/index.js +2 -2
  238. package/dist/utils/Container/setupNesting.js +14 -15
  239. package/dist/utils/Container/setupNesting.test.js +20 -23
  240. package/dist/utils/Container/showContainer.js +4 -8
  241. package/dist/utils/Container/showContainer.test.js +31 -31
  242. package/dist/utils/Data/applyFormula.js +30 -44
  243. package/dist/utils/Data/applyFormula.test.js +21 -21
  244. package/dist/utils/Data/deleteValues.js +4 -8
  245. package/dist/utils/Data/deleteValues.test.js +11 -11
  246. package/dist/utils/Data/getAutocompleteSource.js +72 -63
  247. package/dist/utils/Data/getAutocompleteSource.test.js +106 -98
  248. package/dist/utils/Data/getDataPath.js +18 -28
  249. package/dist/utils/Data/getDataPath.test.js +13 -13
  250. package/dist/utils/Data/getOptions.js +35 -42
  251. package/dist/utils/Data/getOptions.test.js +37 -38
  252. package/dist/utils/Data/getSourceData.js +6 -19
  253. package/dist/utils/Data/getSourceData.test.js +85 -81
  254. package/dist/utils/Data/index.js +2 -2
  255. package/dist/utils/Data/nestInRefdataOptions.js +9 -12
  256. package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
  257. package/dist/utils/Data/refDataToOptions.js +9 -10
  258. package/dist/utils/Data/refDataToOptions.test.js +20 -20
  259. package/dist/utils/Data/setDataItem.js +7 -8
  260. package/dist/utils/Data/setDataItem.test.js +38 -38
  261. package/dist/utils/Data/setupFormData.js +13 -20
  262. package/dist/utils/Data/setupFormData.test.js +48 -47
  263. package/dist/utils/Data/setupRefDataUrlForComponent.js +11 -20
  264. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +25 -25
  265. package/dist/utils/FormPage/applyConditionalProperties.js +7 -8
  266. package/dist/utils/FormPage/applyConditionalProperties.test.js +14 -15
  267. package/dist/utils/FormPage/getConditionalText.js +4 -4
  268. package/dist/utils/FormPage/getConditionalText.test.js +30 -30
  269. package/dist/utils/FormPage/getFormPage.js +12 -15
  270. package/dist/utils/FormPage/getFormPage.test.js +23 -24
  271. package/dist/utils/FormPage/getFormPages.js +8 -11
  272. package/dist/utils/FormPage/getFormPages.test.js +15 -16
  273. package/dist/utils/FormPage/getPageActions.js +10 -13
  274. package/dist/utils/FormPage/getPageActions.test.js +33 -33
  275. package/dist/utils/FormPage/getParagraphFromText.js +5 -7
  276. package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
  277. package/dist/utils/FormPage/index.js +3 -5
  278. package/dist/utils/FormPage/showFormPage.js +4 -8
  279. package/dist/utils/FormPage/showFormPage.test.js +33 -33
  280. package/dist/utils/FormPage/showFormPageCYA.js +2 -2
  281. package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
  282. package/dist/utils/FormPage/useComponent.js +15 -23
  283. package/dist/utils/FormPage/useComponent.test.js +49 -50
  284. package/dist/utils/Format/formatData.js +1 -1
  285. package/dist/utils/Format/formatData.test.js +19 -19
  286. package/dist/utils/Format/formatDataForComponent.js +6 -7
  287. package/dist/utils/Format/formatDataForComponent.test.js +50 -78
  288. package/dist/utils/Format/formatDataForForm.js +5 -6
  289. package/dist/utils/Format/formatDataForForm.test.js +14 -17
  290. package/dist/utils/Format/formatDataForPage.js +4 -5
  291. package/dist/utils/Format/formatDataForPage.test.js +20 -25
  292. package/dist/utils/Format/index.js +2 -2
  293. package/dist/utils/Hub/getFormHub.js +2 -2
  294. package/dist/utils/Hub/getFormHub.test.js +23 -24
  295. package/dist/utils/Hub/index.js +2 -2
  296. package/dist/utils/Meta/constants.js +2 -2
  297. package/dist/utils/Meta/documents/getDocuments.js +1 -1
  298. package/dist/utils/Meta/documents/getDocuments.test.js +25 -17
  299. package/dist/utils/Meta/documents/index.js +2 -2
  300. package/dist/utils/Meta/documents/setDocumentsForField.js +12 -13
  301. package/dist/utils/Meta/documents/setDocumentsForField.test.js +70 -33
  302. package/dist/utils/Meta/index.js +2 -2
  303. package/dist/utils/Operate/checkValueIsTruthy.js +3 -3
  304. package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
  305. package/dist/utils/Operate/deleteValueInFormData.js +2 -2
  306. package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
  307. package/dist/utils/Operate/getFirstOf.js +6 -6
  308. package/dist/utils/Operate/getFirstOf.test.js +32 -32
  309. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +11 -11
  310. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
  311. package/dist/utils/Operate/getLength.js +9 -9
  312. package/dist/utils/Operate/getLength.test.js +19 -19
  313. package/dist/utils/Operate/index.js +2 -2
  314. package/dist/utils/Operate/persistValueInFormData.js +4 -4
  315. package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
  316. package/dist/utils/Operate/runPageOperations.js +8 -8
  317. package/dist/utils/Operate/runPageOperations.test.js +24 -25
  318. package/dist/utils/Operate/setValueInFormData.js +3 -3
  319. package/dist/utils/Operate/setValueInFormData.test.js +17 -17
  320. package/dist/utils/Operate/shouldRun.js +7 -7
  321. package/dist/utils/Operate/shouldRun.test.js +22 -24
  322. package/dist/utils/Validate/additional/conditionallyPermittedChange.js +1 -1
  323. package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +15 -15
  324. package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
  325. package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
  326. package/dist/utils/Validate/additional/index.js +8 -8
  327. package/dist/utils/Validate/additional/index.test.js +22 -22
  328. package/dist/utils/Validate/additional/mustBeAfter.js +3 -3
  329. package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
  330. package/dist/utils/Validate/additional/mustBeBefore.js +3 -3
  331. package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
  332. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +8 -12
  333. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -38
  334. package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
  335. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
  336. package/dist/utils/Validate/additional/mustBeInTheFuture.js +3 -3
  337. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
  338. package/dist/utils/Validate/additional/mustBeInThePast.js +4 -4
  339. package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
  340. package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
  341. package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
  342. package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
  343. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
  344. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
  345. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
  346. package/dist/utils/Validate/additional/mustBeOneOf.js +1 -1
  347. package/dist/utils/Validate/additional/mustBeOneOf.test.js +13 -13
  348. package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
  349. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
  350. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +5 -5
  351. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +35 -36
  352. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
  353. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +15 -17
  354. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
  355. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
  356. package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
  357. package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
  358. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
  359. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
  360. package/dist/utils/Validate/additional/utils.js +9 -22
  361. package/dist/utils/Validate/index.js +2 -2
  362. package/dist/utils/Validate/validateCollection.js +18 -23
  363. package/dist/utils/Validate/validateCollection.test.js +75 -67
  364. package/dist/utils/Validate/validateComponent.js +19 -19
  365. package/dist/utils/Validate/validateComponent.test.js +179 -154
  366. package/dist/utils/Validate/validateContainer.js +14 -17
  367. package/dist/utils/Validate/validateContainer.test.js +59 -53
  368. package/dist/utils/Validate/validateDate.js +16 -22
  369. package/dist/utils/Validate/validateDate.test.js +31 -32
  370. package/dist/utils/Validate/validateEmail.js +7 -9
  371. package/dist/utils/Validate/validateEmail.test.js +27 -27
  372. package/dist/utils/Validate/validateMultifile.js +5 -7
  373. package/dist/utils/Validate/validateMultifile.test.js +17 -18
  374. package/dist/utils/Validate/validatePage.js +13 -18
  375. package/dist/utils/Validate/validatePage.test.js +198 -195
  376. package/dist/utils/Validate/validateRegex.js +3 -5
  377. package/dist/utils/Validate/validateRegex.test.js +15 -15
  378. package/dist/utils/Validate/validateRequired.js +4 -6
  379. package/dist/utils/Validate/validateRequired.test.js +19 -19
  380. package/dist/utils/Validate/validateTextArea.js +4 -6
  381. package/dist/utils/Validate/validateTextArea.test.js +21 -21
  382. package/dist/utils/Validate/validateTime.js +12 -19
  383. package/dist/utils/Validate/validateTime.test.js +27 -27
  384. package/dist/utils/index.js +5 -6
  385. package/package.json +2 -4
@@ -6,27 +6,26 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _models = require("../../models");
8
8
  var _helpers = _interopRequireDefault(require("./helpers"));
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
- 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); }
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
10
  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; }
12
11
  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; }
13
- 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; }
14
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
15
- 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); }
16
- var onTaskAction = function onTaskAction(currentTask, pages, setCurrentTask, hubDetails, data, onPageChange) {
12
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
13
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
14
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
15
+ const onTaskAction = (currentTask, pages, setCurrentTask, hubDetails, data, onPageChange) => {
17
16
  if (currentTask) {
18
- var task = currentTask;
17
+ const task = currentTask;
19
18
  task.fullPages = [];
20
- task.pages.forEach(function (page) {
19
+ task.pages.forEach(page => {
21
20
  task.fullPages.push(_helpers.default.getPage(page, pages));
22
21
  });
23
22
  setCurrentTask(currentTask);
24
- var state = _objectSpread({}, task);
23
+ const state = _objectSpread({}, task);
25
24
  if (task.state === _models.TaskStates.TYPES.COMPLETE && !task.alwaysShowFirstPage) {
26
25
  if (hubDetails !== null && hubDetails !== void 0 && hubDetails.noTaskCYAs) {
27
26
  // If the task is complete and there are no CYA's then show user first page
28
27
  /* eslint-disable prefer-destructuring */
29
- var currentPage = data.formStatus.tasks[currentTask.name].currentPage;
28
+ const currentPage = data.formStatus.tasks[currentTask.name].currentPage;
30
29
  onPageChange(task.pages[0] || currentPage);
31
30
  } else if (task.customCYA) {
32
31
  onPageChange(task.customCYA);
@@ -34,9 +33,9 @@ var onTaskAction = function onTaskAction(currentTask, pages, setCurrentTask, hub
34
33
  onPageChange(_models.FormPages.CYA, state);
35
34
  }
36
35
  } else if (task.state === _models.TaskStates.TYPES.IN_PROGRESS && !task.alwaysShowFirstPage) {
37
- var _currentPage = data.formStatus.tasks[currentTask.name].currentPage;
36
+ const currentPage = data.formStatus.tasks[currentTask.name].currentPage;
38
37
  /* eslint-enable prefer-destructuring */
39
- onPageChange(_currentPage || currentTask.pages[0], state);
38
+ onPageChange(currentPage || currentTask.pages[0], state);
40
39
  } else if (task.firstPage) {
41
40
  onPageChange(task.firstPage, state);
42
41
  } else {
@@ -3,40 +3,37 @@
3
3
  var _models = require("../../models");
4
4
  var _helpers = _interopRequireDefault(require("./helpers"));
5
5
  var _onTaskAction = _interopRequireDefault(require("./onTaskAction"));
6
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
7
- 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); }
6
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
8
7
  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; }
9
8
  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; }
10
- 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; }
11
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
12
- 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); }
13
- jest.mock('./helpers', function () {
14
- return {
15
- getPageArgs: [],
16
- getPage: function getPage(page, pages) {
17
- this.getPageArgs.push({
18
- page: page,
19
- pages: pages
20
- });
21
- },
22
- reset: function reset() {
23
- this.getPageArgs = [];
24
- }
25
- };
26
- });
27
- describe('components.FormRenderer.onTaskAction', function () {
28
- var setCurrentTaskArgs = [];
29
- var mockSetCurrentTask = function mockSetCurrentTask(task) {
9
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
10
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
11
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
12
+ jest.mock('./helpers', () => ({
13
+ getPageArgs: [],
14
+ getPage(page, pages) {
15
+ this.getPageArgs.push({
16
+ page,
17
+ pages
18
+ });
19
+ },
20
+ reset() {
21
+ this.getPageArgs = [];
22
+ }
23
+ }));
24
+ describe('components.FormRenderer.onTaskAction', () => {
25
+ let setCurrentTaskArgs = [];
26
+ const mockSetCurrentTask = task => {
30
27
  setCurrentTaskArgs.push(task);
31
28
  };
32
- var onPageChangeArgs = [];
33
- var mockOnPageChange = function mockOnPageChange(page, state) {
29
+ let onPageChangeArgs = [];
30
+ const mockOnPageChange = (page, state) => {
34
31
  onPageChangeArgs.push({
35
- page: page,
36
- state: state
32
+ page,
33
+ state
37
34
  });
38
35
  };
39
- var PAGES = [{
36
+ const PAGES = [{
40
37
  id: 'page1'
41
38
  }, {
42
39
  id: 'page2'
@@ -45,7 +42,7 @@ describe('components.FormRenderer.onTaskAction', function () {
45
42
  }, {
46
43
  id: 'customCya'
47
44
  }];
48
- var DATA = {
45
+ const DATA = {
49
46
  formStatus: {
50
47
  tasks: {
51
48
  task1: {
@@ -58,7 +55,7 @@ describe('components.FormRenderer.onTaskAction', function () {
58
55
  }
59
56
  }
60
57
  };
61
- var ARGS = {
58
+ const ARGS = {
62
59
  currentTask: null,
63
60
  pages: PAGES,
64
61
  setCurrentTask: mockSetCurrentTask,
@@ -66,31 +63,31 @@ describe('components.FormRenderer.onTaskAction', function () {
66
63
  data: DATA,
67
64
  onPageChange: mockOnPageChange
68
65
  };
69
- var genericChecks = function genericChecks(currentTask) {
66
+ const genericChecks = currentTask => {
70
67
  expect(_helpers.default.getPageArgs.length).toEqual(currentTask.pages.length);
71
68
  expect(currentTask.fullPages.length).toEqual(currentTask.pages.length);
72
69
  expect(setCurrentTaskArgs.length).toEqual(1);
73
70
  expect(setCurrentTaskArgs[0]).toEqual(currentTask);
74
71
  };
75
- beforeEach(function () {
72
+ beforeEach(() => {
76
73
  setCurrentTaskArgs = [];
77
74
  onPageChangeArgs = [];
78
75
  _helpers.default.reset();
79
76
  });
80
- it('should do nothing if currentTask is null', function () {
77
+ it('should do nothing if currentTask is null', () => {
81
78
  _onTaskAction.default.apply(void 0, Object.values(ARGS));
82
79
  expect(_helpers.default.getPageArgs.length).toEqual(0);
83
80
  expect(setCurrentTaskArgs.length).toEqual(0);
84
81
  expect(onPageChangeArgs.length).toEqual(0);
85
82
  });
86
- describe("when currentTask has a state of ".concat(_models.TaskStates.TYPES.COMPLETE), function () {
87
- var TASK = {
83
+ describe("when currentTask has a state of ".concat(_models.TaskStates.TYPES.COMPLETE), () => {
84
+ const TASK = {
88
85
  name: 'task1',
89
86
  state: _models.TaskStates.TYPES.COMPLETE,
90
87
  pages: ['page1', 'page2', 'page3']
91
88
  };
92
- it('should handle task CYAs not being shown', function () {
93
- var CUSTOM_ARGS = _objectSpread(_objectSpread({}, ARGS), {}, {
89
+ it('should handle task CYAs not being shown', () => {
90
+ const CUSTOM_ARGS = _objectSpread(_objectSpread({}, ARGS), {}, {
94
91
  currentTask: TASK,
95
92
  hubDetails: {
96
93
  noTaskCYAs: true
@@ -101,8 +98,8 @@ describe('components.FormRenderer.onTaskAction', function () {
101
98
  expect(onPageChangeArgs.length).toEqual(1);
102
99
  expect(onPageChangeArgs[0].page).toEqual(CUSTOM_ARGS.currentTask.pages[0]);
103
100
  });
104
- it('should handle task CYAs not being shown and no pages being provided on currentTask', function () {
105
- var CUSTOM_ARGS = _objectSpread(_objectSpread({}, ARGS), {}, {
101
+ it('should handle task CYAs not being shown and no pages being provided on currentTask', () => {
102
+ const CUSTOM_ARGS = _objectSpread(_objectSpread({}, ARGS), {}, {
106
103
  currentTask: _objectSpread(_objectSpread({}, TASK), {}, {
107
104
  pages: []
108
105
  }),
@@ -115,8 +112,8 @@ describe('components.FormRenderer.onTaskAction', function () {
115
112
  expect(onPageChangeArgs.length).toEqual(1);
116
113
  expect(onPageChangeArgs[0].page).toEqual(CUSTOM_ARGS.data.formStatus.tasks[CUSTOM_ARGS.currentTask.name].currentPage);
117
114
  });
118
- it('should handle a custom CYA being provided', function () {
119
- var CUSTOM_ARGS = _objectSpread(_objectSpread({}, ARGS), {}, {
115
+ it('should handle a custom CYA being provided', () => {
116
+ const CUSTOM_ARGS = _objectSpread(_objectSpread({}, ARGS), {}, {
120
117
  currentTask: _objectSpread(_objectSpread({}, TASK), {}, {
121
118
  customCYA: 'customCya'
122
119
  })
@@ -126,8 +123,8 @@ describe('components.FormRenderer.onTaskAction', function () {
126
123
  expect(onPageChangeArgs.length).toEqual(1);
127
124
  expect(onPageChangeArgs[0].page).toEqual(CUSTOM_ARGS.currentTask.customCYA);
128
125
  });
129
- it('should handle navigation to a normal CYA page', function () {
130
- var CUSTOM_ARGS = _objectSpread(_objectSpread({}, ARGS), {}, {
126
+ it('should handle navigation to a normal CYA page', () => {
127
+ const CUSTOM_ARGS = _objectSpread(_objectSpread({}, ARGS), {}, {
131
128
  currentTask: TASK
132
129
  });
133
130
  _onTaskAction.default.apply(void 0, Object.values(CUSTOM_ARGS));
@@ -137,14 +134,14 @@ describe('components.FormRenderer.onTaskAction', function () {
137
134
  expect(onPageChangeArgs[0].state).toEqual(CUSTOM_ARGS.currentTask);
138
135
  });
139
136
  });
140
- describe("when currentTask has a state of ".concat(_models.TaskStates.TYPES.IN_PROGRESS), function () {
141
- it('should handle page change when formStatus has a current page for the task', function () {
142
- var TASK = {
137
+ describe("when currentTask has a state of ".concat(_models.TaskStates.TYPES.IN_PROGRESS), () => {
138
+ it('should handle page change when formStatus has a current page for the task', () => {
139
+ const TASK = {
143
140
  name: 'task1',
144
141
  state: _models.TaskStates.TYPES.IN_PROGRESS,
145
142
  pages: ['page1', 'page2', 'page3']
146
143
  };
147
- var CUSTOM_ARGS = _objectSpread(_objectSpread({}, ARGS), {}, {
144
+ const CUSTOM_ARGS = _objectSpread(_objectSpread({}, ARGS), {}, {
148
145
  currentTask: TASK
149
146
  });
150
147
  _onTaskAction.default.apply(void 0, Object.values(CUSTOM_ARGS));
@@ -153,13 +150,13 @@ describe('components.FormRenderer.onTaskAction', function () {
153
150
  expect(onPageChangeArgs[0].page).toEqual(CUSTOM_ARGS.data.formStatus.tasks[CUSTOM_ARGS.currentTask.name].currentPage);
154
151
  expect(onPageChangeArgs[0].state).toEqual(CUSTOM_ARGS.currentTask);
155
152
  });
156
- it('should handle page change when formStatus does not have a current page for the task', function () {
157
- var TASK = {
153
+ it('should handle page change when formStatus does not have a current page for the task', () => {
154
+ const TASK = {
158
155
  name: 'taskNoCurrentPage',
159
156
  state: _models.TaskStates.TYPES.IN_PROGRESS,
160
157
  pages: ['page1', 'page2', 'page3']
161
158
  };
162
- var CUSTOM_ARGS = _objectSpread(_objectSpread({}, ARGS), {}, {
159
+ const CUSTOM_ARGS = _objectSpread(_objectSpread({}, ARGS), {}, {
163
160
  currentTask: TASK
164
161
  });
165
162
  _onTaskAction.default.apply(void 0, Object.values(CUSTOM_ARGS));
@@ -168,15 +165,15 @@ describe('components.FormRenderer.onTaskAction', function () {
168
165
  expect(onPageChangeArgs[0].page).toEqual(CUSTOM_ARGS.currentTask.pages[0]);
169
166
  expect(onPageChangeArgs[0].state).toEqual(CUSTOM_ARGS.currentTask);
170
167
  });
171
- it('should navigate to firstPage if alwaysShowFirstPage is set if state is in progress', function () {
172
- var TASK = {
168
+ it('should navigate to firstPage if alwaysShowFirstPage is set if state is in progress', () => {
169
+ const TASK = {
173
170
  name: 'taskalwaysShowFirstPageInProgress',
174
171
  state: _models.TaskStates.TYPES.IN_PROGRESS,
175
172
  firstPage: 'page2',
176
173
  alwaysShowFirstPage: true,
177
174
  pages: ['page1', 'page2', 'page3']
178
175
  };
179
- var CUSTOM_ARGS = _objectSpread(_objectSpread({}, ARGS), {}, {
176
+ const CUSTOM_ARGS = _objectSpread(_objectSpread({}, ARGS), {}, {
180
177
  currentTask: TASK
181
178
  });
182
179
  _onTaskAction.default.apply(void 0, Object.values(CUSTOM_ARGS));
@@ -185,15 +182,15 @@ describe('components.FormRenderer.onTaskAction', function () {
185
182
  expect(onPageChangeArgs[0].page).toEqual(CUSTOM_ARGS.currentTask.pages[1]);
186
183
  expect(onPageChangeArgs[0].state).toEqual(CUSTOM_ARGS.currentTask);
187
184
  });
188
- it('should navigate to firstPage if alwaysShowFirstPage is set if state is in progress', function () {
189
- var TASK = {
185
+ it('should navigate to firstPage if alwaysShowFirstPage is set if state is in progress', () => {
186
+ const TASK = {
190
187
  name: 'taskalwaysShowFirstPageComplete',
191
188
  state: _models.TaskStates.TYPES.COMPLETE,
192
189
  firstPage: 'page2',
193
190
  alwaysShowFirstPage: true,
194
191
  pages: ['page1', 'page2', 'page3']
195
192
  };
196
- var CUSTOM_ARGS = _objectSpread(_objectSpread({}, ARGS), {}, {
193
+ const CUSTOM_ARGS = _objectSpread(_objectSpread({}, ARGS), {}, {
197
194
  currentTask: TASK
198
195
  });
199
196
  _onTaskAction.default.apply(void 0, Object.values(CUSTOM_ARGS));
@@ -203,18 +200,16 @@ describe('components.FormRenderer.onTaskAction', function () {
203
200
  expect(onPageChangeArgs[0].state).toEqual(CUSTOM_ARGS.currentTask);
204
201
  });
205
202
  });
206
- var otherStates = Object.values(_models.TaskStates.TYPES).filter(function (t) {
207
- return t !== _models.TaskStates.TYPES.IN_PROGRESS && t !== _models.TaskStates.TYPES.COMPLETE;
208
- });
209
- otherStates.forEach(function (state) {
210
- describe("when currentTask has a state of ".concat(state), function () {
211
- var TASK = {
203
+ const otherStates = Object.values(_models.TaskStates.TYPES).filter(t => t !== _models.TaskStates.TYPES.IN_PROGRESS && t !== _models.TaskStates.TYPES.COMPLETE);
204
+ otherStates.forEach(state => {
205
+ describe("when currentTask has a state of ".concat(state), () => {
206
+ const TASK = {
212
207
  name: 'task1',
213
- state: state,
208
+ state,
214
209
  pages: ['page1', 'page2', 'page3']
215
210
  };
216
- it('should handle the task having a specific first page defined', function () {
217
- var CUSTOM_ARGS = _objectSpread(_objectSpread({}, ARGS), {}, {
211
+ it('should handle the task having a specific first page defined', () => {
212
+ const CUSTOM_ARGS = _objectSpread(_objectSpread({}, ARGS), {}, {
218
213
  currentTask: _objectSpread(_objectSpread({}, TASK), {}, {
219
214
  firstPage: 'page2'
220
215
  })
@@ -225,8 +220,8 @@ describe('components.FormRenderer.onTaskAction', function () {
225
220
  expect(onPageChangeArgs[0].page).toEqual(CUSTOM_ARGS.currentTask.firstPage);
226
221
  expect(onPageChangeArgs[0].state).toEqual(CUSTOM_ARGS.currentTask);
227
222
  });
228
- it('should handle the task having the first page defined as null', function () {
229
- var CUSTOM_ARGS = _objectSpread(_objectSpread({}, ARGS), {}, {
223
+ it('should handle the task having the first page defined as null', () => {
224
+ const CUSTOM_ARGS = _objectSpread(_objectSpread({}, ARGS), {}, {
230
225
  currentTask: _objectSpread(_objectSpread({}, TASK), {}, {
231
226
  firstPage: null
232
227
  })
@@ -237,8 +232,8 @@ describe('components.FormRenderer.onTaskAction', function () {
237
232
  expect(onPageChangeArgs[0].page).toEqual(CUSTOM_ARGS.currentTask.pages[0]);
238
233
  expect(onPageChangeArgs[0].state).toEqual(CUSTOM_ARGS.currentTask);
239
234
  });
240
- it('should handle the task not having a specific first page defined', function () {
241
- var CUSTOM_ARGS = _objectSpread(_objectSpread({}, ARGS), {}, {
235
+ it('should handle the task not having a specific first page defined', () => {
236
+ const CUSTOM_ARGS = _objectSpread(_objectSpread({}, ARGS), {}, {
242
237
  currentTask: TASK
243
238
  });
244
239
  _onTaskAction.default.apply(void 0, Object.values(CUSTOM_ARGS));
@@ -8,19 +8,21 @@ var _copReactComponents = require("@ukhomeoffice/cop-react-components");
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
  var _models = require("../../models");
11
- var _excluded = ["action", "onAction"]; // Global imports
11
+ const _excluded = ["action", "onAction"]; // Global imports
12
12
  // Local imports
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
15
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
16
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
17
- var DEFAULT_LABEL = exports.DEFAULT_LABEL = 'Continue';
18
- var ActionButton = function ActionButton(_ref) {
19
- var _action = _ref.action,
20
- onAction = _ref.onAction,
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
15
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
16
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
17
+ const DEFAULT_LABEL = exports.DEFAULT_LABEL = 'Continue';
18
+ const ActionButton = _ref => {
19
+ let {
20
+ action: _action,
21
+ onAction
22
+ } = _ref,
21
23
  attrs = _objectWithoutProperties(_ref, _excluded);
22
- var action = typeof _action === 'string' ? _models.PageAction.DEFAULTS[_action] : _action;
23
- var actionLabel = _models.PageAction.DEFAULTS[_action.type];
24
+ const action = typeof _action === 'string' ? _models.PageAction.DEFAULTS[_action] : _action;
25
+ const actionLabel = _models.PageAction.DEFAULTS[_action.type];
24
26
  if (!action) {
25
27
  return null;
26
28
  }
@@ -29,9 +31,7 @@ var ActionButton = function ActionButton(_ref) {
29
31
  classModifiers: action.classModifiers,
30
32
  start: action.start || false,
31
33
  name: action.label,
32
- onClick: action.disabled ? function () {} : function () {
33
- return onAction(action);
34
- }
34
+ onClick: action.disabled ? () => {} : () => onAction(action)
35
35
  }), action.label || (actionLabel === null || actionLabel === void 0 ? void 0 : actionLabel.label) || DEFAULT_LABEL);
36
36
  };
37
37
  ActionButton.propTypes = {
@@ -1,94 +1,72 @@
1
1
  "use strict";
2
2
 
3
- 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); }
4
3
  var _react = require("@testing-library/react");
5
4
  var _react2 = _interopRequireDefault(require("react"));
6
5
  var _models = require("../../models");
7
6
  var _ActionButton = _interopRequireWildcard(require("./ActionButton"));
8
- 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); }
9
- 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 _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
- 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; }
12
- 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); } }
13
- 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); }); }; } // Global imports
7
+ 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); }
8
+ 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; }
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ // Global imports
11
+
14
12
  // Local imports
15
- describe('components', function () {
16
- describe('PageActions.ActionButton', function () {
17
- var ON_ACTION_CALLS = [];
18
- var ON_ACTION = function ON_ACTION(action) {
13
+
14
+ describe('components', () => {
15
+ describe('PageActions.ActionButton', () => {
16
+ const ON_ACTION_CALLS = [];
17
+ const ON_ACTION = action => {
19
18
  ON_ACTION_CALLS.push(action);
20
19
  };
21
- beforeEach(function () {
20
+ beforeEach(() => {
22
21
  ON_ACTION_CALLS.length = 0;
23
22
  });
24
- it('should handle an unknown action identifier', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
25
- var ACTION, _render, container;
26
- return _regeneratorRuntime().wrap(function _callee$(_context) {
27
- while (1) switch (_context.prev = _context.next) {
28
- case 0:
29
- ACTION = 'unknown';
30
- _render = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_ActionButton.default, {
31
- action: ACTION,
32
- onAction: ON_ACTION
33
- })), container = _render.container;
34
- expect(container.childNodes.length).toEqual(0);
35
- case 3:
36
- case "end":
37
- return _context.stop();
38
- }
39
- }, _callee);
40
- })));
41
- it('should appropriately display a submit action', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
42
- var ACTION, _render2, container, button;
43
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
44
- while (1) switch (_context2.prev = _context2.next) {
45
- case 0:
46
- ACTION = _models.PageAction.TYPES.SUBMIT;
47
- _render2 = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_ActionButton.default, {
48
- action: ACTION,
49
- onAction: ON_ACTION
50
- })), container = _render2.container;
51
- button = container.childNodes[0];
52
- expect(button.tagName).toEqual('BUTTON');
53
- expect(button.textContent).toEqual(_ActionButton.DEFAULT_LABEL);
23
+ it('should handle an unknown action identifier', async () => {
24
+ const ACTION = 'unknown';
25
+ const {
26
+ container
27
+ } = (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_ActionButton.default, {
28
+ action: ACTION,
29
+ onAction: ON_ACTION
30
+ }));
31
+ expect(container.childNodes.length).toEqual(0);
32
+ });
33
+ it('should appropriately display a submit action', async () => {
34
+ const ACTION = _models.PageAction.TYPES.SUBMIT;
35
+ const {
36
+ container
37
+ } = (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_ActionButton.default, {
38
+ action: ACTION,
39
+ onAction: ON_ACTION
40
+ }));
41
+ const button = container.childNodes[0];
42
+ expect(button.tagName).toEqual('BUTTON');
43
+ expect(button.textContent).toEqual(_ActionButton.DEFAULT_LABEL);
54
44
 
55
- // Click the button and make sure it fires the onAction handler.
56
- _react.fireEvent.click(button, {});
57
- expect(ON_ACTION_CALLS.length).toEqual(1);
58
- expect(ON_ACTION_CALLS[0]).toEqual(_models.PageAction.DEFAULTS.submit);
59
- case 8:
60
- case "end":
61
- return _context2.stop();
62
- }
63
- }, _callee2);
64
- })));
65
- it('should appropriately display a custom action', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
66
- var ACTION, _render3, container, button;
67
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
68
- while (1) switch (_context3.prev = _context3.next) {
69
- case 0:
70
- ACTION = {
71
- type: 'navigate',
72
- url: '/alpha',
73
- label: 'Alpha'
74
- };
75
- _render3 = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_ActionButton.default, {
76
- action: ACTION,
77
- onAction: ON_ACTION
78
- })), container = _render3.container;
79
- button = container.childNodes[0];
80
- expect(button.tagName).toEqual('BUTTON');
81
- expect(button.textContent).toEqual(ACTION.label);
45
+ // Click the button and make sure it fires the onAction handler.
46
+ _react.fireEvent.click(button, {});
47
+ expect(ON_ACTION_CALLS.length).toEqual(1);
48
+ expect(ON_ACTION_CALLS[0]).toEqual(_models.PageAction.DEFAULTS.submit);
49
+ });
50
+ it('should appropriately display a custom action', async () => {
51
+ const ACTION = {
52
+ type: 'navigate',
53
+ url: '/alpha',
54
+ label: 'Alpha'
55
+ };
56
+ const {
57
+ container
58
+ } = (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_ActionButton.default, {
59
+ action: ACTION,
60
+ onAction: ON_ACTION
61
+ }));
62
+ const button = container.childNodes[0];
63
+ expect(button.tagName).toEqual('BUTTON');
64
+ expect(button.textContent).toEqual(ACTION.label);
82
65
 
83
- // Click the button and make sure it fires the onAction handler.
84
- _react.fireEvent.click(button, {});
85
- expect(ON_ACTION_CALLS.length).toEqual(1);
86
- expect(ON_ACTION_CALLS[0]).toEqual(ACTION);
87
- case 8:
88
- case "end":
89
- return _context3.stop();
90
- }
91
- }, _callee3);
92
- })));
66
+ // Click the button and make sure it fires the onAction handler.
67
+ _react.fireEvent.click(button, {});
68
+ expect(ON_ACTION_CALLS.length).toEqual(1);
69
+ expect(ON_ACTION_CALLS[0]).toEqual(ACTION);
70
+ });
93
71
  });
94
72
  });
@@ -8,24 +8,24 @@ var _copReactComponents = require("@ukhomeoffice/cop-react-components");
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
10
  var _ActionButton = _interopRequireDefault(require("./ActionButton"));
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
12
  // Global imports
13
13
 
14
14
  // Local imports
15
15
 
16
- var PageActions = function PageActions(_ref) {
17
- var actions = _ref.actions,
18
- onAction = _ref.onAction;
16
+ const PageActions = _ref => {
17
+ let {
18
+ actions,
19
+ onAction
20
+ } = _ref;
19
21
  if (!actions || actions.length === 0) {
20
22
  return null;
21
23
  }
22
- return /*#__PURE__*/_react.default.createElement(_copReactComponents.ButtonGroup, null, actions.map(function (action, index) {
23
- return /*#__PURE__*/_react.default.createElement(_ActionButton.default, {
24
- key: index,
25
- action: action,
26
- onAction: onAction
27
- });
28
- }));
24
+ return /*#__PURE__*/_react.default.createElement(_copReactComponents.ButtonGroup, null, actions.map((action, index) => /*#__PURE__*/_react.default.createElement(_ActionButton.default, {
25
+ key: index,
26
+ action: action,
27
+ onAction: onAction
28
+ })));
29
29
  };
30
30
  PageActions.propTypes = {
31
31
  actions: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.shape({}), _propTypes.default.string])).isRequired,