@ukhomeoffice/cop-react-form-renderer 5.14.2 → 5.14.4

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 (328) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +15 -15
  2. package/dist/components/CheckYourAnswers/Answer.test.js +94 -128
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +99 -129
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +291 -501
  5. package/dist/components/CheckYourAnswers/index.js +2 -3
  6. package/dist/components/CollectionPage/CollectionPage.js +64 -58
  7. package/dist/components/CollectionPage/CollectionPage.test.js +212 -238
  8. package/dist/components/CollectionPage/index.js +2 -3
  9. package/dist/components/FormComponent/Collection.js +77 -113
  10. package/dist/components/FormComponent/Collection.test.js +688 -787
  11. package/dist/components/FormComponent/Container.js +44 -43
  12. package/dist/components/FormComponent/Container.test.js +316 -346
  13. package/dist/components/FormComponent/FormComponent.js +58 -64
  14. package/dist/components/FormComponent/FormComponent.test.js +180 -219
  15. package/dist/components/FormComponent/helpers/addLabel.js +5 -9
  16. package/dist/components/FormComponent/helpers/getComponentDisabled.js +2 -3
  17. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +8 -8
  18. package/dist/components/FormComponent/helpers/getComponentError.js +4 -7
  19. package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
  20. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +2 -2
  21. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
  22. package/dist/components/FormComponent/helpers/index.js +5 -5
  23. package/dist/components/FormComponent/index.js +2 -3
  24. package/dist/components/FormPage/FormPage.js +65 -79
  25. package/dist/components/FormPage/FormPage.test.js +134 -170
  26. package/dist/components/FormPage/index.js +2 -3
  27. package/dist/components/FormRenderer/FormRenderer.js +151 -193
  28. package/dist/components/FormRenderer/FormRenderer.test.js +598 -920
  29. package/dist/components/FormRenderer/handlers/cyaAction.js +4 -5
  30. package/dist/components/FormRenderer/handlers/getPageId.js +2 -5
  31. package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
  32. package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
  33. package/dist/components/FormRenderer/handlers/index.js +3 -4
  34. package/dist/components/FormRenderer/handlers/navigate.js +5 -6
  35. package/dist/components/FormRenderer/handlers/submissionError.js +2 -3
  36. package/dist/components/FormRenderer/helpers/canActionProceed.js +2 -3
  37. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +10 -10
  38. package/dist/components/FormRenderer/helpers/canCYASubmit.js +2 -5
  39. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +17 -21
  40. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +19 -27
  41. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +17 -17
  42. package/dist/components/FormRenderer/helpers/getCYA.js +6 -9
  43. package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
  44. package/dist/components/FormRenderer/helpers/getFormState.js +7 -10
  45. package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
  46. package/dist/components/FormRenderer/helpers/getNextPageId.js +19 -34
  47. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
  48. package/dist/components/FormRenderer/helpers/getPage.js +3 -6
  49. package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
  50. package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -13
  51. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
  52. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +12 -13
  53. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +98 -92
  54. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +66 -66
  55. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +72 -79
  56. package/dist/components/FormRenderer/helpers/index.js +3 -4
  57. package/dist/components/FormRenderer/index.js +2 -3
  58. package/dist/components/FormRenderer/onCYAAction.js +52 -62
  59. package/dist/components/FormRenderer/onCYAAction.test.js +146 -138
  60. package/dist/components/FormRenderer/onPageAction.js +48 -47
  61. package/dist/components/FormRenderer/onPageAction.test.js +219 -205
  62. package/dist/components/FormRenderer/onTaskAction.js +12 -17
  63. package/dist/components/FormRenderer/onTaskAction.test.js +94 -89
  64. package/dist/components/PageActions/ActionButton.js +15 -19
  65. package/dist/components/PageActions/ActionButton.test.js +58 -79
  66. package/dist/components/PageActions/PageActions.js +12 -13
  67. package/dist/components/PageActions/PageActions.test.js +88 -116
  68. package/dist/components/PageActions/index.js +2 -3
  69. package/dist/components/SummaryList/GroupAction.js +15 -23
  70. package/dist/components/SummaryList/GroupAction.test.js +41 -37
  71. package/dist/components/SummaryList/RowAction.js +14 -19
  72. package/dist/components/SummaryList/RowAction.test.js +41 -37
  73. package/dist/components/SummaryList/SummaryList.js +25 -30
  74. package/dist/components/SummaryList/SummaryList.test.js +160 -182
  75. package/dist/components/SummaryList/SummaryListHeadingRow.js +9 -8
  76. package/dist/components/SummaryList/SummaryListRow.js +9 -8
  77. package/dist/components/SummaryList/SummaryListTitleRow.js +8 -7
  78. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -8
  79. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +24 -24
  80. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -8
  81. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +24 -24
  82. package/dist/components/SummaryList/helpers/index.js +2 -2
  83. package/dist/components/SummaryList/index.js +2 -3
  84. package/dist/components/TaskList/Task.js +22 -33
  85. package/dist/components/TaskList/Task.test.js +84 -77
  86. package/dist/components/TaskList/TaskList.js +46 -75
  87. package/dist/components/TaskList/TaskList.test.js +118 -113
  88. package/dist/components/TaskList/TaskState.js +9 -9
  89. package/dist/components/TaskList/TaskState.test.js +56 -49
  90. package/dist/components/TaskList/index.js +2 -3
  91. package/dist/components/index.js +8 -8
  92. package/dist/context/HooksContext/HooksContext.js +59 -85
  93. package/dist/context/HooksContext/HooksContext.test.js +28 -36
  94. package/dist/context/HooksContext/index.js +4 -6
  95. package/dist/context/ValidationContext/ValidationContext.js +35 -76
  96. package/dist/context/ValidationContext/ValidationContext.test.js +50 -61
  97. package/dist/context/ValidationContext/index.js +4 -6
  98. package/dist/context/index.js +3 -3
  99. package/dist/hooks/index.js +10 -11
  100. package/dist/hooks/useAxios.js +17 -43
  101. package/dist/hooks/useGetRequest.js +61 -106
  102. package/dist/hooks/useHooks.js +2 -5
  103. package/dist/hooks/useRefData.js +29 -45
  104. package/dist/hooks/useValidation.js +2 -5
  105. package/dist/index.js +15 -17
  106. package/dist/models/CollectionLabels.js +2 -3
  107. package/dist/models/ComponentTypes.js +25 -26
  108. package/dist/models/EventTypes.js +5 -6
  109. package/dist/models/FormPages.js +5 -6
  110. package/dist/models/FormTypes.js +9 -10
  111. package/dist/models/HubFormats.js +4 -5
  112. package/dist/models/PageAction.js +45 -42
  113. package/dist/models/TaskStates.js +30 -31
  114. package/dist/models/index.js +11 -12
  115. package/dist/setupTests.js +20 -24
  116. package/dist/utils/CheckYourAnswers/getCYAAction.js +6 -7
  117. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
  118. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +18 -20
  119. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +21 -23
  120. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +17 -21
  121. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +18 -20
  122. package/dist/utils/CheckYourAnswers/getCYARow.js +8 -10
  123. package/dist/utils/CheckYourAnswers/getCYARow.test.js +72 -72
  124. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +20 -27
  125. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
  126. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +41 -47
  127. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +72 -75
  128. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +71 -78
  129. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +133 -114
  130. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +27 -23
  131. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
  132. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +16 -23
  133. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +77 -83
  134. package/dist/utils/CheckYourAnswers/index.js +3 -4
  135. package/dist/utils/CheckYourAnswers/showComponentCYA.js +7 -9
  136. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
  137. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +9 -16
  138. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +19 -20
  139. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +4 -8
  140. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +15 -15
  141. package/dist/utils/CollectionPage/index.js +3 -4
  142. package/dist/utils/CollectionPage/mergeCollectionPages.js +26 -29
  143. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +15 -15
  144. package/dist/utils/Component/addShowWhen.js +5 -10
  145. package/dist/utils/Component/addShowWhen.test.js +38 -38
  146. package/dist/utils/Component/applyToComponentTree.js +20 -22
  147. package/dist/utils/Component/applyToComponentTree.test.js +28 -33
  148. package/dist/utils/Component/cleanAttributes.js +11 -16
  149. package/dist/utils/Component/cleanAttributes.test.js +17 -18
  150. package/dist/utils/Component/elevateNestedComponents.js +7 -9
  151. package/dist/utils/Component/elevateNestedComponents.test.js +19 -19
  152. package/dist/utils/Component/getComponent.js +91 -99
  153. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
  154. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +51 -63
  155. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +41 -49
  156. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -37
  157. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +21 -19
  158. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +19 -23
  159. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +23 -27
  160. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +12 -11
  161. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +18 -16
  162. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +10 -9
  163. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +18 -16
  164. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +24 -27
  165. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +156 -175
  166. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +18 -16
  167. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +19 -23
  168. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +59 -73
  169. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +19 -23
  170. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +19 -23
  171. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +35 -41
  172. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +24 -32
  173. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
  174. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +10 -9
  175. package/dist/utils/Component/getDefaultValue.js +7 -9
  176. package/dist/utils/Component/getDefaultValue.test.js +14 -14
  177. package/dist/utils/Component/index.js +3 -4
  178. package/dist/utils/Component/isEditable.js +3 -7
  179. package/dist/utils/Component/isEditable.test.js +14 -15
  180. package/dist/utils/Component/optionIsSelected.js +2 -3
  181. package/dist/utils/Component/optionIsSelected.test.js +10 -10
  182. package/dist/utils/Component/setupContainerComponentsPath.js +30 -33
  183. package/dist/utils/Component/setupContainerComponentsPath.test.js +16 -16
  184. package/dist/utils/Component/showComponent.js +4 -6
  185. package/dist/utils/Component/showComponent.test.js +29 -29
  186. package/dist/utils/Component/wrapInFormGroup.js +6 -6
  187. package/dist/utils/Condition/index.js +3 -4
  188. package/dist/utils/Condition/meetsAllConditions.js +9 -10
  189. package/dist/utils/Condition/meetsAllConditions.test.js +18 -18
  190. package/dist/utils/Condition/meetsCondition.js +19 -27
  191. package/dist/utils/Condition/meetsCondition.test.js +377 -377
  192. package/dist/utils/Condition/meetsOneCondition.js +7 -8
  193. package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
  194. package/dist/utils/Condition/setupConditions.js +15 -21
  195. package/dist/utils/Condition/setupConditions.test.js +8 -8
  196. package/dist/utils/Container/getEditableComponents.js +5 -8
  197. package/dist/utils/Container/getEditableComponents.test.js +44 -46
  198. package/dist/utils/Container/index.js +3 -4
  199. package/dist/utils/Container/setupNesting.js +17 -24
  200. package/dist/utils/Container/setupNesting.test.js +28 -31
  201. package/dist/utils/Container/showContainer.js +5 -10
  202. package/dist/utils/Container/showContainer.test.js +31 -31
  203. package/dist/utils/Data/applyFormula.js +41 -52
  204. package/dist/utils/Data/applyFormula.test.js +26 -26
  205. package/dist/utils/Data/getAutocompleteSource.js +11 -14
  206. package/dist/utils/Data/getAutocompleteSource.test.js +59 -59
  207. package/dist/utils/Data/getDataPath.js +21 -32
  208. package/dist/utils/Data/getDataPath.test.js +20 -20
  209. package/dist/utils/Data/getOptions.js +22 -28
  210. package/dist/utils/Data/getOptions.test.js +21 -21
  211. package/dist/utils/Data/getSourceData.js +7 -21
  212. package/dist/utils/Data/getSourceData.test.js +85 -81
  213. package/dist/utils/Data/index.js +3 -4
  214. package/dist/utils/Data/refDataToOptions.js +12 -17
  215. package/dist/utils/Data/refDataToOptions.test.js +20 -20
  216. package/dist/utils/Data/setDataItem.js +8 -10
  217. package/dist/utils/Data/setDataItem.test.js +38 -38
  218. package/dist/utils/Data/setupFormData.js +32 -48
  219. package/dist/utils/Data/setupFormData.test.js +99 -98
  220. package/dist/utils/Data/setupRefDataUrlForComponent.js +22 -30
  221. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +28 -28
  222. package/dist/utils/FormPage/applyConditionalProperties.js +7 -12
  223. package/dist/utils/FormPage/applyConditionalProperties.test.js +16 -19
  224. package/dist/utils/FormPage/getFormPage.js +17 -19
  225. package/dist/utils/FormPage/getFormPage.test.js +49 -48
  226. package/dist/utils/FormPage/getFormPages.js +9 -15
  227. package/dist/utils/FormPage/getFormPages.test.js +22 -25
  228. package/dist/utils/FormPage/getPageActions.js +11 -19
  229. package/dist/utils/FormPage/getPageActions.test.js +33 -33
  230. package/dist/utils/FormPage/getParagraphFromText.js +6 -9
  231. package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
  232. package/dist/utils/FormPage/index.js +3 -4
  233. package/dist/utils/FormPage/showFormPage.js +5 -10
  234. package/dist/utils/FormPage/showFormPage.test.js +33 -33
  235. package/dist/utils/FormPage/showFormPageCYA.js +4 -5
  236. package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
  237. package/dist/utils/FormPage/useComponent.js +21 -29
  238. package/dist/utils/FormPage/useComponent.test.js +71 -73
  239. package/dist/utils/Format/formatData.js +2 -3
  240. package/dist/utils/Format/formatData.test.js +19 -19
  241. package/dist/utils/Format/formatDataForComponent.js +6 -9
  242. package/dist/utils/Format/formatDataForComponent.test.js +50 -78
  243. package/dist/utils/Format/formatDataForForm.js +7 -10
  244. package/dist/utils/Format/formatDataForForm.test.js +14 -17
  245. package/dist/utils/Format/formatDataForPage.js +4 -7
  246. package/dist/utils/Format/formatDataForPage.test.js +20 -25
  247. package/dist/utils/Format/index.js +3 -4
  248. package/dist/utils/Hub/getFormHub.js +3 -4
  249. package/dist/utils/Hub/getFormHub.test.js +29 -32
  250. package/dist/utils/Hub/index.js +3 -4
  251. package/dist/utils/Meta/constants.js +2 -4
  252. package/dist/utils/Meta/documents/getDocuments.js +2 -6
  253. package/dist/utils/Meta/documents/getDocuments.test.js +25 -17
  254. package/dist/utils/Meta/documents/index.js +3 -4
  255. package/dist/utils/Meta/documents/setDocumentsForField.js +16 -19
  256. package/dist/utils/Meta/documents/setDocumentsForField.test.js +69 -35
  257. package/dist/utils/Meta/index.js +3 -4
  258. package/dist/utils/Operate/checkValueIsTruthy.js +5 -6
  259. package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
  260. package/dist/utils/Operate/getFirstOf.js +9 -10
  261. package/dist/utils/Operate/getFirstOf.test.js +33 -33
  262. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +13 -14
  263. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
  264. package/dist/utils/Operate/index.js +3 -4
  265. package/dist/utils/Operate/persistValueInFormData.js +7 -8
  266. package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
  267. package/dist/utils/Operate/runPageOperations.js +10 -11
  268. package/dist/utils/Operate/runPageOperations.test.js +36 -37
  269. package/dist/utils/Operate/setValueInFormData.js +6 -7
  270. package/dist/utils/Operate/setValueInFormData.test.js +17 -17
  271. package/dist/utils/Operate/shouldRun.js +9 -10
  272. package/dist/utils/Operate/shouldRun.test.js +22 -28
  273. package/dist/utils/Validate/additional/conditionallyRequired.js +5 -7
  274. package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
  275. package/dist/utils/Validate/additional/index.js +8 -9
  276. package/dist/utils/Validate/additional/index.test.js +13 -13
  277. package/dist/utils/Validate/additional/mustBeAfter.js +4 -5
  278. package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
  279. package/dist/utils/Validate/additional/mustBeBefore.js +4 -5
  280. package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
  281. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +8 -14
  282. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +34 -38
  283. package/dist/utils/Validate/additional/mustBeGreaterThan.js +3 -4
  284. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
  285. package/dist/utils/Validate/additional/mustBeInTheFuture.js +5 -6
  286. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
  287. package/dist/utils/Validate/additional/mustBeInThePast.js +6 -7
  288. package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
  289. package/dist/utils/Validate/additional/mustBeLessThan.js +3 -4
  290. package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
  291. package/dist/utils/Validate/additional/mustBeLongerThan.js +2 -3
  292. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
  293. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +3 -4
  294. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
  295. package/dist/utils/Validate/additional/mustBeShorterThan.js +2 -3
  296. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
  297. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +4 -7
  298. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +15 -17
  299. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +2 -3
  300. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
  301. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +4 -7
  302. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
  303. package/dist/utils/Validate/additional/utils.js +9 -25
  304. package/dist/utils/Validate/index.js +3 -4
  305. package/dist/utils/Validate/validateCollection.js +22 -29
  306. package/dist/utils/Validate/validateCollection.test.js +85 -77
  307. package/dist/utils/Validate/validateComponent.js +19 -19
  308. package/dist/utils/Validate/validateComponent.test.js +169 -147
  309. package/dist/utils/Validate/validateContainer.js +16 -22
  310. package/dist/utils/Validate/validateContainer.test.js +52 -48
  311. package/dist/utils/Validate/validateDate.js +14 -21
  312. package/dist/utils/Validate/validateDate.test.js +28 -29
  313. package/dist/utils/Validate/validateEmail.js +8 -11
  314. package/dist/utils/Validate/validateEmail.test.js +26 -26
  315. package/dist/utils/Validate/validateMultifile.js +6 -10
  316. package/dist/utils/Validate/validateMultifile.test.js +17 -18
  317. package/dist/utils/Validate/validatePage.js +20 -22
  318. package/dist/utils/Validate/validatePage.test.js +146 -143
  319. package/dist/utils/Validate/validateRegex.js +6 -10
  320. package/dist/utils/Validate/validateRegex.test.js +17 -17
  321. package/dist/utils/Validate/validateRequired.js +6 -9
  322. package/dist/utils/Validate/validateRequired.test.js +19 -19
  323. package/dist/utils/Validate/validateTextArea.js +6 -9
  324. package/dist/utils/Validate/validateTextArea.test.js +21 -21
  325. package/dist/utils/Validate/validateTime.js +8 -16
  326. package/dist/utils/Validate/validateTime.test.js +15 -15
  327. package/dist/utils/index.js +10 -12
  328. package/package.json +9 -6
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
@@ -13,58 +12,39 @@ var _models = require("../../models");
13
12
  var _Task = _interopRequireDefault(require("./Task"));
14
13
  var _showComponent = _interopRequireDefault(require("../../utils/Component/showComponent"));
15
14
  require("./TaskList.scss");
16
- var _excluded = ["id", "refTitle", "refNumber", "notes", "incompleteTitle", "sections", "fieldId", "onTaskAction", "classBlock", "classModifiers", "className", "formData"];
17
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
- 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); }
21
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
22
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
23
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
24
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
25
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
26
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
27
- 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; }
28
- 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; }
29
- var DEFAULT_CLASS = 'hods-task-list';
30
- exports.DEFAULT_CLASS = DEFAULT_CLASS;
31
- var DEFAULT_INCOMPLETE_TITLE = 'Incomplete form';
32
- exports.DEFAULT_INCOMPLETE_TITLE = DEFAULT_INCOMPLETE_TITLE;
33
- var TaskList = function TaskList(_ref) {
34
- var id = _ref.id,
35
- refTitle = _ref.refTitle,
36
- refNumber = _ref.refNumber,
37
- notes = _ref.notes,
38
- incompleteTitle = _ref.incompleteTitle,
39
- sections = _ref.sections,
40
- fieldId = _ref.fieldId,
41
- onTaskAction = _ref.onTaskAction,
42
- classBlock = _ref.classBlock,
43
- classModifiers = _ref.classModifiers,
44
- className = _ref.className,
45
- formData = _ref.formData,
46
- attrs = _objectWithoutProperties(_ref, _excluded);
47
- var classes = _copReactComponents.Utils.classBuilder(classBlock, classModifiers, className);
15
+ 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); }
16
+ 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; }
17
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
+ 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); } /* eslint-disable import/no-duplicates */ // Global Imports
19
+ // Local Imports
20
+ const DEFAULT_CLASS = exports.DEFAULT_CLASS = 'hods-task-list';
21
+ const DEFAULT_INCOMPLETE_TITLE = exports.DEFAULT_INCOMPLETE_TITLE = 'Incomplete form';
22
+ const TaskList = _ref => {
23
+ let {
24
+ id,
25
+ refTitle,
26
+ refNumber,
27
+ notes,
28
+ incompleteTitle,
29
+ sections,
30
+ fieldId,
31
+ onTaskAction,
32
+ classBlock,
33
+ classModifiers,
34
+ className,
35
+ formData,
36
+ ...attrs
37
+ } = _ref;
38
+ const classes = _copReactComponents.Utils.classBuilder(classBlock, classModifiers, className);
48
39
 
49
40
  // TODO state will be retrieved from a document in S3 rather than given in the component definition, covered under COP-9885
50
- var _sections$filter$redu = sections.filter(function (section) {
51
- return !section.skipped;
52
- }).reduce(function (acc, current) {
53
- var _current$tasks$filter, _current$tasks, _current$tasks$filter2, _current$tasks2;
54
- return [acc[0] + ((_current$tasks$filter = (_current$tasks = current.tasks) === null || _current$tasks === void 0 ? void 0 : _current$tasks.filter(function (t) {
55
- return t.state === _models.TaskStates.TYPES.COMPLETE;
56
- }).length) !== null && _current$tasks$filter !== void 0 ? _current$tasks$filter : 0), acc[1] + ((_current$tasks$filter2 = (_current$tasks2 = current.tasks) === null || _current$tasks2 === void 0 ? void 0 : _current$tasks2.filter(function (task) {
57
- return task.state !== _models.TaskStates.TYPES.SKIPPED;
58
- }).length) !== null && _current$tasks$filter2 !== void 0 ? _current$tasks$filter2 : 0)];
59
- }, [0, 0]),
60
- _sections$filter$redu2 = _slicedToArray(_sections$filter$redu, 2),
61
- completeSections = _sections$filter$redu2[0],
62
- totalSections = _sections$filter$redu2[1];
63
- var notesId = "".concat(id, "Notes");
64
- var _ref2 = notes && notes || {},
65
- notesTitle = _ref2.title,
66
- notesText = _ref2.text;
67
- var onClick = function onClick(task) {
41
+ const [completeSections, totalSections] = sections.filter(section => !section.skipped).reduce((acc, current) => [acc[0] + (current.tasks?.filter(t => t.state === _models.TaskStates.TYPES.COMPLETE).length ?? 0), acc[1] + (current.tasks?.filter(task => task.state !== _models.TaskStates.TYPES.SKIPPED).length ?? 0)], [0, 0]);
42
+ const notesId = `${id}Notes`;
43
+ const {
44
+ title: notesTitle,
45
+ text: notesText
46
+ } = notes && notes || {};
47
+ const onClick = task => {
68
48
  if (typeof onTaskAction === 'function') {
69
49
  onTaskAction(task);
70
50
  }
@@ -77,15 +57,15 @@ var TaskList = function TaskList(_ref) {
77
57
  className: "govuk-body govuk-!-margin-bottom-0"
78
58
  }, /*#__PURE__*/_react.default.createElement("strong", {
79
59
  className: "tasklist-summary"
80
- }, "".concat(refTitle))), /*#__PURE__*/_react.default.createElement("p", {
60
+ }, `${refTitle}`)), /*#__PURE__*/_react.default.createElement("p", {
81
61
  className: "govuk-body govuk-!-font-weight-regular"
82
- }, "".concat(refNumber))), totalSections !== completeSections && /*#__PURE__*/_react.default.createElement("p", {
62
+ }, `${refNumber}`)), totalSections !== completeSections && /*#__PURE__*/_react.default.createElement("p", {
83
63
  className: "govuk-body govuk-!-margin-bottom-0"
84
64
  }, /*#__PURE__*/_react.default.createElement("strong", {
85
65
  className: "tasklist-summary"
86
66
  }, incompleteTitle)), /*#__PURE__*/_react.default.createElement("p", {
87
67
  className: "govuk-body govuk-!-margin-bottom-7"
88
- }, "You have completed ".concat(completeSections, " of ").concat(totalSections, " sections")), notesTitle && notesText && (0, _showComponent.default)(notes, formData) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("p", {
68
+ }, `You have completed ${completeSections} of ${totalSections} sections`), notesTitle && notesText && (0, _showComponent.default)(notes, formData) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("p", {
89
69
  className: "govuk-body govuk-!-margin-bottom-0"
90
70
  }, /*#__PURE__*/_react.default.createElement("strong", {
91
71
  className: "tasklist-summary"
@@ -94,25 +74,17 @@ var TaskList = function TaskList(_ref) {
94
74
  fieldId: notesId,
95
75
  readOnly: true,
96
76
  value: _copReactComponents.Utils.interpolateString(notesText, formData)
97
- })), sections.filter(function (section) {
98
- return !section.skipped;
99
- }).map(function (section, index) {
100
- return /*#__PURE__*/_react.default.createElement(_react.Fragment, {
101
- key: "".concat(section.name)
102
- }, /*#__PURE__*/_react.default.createElement("h2", {
103
- className: classes('section')
104
- }, sections.length > 1 ? "".concat(index + 1, ". ") : '', section.name), /*#__PURE__*/_react.default.createElement("ol", {
105
- className: classes('items')
106
- }, /*#__PURE__*/_react.default.createElement(_dist.Hint, null, section.label ? section.label : ''), section.tasks.filter(function (task) {
107
- return task.state !== _models.TaskStates.TYPES.SKIPPED;
108
- }).map(function (task) {
109
- return /*#__PURE__*/_react.default.createElement(_Task.default, {
110
- key: "".concat(section.name, "-").concat(task.name),
111
- task: task,
112
- onClick: onClick
113
- });
114
- })));
115
- }));
77
+ })), sections.filter(section => !section.skipped).map((section, index) => /*#__PURE__*/_react.default.createElement(_react.Fragment, {
78
+ key: `${section.name}`
79
+ }, /*#__PURE__*/_react.default.createElement("h2", {
80
+ className: classes('section')
81
+ }, sections.length > 1 ? `${index + 1}. ` : '', section.name), /*#__PURE__*/_react.default.createElement("ol", {
82
+ className: classes('items')
83
+ }, /*#__PURE__*/_react.default.createElement(_dist.Hint, null, section.label ? section.label : ''), section.tasks.filter(task => task.state !== _models.TaskStates.TYPES.SKIPPED).map(task => /*#__PURE__*/_react.default.createElement(_Task.default, {
84
+ key: `${section.name}-${task.name}`,
85
+ task: task,
86
+ onClick: onClick
87
+ }))))));
116
88
  };
117
89
  TaskList.propTypes = {
118
90
  classBlock: _propTypes.default.string,
@@ -155,5 +127,4 @@ TaskList.defaultProps = {
155
127
  refNumber: undefined,
156
128
  refTitle: undefined
157
129
  };
158
- var _default = TaskList;
159
- exports.default = _default;
130
+ var _default = exports.default = TaskList;
@@ -1,24 +1,21 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
3
  var _react = require("@testing-library/react");
5
4
  var _react2 = _interopRequireDefault(require("react"));
6
5
  var _TaskList = _interopRequireWildcard(require("./TaskList"));
7
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
8
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
11
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
12
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
13
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
14
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
15
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
16
- describe('components', function () {
17
- describe('TaskList', function () {
18
- it('should render a TaskList', function () {
19
- var COP_REF = '123';
20
- var REF_TITLE = 'COP reference number';
21
- var sections = [{
6
+ 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); }
7
+ 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; }
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
+ // Global imports
10
+
11
+ // Local imports
12
+
13
+ describe('components', () => {
14
+ describe('TaskList', () => {
15
+ it('should render a TaskList', () => {
16
+ const COP_REF = '123';
17
+ const REF_TITLE = 'COP reference number';
18
+ const sections = [{
22
19
  name: 'These are your tasks',
23
20
  label: 'This is the label for your first tasks',
24
21
  tasks: [{
@@ -51,24 +48,19 @@ describe('components', function () {
51
48
  pages: ['pageSix']
52
49
  }]
53
50
  }];
54
- var _render = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_TaskList.default, {
55
- refNumber: COP_REF,
56
- refTitle: REF_TITLE,
57
- sections: sections
58
- })),
59
- container = _render.container;
60
- var childNodes = container.childNodes;
51
+ const {
52
+ container
53
+ } = (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_TaskList.default, {
54
+ refNumber: COP_REF,
55
+ refTitle: REF_TITLE,
56
+ sections: sections
57
+ }));
58
+ const {
59
+ childNodes
60
+ } = container;
61
61
  expect(childNodes.length).toEqual(1);
62
62
  expect(childNodes[0].childNodes.length).toEqual(8);
63
- var _childNodes$0$childNo = _slicedToArray(childNodes[0].childNodes, 8),
64
- referenceHeading = _childNodes$0$childNo[0],
65
- referenceNumber = _childNodes$0$childNo[1],
66
- incompleteForm = _childNodes$0$childNo[2],
67
- numComplete = _childNodes$0$childNo[3],
68
- subSectionOneHeading = _childNodes$0$childNo[4],
69
- subSectionOneList = _childNodes$0$childNo[5],
70
- subSectionTwoHeading = _childNodes$0$childNo[6],
71
- subSectionTwoList = _childNodes$0$childNo[7];
63
+ const [referenceHeading, referenceNumber, incompleteForm, numComplete, subSectionOneHeading, subSectionOneList, subSectionTwoHeading, subSectionTwoList] = childNodes[0].childNodes;
72
64
  expect(referenceHeading).toMatchObject({
73
65
  tagName: 'P',
74
66
  textContent: 'COP reference number'
@@ -95,15 +87,15 @@ describe('components', function () {
95
87
  textContent: '2. These are your extra bonus tasks'
96
88
  });
97
89
  expect(subSectionTwoList.childNodes.length).toEqual(4);
98
- var subSectionOneLabel = childNodes[0].childNodes[5].firstChild;
90
+ const subSectionOneLabel = childNodes[0].childNodes[5].firstChild;
99
91
  expect(subSectionOneLabel.textContent).toEqual('This is the label for your first tasks');
100
- var subSectionTwoLabel = childNodes[0].childNodes[7].firstChild;
92
+ const subSectionTwoLabel = childNodes[0].childNodes[7].firstChild;
101
93
  expect(subSectionTwoLabel.textContent).toEqual('This is the label for your extra tasks');
102
94
  });
103
- it('should not show incomplete title if form is complete', function () {
104
- var COP_REF = '123';
105
- var REF_TITLE = 'COP reference number';
106
- var sections = [{
95
+ it('should not show incomplete title if form is complete', () => {
96
+ const COP_REF = '123';
97
+ const REF_TITLE = 'COP reference number';
98
+ const sections = [{
107
99
  name: 'These are your tasks',
108
100
  tasks: [{
109
101
  name: 'Nice task',
@@ -134,18 +126,18 @@ describe('components', function () {
134
126
  pages: ['pageSix']
135
127
  }]
136
128
  }];
137
- var _render2 = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_TaskList.default, {
138
- refNumber: COP_REF,
139
- refTitle: REF_TITLE,
140
- sections: sections
141
- })),
142
- container = _render2.container;
143
- var childNodes = container.childNodes;
129
+ const {
130
+ container
131
+ } = (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_TaskList.default, {
132
+ refNumber: COP_REF,
133
+ refTitle: REF_TITLE,
134
+ sections: sections
135
+ }));
136
+ const {
137
+ childNodes
138
+ } = container;
144
139
  expect(childNodes[0].childNodes.length).toEqual(7);
145
- var _childNodes$0$childNo2 = _slicedToArray(childNodes[0].childNodes, 3),
146
- referenceHeading = _childNodes$0$childNo2[0],
147
- referenceNumber = _childNodes$0$childNo2[1],
148
- numComplete = _childNodes$0$childNo2[2];
140
+ const [referenceHeading, referenceNumber, numComplete] = childNodes[0].childNodes;
149
141
  expect(referenceHeading).toMatchObject({
150
142
  tagName: 'P',
151
143
  textContent: 'COP reference number'
@@ -159,10 +151,10 @@ describe('components', function () {
159
151
  textContent: 'You have completed 6 of 6 sections'
160
152
  });
161
153
  });
162
- it('should not show numbers on section headings if there is only one section', function () {
163
- var COP_REF = '123';
164
- var REF_TITLE = 'COP reference number';
165
- var sections = [{
154
+ it('should not show numbers on section headings if there is only one section', () => {
155
+ const COP_REF = '123';
156
+ const REF_TITLE = 'COP reference number';
157
+ const sections = [{
166
158
  name: 'These are your tasks',
167
159
  tasks: [{
168
160
  name: 'Nice task',
@@ -178,20 +170,23 @@ describe('components', function () {
178
170
  pages: ['pageThree']
179
171
  }]
180
172
  }];
181
- var _render3 = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_TaskList.default, {
182
- refNumber: COP_REF,
183
- refTitle: REF_TITLE,
184
- sections: sections
185
- })),
186
- container = _render3.container;
187
- var childNodes = container.childNodes;
188
- var subSectionOne = childNodes[0].childNodes[4];
173
+ const {
174
+ container
175
+ } = (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_TaskList.default, {
176
+ refNumber: COP_REF,
177
+ refTitle: REF_TITLE,
178
+ sections: sections
179
+ }));
180
+ const {
181
+ childNodes
182
+ } = container;
183
+ const subSectionOne = childNodes[0].childNodes[4];
189
184
  expect(subSectionOne.childNodes[0].textContent).toEqual('');
190
185
  expect(subSectionOne.childNodes[1].textContent).toEqual('These are your tasks');
191
186
  });
192
- it('should not display the reference if there is no reference title', function () {
193
- var COP_REF = '123';
194
- var sections = [{
187
+ it('should not display the reference if there is no reference title', () => {
188
+ const COP_REF = '123';
189
+ const sections = [{
195
190
  name: 'These are your tasks',
196
191
  tasks: [{
197
192
  name: 'Nice task',
@@ -222,26 +217,29 @@ describe('components', function () {
222
217
  pages: ['pageSix']
223
218
  }]
224
219
  }];
225
- var _render4 = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_TaskList.default, {
226
- refNumber: COP_REF,
227
- sections: sections
228
- })),
229
- container = _render4.container;
230
- var childNodes = container.childNodes;
220
+ const {
221
+ container
222
+ } = (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_TaskList.default, {
223
+ refNumber: COP_REF,
224
+ sections: sections
225
+ }));
226
+ const {
227
+ childNodes
228
+ } = container;
231
229
  expect(childNodes.length).toEqual(1);
232
230
  expect(childNodes[0].childNodes.length).toEqual(6);
233
231
 
234
232
  // The first child is now the incomplete text.
235
- var incompleteForm = childNodes[0].childNodes[0];
233
+ const incompleteForm = childNodes[0].childNodes[0];
236
234
  expect(incompleteForm).toMatchObject({
237
235
  tagName: 'P',
238
236
  textContent: _TaskList.DEFAULT_INCOMPLETE_TITLE
239
237
  });
240
238
  });
241
- it('should show the correct incomplete title', function () {
242
- var INCOMPLETE_TITLE = 'Alpha Bravo';
243
- var COP_REF = '123';
244
- var sections = [{
239
+ it('should show the correct incomplete title', () => {
240
+ const INCOMPLETE_TITLE = 'Alpha Bravo';
241
+ const COP_REF = '123';
242
+ const sections = [{
245
243
  name: 'These are your tasks',
246
244
  tasks: [{
247
245
  name: 'Nice task',
@@ -272,21 +270,24 @@ describe('components', function () {
272
270
  pages: ['pageSix']
273
271
  }]
274
272
  }];
275
- var _render5 = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_TaskList.default, {
276
- refNumber: COP_REF,
277
- sections: sections,
278
- incompleteTitle: INCOMPLETE_TITLE
279
- })),
280
- container = _render5.container;
281
- var childNodes = container.childNodes;
273
+ const {
274
+ container
275
+ } = (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_TaskList.default, {
276
+ refNumber: COP_REF,
277
+ sections: sections,
278
+ incompleteTitle: INCOMPLETE_TITLE
279
+ }));
280
+ const {
281
+ childNodes
282
+ } = container;
282
283
  // The first child is now the incomplete text.
283
- var incompleteForm = childNodes[0].childNodes[0];
284
+ const incompleteForm = childNodes[0].childNodes[0];
284
285
  expect(incompleteForm.textContent).toEqual(INCOMPLETE_TITLE);
285
286
  });
286
- it('should not show skipped sections', function () {
287
- var INCOMPLETE_TITLE = 'Alpha Bravo';
288
- var COP_REF = '123';
289
- var sections = [{
287
+ it('should not show skipped sections', () => {
288
+ const INCOMPLETE_TITLE = 'Alpha Bravo';
289
+ const COP_REF = '123';
290
+ const sections = [{
290
291
  name: 'These are your tasks',
291
292
  skipped: true,
292
293
  tasks: [{
@@ -318,29 +319,32 @@ describe('components', function () {
318
319
  pages: ['pageSix']
319
320
  }]
320
321
  }];
321
- var _render6 = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_TaskList.default, {
322
- refNumber: COP_REF,
323
- sections: sections,
324
- incompleteTitle: INCOMPLETE_TITLE
325
- })),
326
- container = _render6.container;
327
- var childNodes = container.childNodes;
322
+ const {
323
+ container
324
+ } = (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_TaskList.default, {
325
+ refNumber: COP_REF,
326
+ sections: sections,
327
+ incompleteTitle: INCOMPLETE_TITLE
328
+ }));
329
+ const {
330
+ childNodes
331
+ } = container;
328
332
  expect(childNodes.length).toEqual(1);
329
- var children = childNodes[0].childNodes;
333
+ const children = childNodes[0].childNodes;
330
334
  expect(children.length).toEqual(4);
331
335
  expect(children[0].textContent).toEqual(INCOMPLETE_TITLE);
332
336
  expect(children[1].textContent).toEqual('You have completed 1 of 3 sections');
333
- expect(children[2].textContent).toEqual("1. ".concat(sections[1].name));
337
+ expect(children[2].textContent).toEqual(`1. ${sections[1].name}`);
334
338
  });
335
339
  });
336
- it('should pass the selected task to the given onTaskAction function', function () {
337
- var COP_REF = '123';
338
- var REF_TITLE = 'COP reference number';
339
- var ON_CLICK_CALLS = [];
340
- var ON_CLICK = function ON_CLICK(value) {
340
+ it('should pass the selected task to the given onTaskAction function', () => {
341
+ const COP_REF = '123';
342
+ const REF_TITLE = 'COP reference number';
343
+ const ON_CLICK_CALLS = [];
344
+ const ON_CLICK = value => {
341
345
  ON_CLICK_CALLS.push(value);
342
346
  };
343
- var sections = [{
347
+ const sections = [{
344
348
  name: 'These are your tasks',
345
349
  tasks: [{
346
350
  name: 'Nice task',
@@ -356,17 +360,18 @@ describe('components', function () {
356
360
  pages: ['pageThree']
357
361
  }]
358
362
  }];
359
- var _render7 = (0, _react.render)( /*#__PURE__*/_react2.default.createElement(_TaskList.default, {
360
- refNumber: COP_REF,
361
- refTitle: REF_TITLE,
362
- sections: sections,
363
- onTaskAction: ON_CLICK
364
- })),
365
- container = _render7.container;
366
- var taskList = container.childNodes[0].childNodes[5].childNodes;
367
- var firstTask = taskList[1].childNodes[0].childNodes[0];
368
- var secondTask = taskList[2].childNodes[0].childNodes[0];
369
- var thirdTask = taskList[3].childNodes[0].childNodes[0];
363
+ const {
364
+ container
365
+ } = (0, _react.render)(/*#__PURE__*/_react2.default.createElement(_TaskList.default, {
366
+ refNumber: COP_REF,
367
+ refTitle: REF_TITLE,
368
+ sections: sections,
369
+ onTaskAction: ON_CLICK
370
+ }));
371
+ const taskList = container.childNodes[0].childNodes[5].childNodes;
372
+ const firstTask = taskList[1].childNodes[0].childNodes[0];
373
+ const secondTask = taskList[2].childNodes[0].childNodes[0];
374
+ const thirdTask = taskList[3].childNodes[0].childNodes[0];
370
375
  _react.fireEvent.click(firstTask.childNodes[0]);
371
376
  expect(ON_CLICK_CALLS[0]).toEqual({
372
377
  pages: ['pageOne'],
@@ -8,17 +8,18 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _copReactComponents = require("@ukhomeoffice/cop-react-components");
10
10
  var _models = require("../../models");
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 DEFAULT_CLASS = 'hods-task-list';
17
- exports.DEFAULT_CLASS = DEFAULT_CLASS;
18
- var TaskState = function TaskState(_ref) {
19
- var state = _ref.state;
20
- var classes = _copReactComponents.Utils.classBuilder(DEFAULT_CLASS, undefined, undefined);
21
- var details = _models.TaskStates.DETAILS[state] || _models.TaskStates.DETAILS.cannotStartYet;
16
+ const DEFAULT_CLASS = exports.DEFAULT_CLASS = 'hods-task-list';
17
+ const TaskState = _ref => {
18
+ let {
19
+ state
20
+ } = _ref;
21
+ const classes = _copReactComponents.Utils.classBuilder(DEFAULT_CLASS, undefined, undefined);
22
+ const details = _models.TaskStates.DETAILS[state] || _models.TaskStates.DETAILS.cannotStartYet;
22
23
  return /*#__PURE__*/_react.default.createElement(_copReactComponents.Tag, {
23
24
  classModifiers: details.colour,
24
25
  className: classes('tag')
@@ -30,5 +31,4 @@ TaskState.propTypes = {
30
31
  TaskState.defaultProps = {
31
32
  state: _models.TaskStates.TYPES.CANNOT_START_YET
32
33
  };
33
- var _default = TaskState;
34
- exports.default = _default;
34
+ var _default = exports.default = TaskState;