@ukhomeoffice/cop-react-form-renderer 4.67.0 → 4.69.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (317) hide show
  1. package/dist/components/CheckYourAnswers/Answer.js +6 -16
  2. package/dist/components/CheckYourAnswers/Answer.test.js +104 -129
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +26 -64
  4. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +428 -555
  5. package/dist/components/CheckYourAnswers/index.js +0 -3
  6. package/dist/components/CollectionPage/CollectionPage.js +13 -42
  7. package/dist/components/CollectionPage/CollectionPage.test.js +160 -206
  8. package/dist/components/CollectionPage/index.js +0 -3
  9. package/dist/components/FormComponent/Collection.js +35 -79
  10. package/dist/components/FormComponent/Collection.test.js +340 -391
  11. package/dist/components/FormComponent/Container.js +10 -31
  12. package/dist/components/FormComponent/Container.test.js +304 -357
  13. package/dist/components/FormComponent/FormComponent.js +17 -60
  14. package/dist/components/FormComponent/FormComponent.test.js +190 -228
  15. package/dist/components/FormComponent/helpers/addLabel.js +4 -7
  16. package/dist/components/FormComponent/helpers/getComponentDisabled.js +0 -4
  17. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +0 -2
  18. package/dist/components/FormComponent/helpers/getComponentError.js +0 -6
  19. package/dist/components/FormComponent/helpers/getComponentError.test.js +0 -2
  20. package/dist/components/FormComponent/helpers/index.js +0 -4
  21. package/dist/components/FormComponent/index.js +0 -3
  22. package/dist/components/FormPage/FormPage.js +21 -53
  23. package/dist/components/FormPage/FormPage.test.js +122 -160
  24. package/dist/components/FormPage/index.js +0 -3
  25. package/dist/components/FormRenderer/FormRenderer.js +106 -296
  26. package/dist/components/FormRenderer/FormRenderer.test.js +820 -1058
  27. package/dist/components/FormRenderer/handlers/cyaAction.js +0 -5
  28. package/dist/components/FormRenderer/handlers/getPageId.js +0 -2
  29. package/dist/components/FormRenderer/handlers/getPageId.test.js +1 -2
  30. package/dist/components/FormRenderer/handlers/handlers.test.js +1 -18
  31. package/dist/components/FormRenderer/handlers/index.js +0 -5
  32. package/dist/components/FormRenderer/handlers/navigate.js +0 -5
  33. package/dist/components/FormRenderer/handlers/submissionError.js +0 -2
  34. package/dist/components/FormRenderer/helpers/canActionProceed.js +0 -3
  35. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +1 -3
  36. package/dist/components/FormRenderer/helpers/canCYASubmit.js +0 -2
  37. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +1 -5
  38. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +12 -16
  39. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +48 -11
  40. package/dist/components/FormRenderer/helpers/getCYA.js +0 -9
  41. package/dist/components/FormRenderer/helpers/getCYA.test.js +1 -3
  42. package/dist/components/FormRenderer/helpers/getFormState.js +0 -5
  43. package/dist/components/FormRenderer/helpers/getFormState.test.js +1 -3
  44. package/dist/components/FormRenderer/helpers/getNextPageId.js +0 -25
  45. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +1 -4
  46. package/dist/components/FormRenderer/helpers/getPage.js +0 -5
  47. package/dist/components/FormRenderer/helpers/getPage.test.js +1 -3
  48. package/dist/components/FormRenderer/helpers/getRelevantPages.js +0 -6
  49. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +1 -3
  50. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +0 -10
  51. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +4 -7
  52. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +32 -41
  53. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +122 -8
  54. package/dist/components/FormRenderer/helpers/index.js +1 -11
  55. package/dist/components/FormRenderer/index.js +0 -3
  56. package/dist/components/FormRenderer/onCYAAction.js +8 -30
  57. package/dist/components/FormRenderer/onCYAAction.test.js +54 -79
  58. package/dist/components/FormRenderer/onPageAction.js +123 -0
  59. package/dist/components/FormRenderer/onPageAction.test.js +632 -0
  60. package/dist/components/PageActions/ActionButton.js +2 -17
  61. package/dist/components/PageActions/ActionButton.test.js +58 -81
  62. package/dist/components/PageActions/PageActions.js +3 -10
  63. package/dist/components/PageActions/PageActions.test.js +95 -120
  64. package/dist/components/PageActions/index.js +0 -3
  65. package/dist/components/SummaryList/GroupAction.js +5 -26
  66. package/dist/components/SummaryList/GroupAction.test.js +14 -28
  67. package/dist/components/SummaryList/RowAction.js +5 -25
  68. package/dist/components/SummaryList/RowAction.test.js +14 -28
  69. package/dist/components/SummaryList/SummaryList.js +7 -31
  70. package/dist/components/SummaryList/SummaryList.test.js +69 -126
  71. package/dist/components/SummaryList/SummaryListHeadingRow.js +3 -8
  72. package/dist/components/SummaryList/SummaryListRow.js +4 -8
  73. package/dist/components/SummaryList/SummaryListTitleRow.js +2 -7
  74. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +0 -3
  75. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +0 -6
  76. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +0 -3
  77. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +0 -6
  78. package/dist/components/SummaryList/helpers/index.js +0 -2
  79. package/dist/components/SummaryList/index.js +0 -3
  80. package/dist/components/TaskList/Task.js +9 -31
  81. package/dist/components/TaskList/Task.test.js +32 -59
  82. package/dist/components/TaskList/TaskList.js +32 -59
  83. package/dist/components/TaskList/TaskList.test.js +52 -90
  84. package/dist/components/TaskList/TaskState.js +2 -10
  85. package/dist/components/TaskList/TaskState.test.js +23 -41
  86. package/dist/components/TaskList/index.js +0 -3
  87. package/dist/components/index.js +0 -7
  88. package/dist/context/HooksContext/HooksContext.js +21 -39
  89. package/dist/context/HooksContext/HooksContext.test.js +18 -34
  90. package/dist/context/HooksContext/index.js +0 -5
  91. package/dist/context/ValidationContext/ValidationContext.js +26 -56
  92. package/dist/context/ValidationContext/ValidationContext.test.js +43 -64
  93. package/dist/context/ValidationContext/index.js +0 -5
  94. package/dist/context/index.js +0 -3
  95. package/dist/hooks/index.js +0 -9
  96. package/dist/hooks/useAxios.js +17 -36
  97. package/dist/hooks/useGetRequest.js +57 -93
  98. package/dist/hooks/useHooks.js +2 -4
  99. package/dist/hooks/useRefData.js +14 -41
  100. package/dist/hooks/useValidation.js +2 -4
  101. package/dist/index.js +0 -9
  102. package/dist/models/PageAction.js +4 -4
  103. package/dist/models/TaskStates.js +4 -4
  104. package/dist/models/index.js +1 -10
  105. package/dist/setupTests.js +0 -13
  106. package/dist/utils/CheckYourAnswers/getCYAAction.js +1 -9
  107. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +1 -19
  108. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +4 -11
  109. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +4 -9
  110. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +4 -9
  111. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +4 -8
  112. package/dist/utils/CheckYourAnswers/getCYARow.js +3 -11
  113. package/dist/utils/CheckYourAnswers/getCYARow.test.js +60 -25
  114. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +6 -21
  115. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +2 -9
  116. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +4 -20
  117. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +7 -22
  118. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +4 -32
  119. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +4 -34
  120. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +4 -15
  121. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +4 -22
  122. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +2 -22
  123. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +7 -25
  124. package/dist/utils/CheckYourAnswers/index.js +1 -3
  125. package/dist/utils/CheckYourAnswers/showComponentCYA.js +2 -15
  126. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +1 -3
  127. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +4 -12
  128. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +5 -6
  129. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +0 -6
  130. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +1 -2
  131. package/dist/utils/CollectionPage/index.js +1 -5
  132. package/dist/utils/CollectionPage/mergeCollectionPages.js +5 -11
  133. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +1 -2
  134. package/dist/utils/Component/addShowWhen.js +4 -10
  135. package/dist/utils/Component/addShowWhen.test.js +1 -2
  136. package/dist/utils/Component/applyToComponentTree.js +4 -18
  137. package/dist/utils/Component/applyToComponentTree.test.js +4 -8
  138. package/dist/utils/Component/cleanAttributes.js +1 -8
  139. package/dist/utils/Component/cleanAttributes.test.js +15 -16
  140. package/dist/utils/Component/elevateNestedComponents.js +0 -6
  141. package/dist/utils/Component/elevateNestedComponents.test.js +0 -2
  142. package/dist/utils/Component/getComponent.js +13 -86
  143. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +6 -10
  144. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +33 -51
  145. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +8 -35
  146. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +12 -29
  147. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +4 -10
  148. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +6 -23
  149. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +6 -24
  150. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +3 -7
  151. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +4 -10
  152. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +3 -7
  153. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +4 -10
  154. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +5 -22
  155. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +156 -175
  156. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +4 -10
  157. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +6 -23
  158. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +8 -35
  159. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +6 -23
  160. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +6 -23
  161. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +10 -34
  162. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +12 -31
  163. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +1 -2
  164. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +3 -7
  165. package/dist/utils/Component/getDefaultValue.js +4 -8
  166. package/dist/utils/Component/getDefaultValue.test.js +0 -3
  167. package/dist/utils/Component/index.js +0 -10
  168. package/dist/utils/Component/isEditable.js +1 -4
  169. package/dist/utils/Component/isEditable.test.js +1 -5
  170. package/dist/utils/Component/optionIsSelected.js +22 -0
  171. package/dist/utils/Component/optionIsSelected.test.js +42 -0
  172. package/dist/utils/Component/setupContainerComponentsPath.js +4 -9
  173. package/dist/utils/Component/setupContainerComponentsPath.test.js +0 -3
  174. package/dist/utils/Component/showComponent.js +1 -8
  175. package/dist/utils/Component/showComponent.test.js +1 -2
  176. package/dist/utils/Component/wrapInFormGroup.js +0 -7
  177. package/dist/utils/Condition/index.js +0 -5
  178. package/dist/utils/Condition/meetsAllConditions.js +0 -9
  179. package/dist/utils/Condition/meetsAllConditions.test.js +1 -2
  180. package/dist/utils/Condition/meetsCondition.js +9 -34
  181. package/dist/utils/Condition/meetsCondition.test.js +21 -14
  182. package/dist/utils/Condition/meetsOneCondition.js +1 -9
  183. package/dist/utils/Condition/meetsOneCondition.test.js +1 -2
  184. package/dist/utils/Condition/setupConditions.js +4 -13
  185. package/dist/utils/Condition/setupConditions.test.js +0 -2
  186. package/dist/utils/Container/getEditableComponents.js +0 -7
  187. package/dist/utils/Container/getEditableComponents.test.js +1 -12
  188. package/dist/utils/Container/index.js +0 -5
  189. package/dist/utils/Container/setupNesting.js +4 -12
  190. package/dist/utils/Container/setupNesting.test.js +4 -10
  191. package/dist/utils/Container/showContainer.js +9 -18
  192. package/dist/utils/Container/showContainer.test.js +1 -2
  193. package/dist/utils/Data/applyFormula.js +6 -29
  194. package/dist/utils/Data/applyFormula.test.js +1 -2
  195. package/dist/utils/Data/getAutocompleteSource.js +1 -5
  196. package/dist/utils/Data/getAutocompleteSource.test.js +1 -2
  197. package/dist/utils/Data/getDataPath.js +3 -17
  198. package/dist/utils/Data/getDataPath.test.js +0 -4
  199. package/dist/utils/Data/getOptions.js +4 -14
  200. package/dist/utils/Data/getOptions.test.js +1 -2
  201. package/dist/utils/Data/getSourceData.js +6 -21
  202. package/dist/utils/Data/getSourceData.test.js +4 -6
  203. package/dist/utils/Data/index.js +1 -11
  204. package/dist/utils/Data/refDataToOptions.js +5 -13
  205. package/dist/utils/Data/refDataToOptions.test.js +1 -2
  206. package/dist/utils/Data/setDataItem.js +0 -5
  207. package/dist/utils/Data/setDataItem.test.js +0 -2
  208. package/dist/utils/Data/setupFormData.js +6 -25
  209. package/dist/utils/Data/setupFormData.test.js +8 -11
  210. package/dist/utils/Data/setupRefDataUrlForComponent.js +4 -15
  211. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +1 -3
  212. package/dist/utils/FormPage/applyConditionalProperties.js +4 -11
  213. package/dist/utils/FormPage/applyConditionalProperties.test.js +4 -6
  214. package/dist/utils/FormPage/getFormPage.js +4 -16
  215. package/dist/utils/FormPage/getFormPage.test.js +10 -9
  216. package/dist/utils/FormPage/getFormPages.js +4 -9
  217. package/dist/utils/FormPage/getFormPages.test.js +6 -7
  218. package/dist/utils/FormPage/getPageActions.js +6 -19
  219. package/dist/utils/FormPage/getPageActions.test.js +1 -3
  220. package/dist/utils/FormPage/getParagraphFromText.js +0 -3
  221. package/dist/utils/FormPage/getParagraphFromText.test.js +1 -3
  222. package/dist/utils/FormPage/index.js +0 -7
  223. package/dist/utils/FormPage/showFormPage.js +9 -18
  224. package/dist/utils/FormPage/showFormPage.test.js +0 -2
  225. package/dist/utils/FormPage/showFormPageCYA.js +0 -5
  226. package/dist/utils/FormPage/showFormPageCYA.test.js +0 -2
  227. package/dist/utils/FormPage/useComponent.js +7 -19
  228. package/dist/utils/FormPage/useComponent.test.js +4 -7
  229. package/dist/utils/Format/formatData.js +0 -5
  230. package/dist/utils/Format/formatData.test.js +1 -2
  231. package/dist/utils/Format/formatDataForComponent.js +1 -6
  232. package/dist/utils/Format/formatDataForComponent.test.js +28 -47
  233. package/dist/utils/Format/formatDataForForm.js +4 -9
  234. package/dist/utils/Format/formatDataForForm.test.js +14 -11
  235. package/dist/utils/Format/formatDataForPage.js +1 -5
  236. package/dist/utils/Format/formatDataForPage.test.js +15 -12
  237. package/dist/utils/Format/index.js +1 -6
  238. package/dist/utils/Hub/getFormHub.js +0 -8
  239. package/dist/utils/Hub/getFormHub.test.js +6 -8
  240. package/dist/utils/Hub/index.js +1 -3
  241. package/dist/utils/Meta/documents/getDocuments.js +1 -4
  242. package/dist/utils/Meta/documents/getDocuments.test.js +4 -10
  243. package/dist/utils/Meta/documents/index.js +1 -5
  244. package/dist/utils/Meta/documents/setDocumentsForField.js +4 -11
  245. package/dist/utils/Meta/documents/setDocumentsForField.test.js +4 -16
  246. package/dist/utils/Meta/index.js +1 -4
  247. package/dist/utils/Operate/checkValueIsTruthy.js +1 -7
  248. package/dist/utils/Operate/checkValueIsTruthy.test.js +0 -2
  249. package/dist/utils/Operate/getFirstOf.js +2 -9
  250. package/dist/utils/Operate/getFirstOf.test.js +0 -2
  251. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +7 -21
  252. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +6 -2
  253. package/dist/utils/Operate/index.js +0 -3
  254. package/dist/utils/Operate/persistValueInFormData.js +1 -8
  255. package/dist/utils/Operate/persistValueInFormData.test.js +0 -4
  256. package/dist/utils/Operate/runPageOperations.js +3 -19
  257. package/dist/utils/Operate/runPageOperations.test.js +4 -6
  258. package/dist/utils/Operate/setValueInFormData.js +2 -7
  259. package/dist/utils/Operate/setValueInFormData.test.js +0 -2
  260. package/dist/utils/Operate/shouldRun.js +1 -14
  261. package/dist/utils/Operate/shouldRun.test.js +5 -8
  262. package/dist/utils/Validate/additional/conditionallyRequired.js +0 -3
  263. package/dist/utils/Validate/additional/conditionallyRequired.test.js +0 -2
  264. package/dist/utils/Validate/additional/index.js +1 -22
  265. package/dist/utils/Validate/additional/index.test.js +0 -6
  266. package/dist/utils/Validate/additional/mustBeAfter.js +3 -8
  267. package/dist/utils/Validate/additional/mustBeAfter.test.js +0 -4
  268. package/dist/utils/Validate/additional/mustBeBefore.js +3 -8
  269. package/dist/utils/Validate/additional/mustBeBefore.test.js +0 -4
  270. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +5 -16
  271. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +4 -8
  272. package/dist/utils/Validate/additional/mustBeGreaterThan.js +0 -3
  273. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +0 -2
  274. package/dist/utils/Validate/additional/mustBeInTheFuture.js +3 -12
  275. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +0 -3
  276. package/dist/utils/Validate/additional/mustBeInThePast.js +5 -13
  277. package/dist/utils/Validate/additional/mustBeInThePast.test.js +0 -3
  278. package/dist/utils/Validate/additional/mustBeLessThan.js +0 -3
  279. package/dist/utils/Validate/additional/mustBeLessThan.test.js +0 -2
  280. package/dist/utils/Validate/additional/mustBeLongerThan.js +0 -3
  281. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +0 -2
  282. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +0 -3
  283. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +0 -2
  284. package/dist/utils/Validate/additional/mustBeShorterThan.js +0 -3
  285. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +0 -2
  286. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +0 -5
  287. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +4 -5
  288. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +0 -3
  289. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +0 -2
  290. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +0 -6
  291. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +4 -7
  292. package/dist/utils/Validate/additional/utils.js +10 -26
  293. package/dist/utils/Validate/index.js +1 -11
  294. package/dist/utils/Validate/validateCollection.js +4 -10
  295. package/dist/utils/Validate/validateCollection.test.js +4 -6
  296. package/dist/utils/Validate/validateComponent.js +5 -40
  297. package/dist/utils/Validate/validateComponent.test.js +120 -22
  298. package/dist/utils/Validate/validateContainer.js +4 -14
  299. package/dist/utils/Validate/validateContainer.test.js +4 -10
  300. package/dist/utils/Validate/validateDate.js +6 -38
  301. package/dist/utils/Validate/validateDate.test.js +0 -4
  302. package/dist/utils/Validate/validateEmail.js +1 -8
  303. package/dist/utils/Validate/validateEmail.test.js +5 -4
  304. package/dist/utils/Validate/validateMultifile.js +0 -7
  305. package/dist/utils/Validate/validateMultifile.test.js +5 -6
  306. package/dist/utils/Validate/validatePage.js +4 -16
  307. package/dist/utils/Validate/validatePage.test.js +30 -25
  308. package/dist/utils/Validate/validateRegex.js +0 -10
  309. package/dist/utils/Validate/validateRegex.test.js +5 -4
  310. package/dist/utils/Validate/validateRequired.js +0 -8
  311. package/dist/utils/Validate/validateRequired.test.js +5 -4
  312. package/dist/utils/Validate/validateTextArea.js +0 -8
  313. package/dist/utils/Validate/validateTextArea.test.js +0 -2
  314. package/dist/utils/Validate/validateTime.js +5 -22
  315. package/dist/utils/Validate/validateTime.test.js +0 -2
  316. package/dist/utils/index.js +4 -20
  317. package/package.json +2 -2
@@ -1,25 +1,15 @@
1
1
  "use strict";
2
2
 
3
3
  var _react = require("@testing-library/react");
4
-
5
4
  var _models = require("../../../models");
6
-
7
5
  var _getComponent = _interopRequireDefault(require("../getComponent"));
8
-
9
6
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
-
11
7
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
12
-
13
8
  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."); }
14
-
15
9
  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); }
16
-
17
- 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; }
18
-
19
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
20
-
10
+ 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; }
11
+ 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; } }
21
12
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
22
-
23
13
  describe('utils.Component.get', function () {
24
14
  it('should return an appropriately rendered select component', function () {
25
15
  var ID = 'test-id';
@@ -27,11 +17,9 @@ describe('utils.Component.get', function () {
27
17
  var LABEL = 'label';
28
18
  var NEW_VALUE = 'option2';
29
19
  var ON_CHANGE_CALLS = [];
30
-
31
20
  var ON_CHANGE = function ON_CHANGE(e) {
32
21
  ON_CHANGE_CALLS.push(e.target);
33
22
  };
34
-
35
23
  var COMPONENT = {
36
24
  type: _models.ComponentTypes.SELECT,
37
25
  id: ID,
@@ -47,15 +35,12 @@ describe('utils.Component.get', function () {
47
35
  }],
48
36
  'data-testid': ID
49
37
  };
50
-
51
38
  var _render = (0, _react.render)((0, _getComponent.default)(COMPONENT)),
52
- container = _render.container;
53
-
39
+ container = _render.container;
54
40
  var _getAllByTestId = (0, _react.getAllByTestId)(container, ID),
55
- _getAllByTestId2 = _slicedToArray(_getAllByTestId, 2),
56
- formGroup = _getAllByTestId2[0],
57
- select = _getAllByTestId2[1];
58
-
41
+ _getAllByTestId2 = _slicedToArray(_getAllByTestId, 2),
42
+ formGroup = _getAllByTestId2[0],
43
+ select = _getAllByTestId2[1];
59
44
  expect(formGroup.tagName).toEqual('DIV');
60
45
  expect(formGroup.classList).toContain('govuk-form-group');
61
46
  var label = formGroup.childNodes[0].childNodes[0].childNodes[0];
@@ -65,14 +50,12 @@ describe('utils.Component.get', function () {
65
50
  expect(select.tagName).toEqual('SELECT');
66
51
  expect(select.classList).toContain('govuk-select');
67
52
  expect(select.id).toEqual(ID);
68
-
69
53
  _react.fireEvent.change(select, {
70
54
  target: {
71
55
  name: FIELD_ID,
72
56
  value: NEW_VALUE
73
57
  }
74
58
  });
75
-
76
59
  expect(ON_CHANGE_CALLS.length).toEqual(1);
77
60
  expect(ON_CHANGE_CALLS[0]).toMatchObject({
78
61
  name: FIELD_ID,
@@ -1,36 +1,24 @@
1
1
  "use strict";
2
2
 
3
3
  var _react = require("@testing-library/react");
4
-
5
4
  var _models = require("../../../models");
6
-
7
5
  var _getComponent = _interopRequireDefault(require("../getComponent"));
8
-
9
6
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
-
11
7
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
12
-
13
8
  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."); }
14
-
15
9
  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); }
16
-
17
- 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; }
18
-
19
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
20
-
10
+ 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; }
11
+ 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; } }
21
12
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
22
-
23
13
  describe('utils.Component.get', function () {
24
14
  it('should return an appropriately rendered text component', function () {
25
15
  var ID = 'test-id';
26
16
  var FIELD_ID = 'field-id';
27
17
  var LABEL = 'label';
28
18
  var ON_CHANGE_CALLS = [];
29
-
30
19
  var ON_CHANGE = function ON_CHANGE(e) {
31
20
  ON_CHANGE_CALLS.push(e.target);
32
21
  };
33
-
34
22
  var COMPONENT = {
35
23
  type: _models.ComponentTypes.TEXT,
36
24
  id: ID,
@@ -39,15 +27,12 @@ describe('utils.Component.get', function () {
39
27
  onChange: ON_CHANGE,
40
28
  'data-testid': ID
41
29
  };
42
-
43
30
  var _render = (0, _react.render)((0, _getComponent.default)(COMPONENT)),
44
- container = _render.container;
45
-
31
+ container = _render.container;
46
32
  var _getAllByTestId = (0, _react.getAllByTestId)(container, ID),
47
- _getAllByTestId2 = _slicedToArray(_getAllByTestId, 2),
48
- formGroup = _getAllByTestId2[0],
49
- input = _getAllByTestId2[1];
50
-
33
+ _getAllByTestId2 = _slicedToArray(_getAllByTestId, 2),
34
+ formGroup = _getAllByTestId2[0],
35
+ input = _getAllByTestId2[1];
51
36
  expect(formGroup.tagName).toEqual('DIV');
52
37
  expect(formGroup.classList).toContain('govuk-form-group');
53
38
  var label = undefined;
@@ -63,14 +48,12 @@ describe('utils.Component.get', function () {
63
48
  expect(input.tagName).toEqual('INPUT');
64
49
  expect(input.classList).toContain('govuk-input');
65
50
  expect(input.id).toEqual(ID);
66
-
67
51
  _react.fireEvent.change(input, {
68
52
  target: {
69
53
  name: FIELD_ID,
70
54
  value: 'blah'
71
55
  }
72
56
  });
73
-
74
57
  expect(ON_CHANGE_CALLS.length).toEqual(1);
75
58
  expect(ON_CHANGE_CALLS[0]).toMatchObject({
76
59
  name: FIELD_ID,
@@ -1,25 +1,15 @@
1
1
  "use strict";
2
2
 
3
3
  var _react = require("@testing-library/react");
4
-
5
4
  var _models = require("../../../models");
6
-
7
5
  var _getComponent = _interopRequireDefault(require("../getComponent"));
8
-
9
6
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
-
11
7
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
12
-
13
8
  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."); }
14
-
15
9
  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); }
16
-
17
- 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; }
18
-
19
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
20
-
10
+ 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; }
11
+ 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; } }
21
12
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
22
-
23
13
  describe('utils.Component.get', function () {
24
14
  it('should return an appropriately rendered textarea component', function () {
25
15
  var ID = 'test-id';
@@ -27,11 +17,9 @@ describe('utils.Component.get', function () {
27
17
  var LABEL = 'label';
28
18
  var ROWS = 13;
29
19
  var ON_CHANGE_CALLS = [];
30
-
31
20
  var ON_CHANGE = function ON_CHANGE(e) {
32
21
  ON_CHANGE_CALLS.push(e.target);
33
22
  };
34
-
35
23
  var COMPONENT = {
36
24
  type: _models.ComponentTypes.TEXT_AREA,
37
25
  id: ID,
@@ -41,15 +29,12 @@ describe('utils.Component.get', function () {
41
29
  onChange: ON_CHANGE,
42
30
  'data-testid': ID
43
31
  };
44
-
45
32
  var _render = (0, _react.render)((0, _getComponent.default)(COMPONENT)),
46
- container = _render.container;
47
-
33
+ container = _render.container;
48
34
  var _getAllByTestId = (0, _react.getAllByTestId)(container, ID),
49
- _getAllByTestId2 = _slicedToArray(_getAllByTestId, 2),
50
- formGroup = _getAllByTestId2[0],
51
- textarea = _getAllByTestId2[1];
52
-
35
+ _getAllByTestId2 = _slicedToArray(_getAllByTestId, 2),
36
+ formGroup = _getAllByTestId2[0],
37
+ textarea = _getAllByTestId2[1];
53
38
  expect(formGroup.tagName).toEqual('DIV');
54
39
  expect(formGroup.classList).toContain('govuk-form-group');
55
40
  var label = formGroup.childNodes[0].childNodes[0].childNodes[0];
@@ -59,14 +44,12 @@ describe('utils.Component.get', function () {
59
44
  expect(textarea.classList).toContain('govuk-textarea');
60
45
  expect(textarea.getAttribute('rows')).toEqual("".concat(ROWS));
61
46
  expect(textarea.id).toEqual(ID);
62
-
63
47
  _react.fireEvent.change(textarea, {
64
48
  target: {
65
49
  name: FIELD_ID,
66
50
  value: 'Some text'
67
51
  }
68
52
  });
69
-
70
53
  expect(ON_CHANGE_CALLS.length).toEqual(1);
71
54
  expect(ON_CHANGE_CALLS[0]).toMatchObject({
72
55
  name: FIELD_ID,
@@ -79,11 +62,9 @@ describe('utils.Component.get', function () {
79
62
  var LABEL = 'label';
80
63
  var ROWS = 13;
81
64
  var ON_CHANGE_CALLS = [];
82
-
83
65
  var ON_CHANGE = function ON_CHANGE(e) {
84
66
  ON_CHANGE_CALLS.push(e.target);
85
67
  };
86
-
87
68
  var COMPONENT = {
88
69
  type: _models.ComponentTypes.TEXT_AREA,
89
70
  id: ID,
@@ -94,15 +75,12 @@ describe('utils.Component.get', function () {
94
75
  'data-testid': ID,
95
76
  showCharacterCount: true
96
77
  };
97
-
98
78
  var _render2 = (0, _react.render)((0, _getComponent.default)(COMPONENT)),
99
- container = _render2.container;
100
-
79
+ container = _render2.container;
101
80
  var _getAllByTestId3 = (0, _react.getAllByTestId)(container, ID),
102
- _getAllByTestId4 = _slicedToArray(_getAllByTestId3, 2),
103
- formGroup = _getAllByTestId4[0],
104
- textarea = _getAllByTestId4[1];
105
-
81
+ _getAllByTestId4 = _slicedToArray(_getAllByTestId3, 2),
82
+ formGroup = _getAllByTestId4[0],
83
+ textarea = _getAllByTestId4[1];
106
84
  expect(formGroup.tagName).toEqual('DIV');
107
85
  expect(formGroup.classList).toContain('govuk-form-group');
108
86
  var label = formGroup.childNodes[0].childNodes[0].childNodes[0];
@@ -112,14 +90,12 @@ describe('utils.Component.get', function () {
112
90
  expect(textarea.classList).toContain('govuk-textarea');
113
91
  expect(textarea.getAttribute('rows')).toEqual("".concat(ROWS));
114
92
  expect(textarea.id).toEqual(ID);
115
-
116
93
  _react.fireEvent.change(textarea, {
117
94
  target: {
118
95
  name: FIELD_ID,
119
96
  value: 'Some text'
120
97
  }
121
98
  });
122
-
123
99
  expect(ON_CHANGE_CALLS.length).toEqual(1);
124
100
  expect(ON_CHANGE_CALLS[0]).toMatchObject({
125
101
  name: FIELD_ID,
@@ -1,36 +1,24 @@
1
1
  "use strict";
2
2
 
3
3
  var _react = require("@testing-library/react");
4
-
5
4
  var _models = require("../../../models");
6
-
7
5
  var _getComponent = _interopRequireDefault(require("../getComponent"));
8
-
9
6
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
-
11
7
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
12
-
13
8
  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."); }
14
-
15
9
  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); }
16
-
17
- 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; }
18
-
19
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
20
-
10
+ 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; }
11
+ 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; } }
21
12
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
22
-
23
13
  describe('utils.Component.get', function () {
24
14
  it('should return an appropriately rendered time component', function () {
25
15
  var ID = 'test-id';
26
16
  var FIELD_ID = 'field-id';
27
17
  var LABEL = 'label';
28
18
  var ON_CHANGE_CALLS = [];
29
-
30
19
  var ON_CHANGE = function ON_CHANGE(e) {
31
20
  ON_CHANGE_CALLS.push(e.target);
32
21
  };
33
-
34
22
  var COMPONENT = {
35
23
  type: _models.ComponentTypes.TIME,
36
24
  id: ID,
@@ -39,15 +27,12 @@ describe('utils.Component.get', function () {
39
27
  onChange: ON_CHANGE,
40
28
  'data-testid': ID
41
29
  };
42
-
43
30
  var _render = (0, _react.render)((0, _getComponent.default)(COMPONENT)),
44
- container = _render.container;
45
-
31
+ container = _render.container;
46
32
  var _getAllByTestId = (0, _react.getAllByTestId)(container, ID),
47
- _getAllByTestId2 = _slicedToArray(_getAllByTestId, 2),
48
- formGroup = _getAllByTestId2[0],
49
- timeInput = _getAllByTestId2[1];
50
-
33
+ _getAllByTestId2 = _slicedToArray(_getAllByTestId, 2),
34
+ formGroup = _getAllByTestId2[0],
35
+ timeInput = _getAllByTestId2[1];
51
36
  expect(formGroup.tagName).toEqual('DIV');
52
37
  expect(formGroup.classList).toContain('govuk-form-group');
53
38
  var label = formGroup.childNodes[0].childNodes[0].childNodes[0];
@@ -57,11 +42,9 @@ describe('utils.Component.get', function () {
57
42
  expect(timeInput.classList).toContain('govuk-date-input');
58
43
  expect(timeInput.id).toEqual(ID);
59
44
  var onChangeCalls = ON_CHANGE_CALLS.length;
60
-
61
45
  var _timeInput$childNodes = _slicedToArray(timeInput.childNodes, 2),
62
- hourItem = _timeInput$childNodes[0],
63
- minuteItem = _timeInput$childNodes[1];
64
-
46
+ hourItem = _timeInput$childNodes[0],
47
+ minuteItem = _timeInput$childNodes[1];
65
48
  [{
66
49
  id: 'hour',
67
50
  label: 'Hour',
@@ -77,24 +60,22 @@ describe('utils.Component.get', function () {
77
60
  }].forEach(function (part) {
78
61
  expect(part.item.tagName).toEqual('DIV');
79
62
  expect(part.item.classList).toContain('govuk-date-input__item');
80
-
81
63
  var _part$item$childNodes = _slicedToArray(part.item.childNodes[0].childNodes, 2),
82
- label = _part$item$childNodes[0],
83
- input = _part$item$childNodes[1];
84
-
64
+ label = _part$item$childNodes[0],
65
+ input = _part$item$childNodes[1];
85
66
  expect(label.childNodes[0].tagName).toEqual('LABEL');
86
67
  expect(label.childNodes[0].classList).toContain('govuk-label');
87
68
  expect(label.textContent).toEqual(part.label);
88
69
  expect(input.tagName).toEqual('INPUT');
89
- expect(input.id).toEqual("".concat(ID, "-").concat(part.id)); // Put something in the input and make sure it fires.
70
+ expect(input.id).toEqual("".concat(ID, "-").concat(part.id));
90
71
 
72
+ // Put something in the input and make sure it fires.
91
73
  _react.fireEvent.change(input, {
92
74
  target: {
93
75
  name: "".concat(FIELD_ID, "-").concat(part.id),
94
76
  value: part.value
95
77
  }
96
78
  });
97
-
98
79
  onChangeCalls++;
99
80
  expect(ON_CHANGE_CALLS.length).toEqual(onChangeCalls);
100
81
  expect(ON_CHANGE_CALLS[onChangeCalls - 1]).toMatchObject({
@@ -1,10 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  var _getComponent = _interopRequireDefault(require("../getComponent"));
4
-
5
4
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
-
7
5
  // Local imports
6
+
8
7
  describe('utils.Component.get', function () {
9
8
  it('should return null for an unknown type', function () {
10
9
  expect((0, _getComponent.default)({
@@ -1,15 +1,13 @@
1
1
  "use strict";
2
2
 
3
3
  var _react = require("@testing-library/react");
4
-
5
4
  var _models = require("../../../models");
6
-
7
5
  var _getComponent = _interopRequireDefault(require("../getComponent"));
8
-
9
6
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
-
11
7
  // Global imports
8
+
12
9
  // Local imports
10
+
13
11
  describe('utils.Component.get', function () {
14
12
  it('should return an appropriately rendered warning-text component', function () {
15
13
  var ID = 'test-id';
@@ -19,10 +17,8 @@ describe('utils.Component.get', function () {
19
17
  content: CONTENT,
20
18
  'data-testid': ID
21
19
  };
22
-
23
20
  var _render = (0, _react.render)((0, _getComponent.default)(COMPONENT)),
24
- container = _render.container;
25
-
21
+ container = _render.container;
26
22
  var warningText = (0, _react.getByTestId)(container, ID);
27
23
  expect(warningText.innerHTML).toContain(CONTENT);
28
24
  expect(warningText.tagName).toEqual('DIV');
@@ -4,22 +4,18 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _models = require("../../models");
9
-
10
8
  var _DEFAULT_VALUES;
11
-
12
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
-
9
+ 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); }
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); }
14
13
  var DEFAULT_VALUES = (_DEFAULT_VALUES = {}, _defineProperty(_DEFAULT_VALUES, _models.ComponentTypes.COLLECTION, []), _defineProperty(_DEFAULT_VALUES, _models.ComponentTypes.CONTAINER, {}), _defineProperty(_DEFAULT_VALUES, _models.ComponentTypes.FILE, {}), _DEFAULT_VALUES);
15
-
16
14
  var getDefaultValue = function getDefaultValue(component) {
17
15
  if (component) {
18
16
  return DEFAULT_VALUES[component.type] || '';
19
17
  }
20
-
21
18
  return '';
22
19
  };
23
-
24
20
  var _default = getDefaultValue;
25
21
  exports.default = _default;
@@ -1,11 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  var _models = require("../../models");
4
-
5
4
  var _getDefaultValue = _interopRequireDefault(require("./getDefaultValue"));
6
-
7
5
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
-
9
6
  describe('utils.Component.defaultValue', function () {
10
7
  it('should return an empty string if the component is undefined', function () {
11
8
  expect((0, _getDefaultValue.default)(undefined)).toEqual('');
@@ -4,25 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _cleanAttributes = _interopRequireDefault(require("./cleanAttributes"));
9
-
10
8
  var _elevateNestedComponents = _interopRequireDefault(require("./elevateNestedComponents"));
11
-
12
9
  var _getComponent = _interopRequireDefault(require("./getComponent"));
13
-
14
10
  var _getDefaultValue = _interopRequireDefault(require("./getDefaultValue"));
15
-
16
11
  var _isEditable = _interopRequireDefault(require("./isEditable"));
17
-
18
12
  var _setupContainerComponentsPath = _interopRequireDefault(require("./setupContainerComponentsPath"));
19
-
20
13
  var _showComponent = _interopRequireDefault(require("./showComponent"));
21
-
22
14
  var _wrapInFormGroup = _interopRequireDefault(require("./wrapInFormGroup"));
23
-
24
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
-
26
16
  var Component = {
27
17
  clean: _cleanAttributes.default,
28
18
  defaultValue: _getDefaultValue.default,
@@ -4,16 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.EDITABLE_TYPES = void 0;
7
-
8
7
  var _models = require("../../models");
9
-
10
8
  // Local imports
9
+
11
10
  var EDITABLE_TYPES = [_models.ComponentTypes.AUTOCOMPLETE, _models.ComponentTypes.CALCULATION, _models.ComponentTypes.CHECKBOXES, _models.ComponentTypes.DATE, _models.ComponentTypes.EMAIL, _models.ComponentTypes.FILE, _models.ComponentTypes.MULTI_FILE, _models.ComponentTypes.PHONE_NUMBER, _models.ComponentTypes.RADIOS, _models.ComponentTypes.SELECT, _models.ComponentTypes.TEXT, _models.ComponentTypes.TEXT_AREA, _models.ComponentTypes.TIME];
12
11
  exports.EDITABLE_TYPES = EDITABLE_TYPES;
13
-
14
12
  var isEditable = function isEditable(options) {
15
13
  return EDITABLE_TYPES.includes(options === null || options === void 0 ? void 0 : options.type);
16
14
  };
17
-
18
15
  var _default = isEditable;
19
16
  exports.default = _default;
@@ -1,14 +1,11 @@
1
1
  "use strict";
2
2
 
3
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
-
5
4
  var _isEditable = _interopRequireWildcard(require("./isEditable"));
6
-
7
5
  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
-
9
6
  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; }
10
-
11
7
  // Local imports
8
+
12
9
  describe('utils', function () {
13
10
  describe('Component', function () {
14
11
  describe('isEditable', function () {
@@ -20,7 +17,6 @@ describe('utils', function () {
20
17
  expect((0, _isEditable.default)(OPTIONS)).toEqual(true);
21
18
  });
22
19
  });
23
-
24
20
  it('should return false if options is undefined', function () {
25
21
  expect((0, _isEditable.default)(undefined)).toEqual(false);
26
22
  });
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ /**
8
+ * Checks whether an option for a component has been selected.
9
+ *
10
+ * @param {object} componentValue The option's value selected for that component.
11
+ * @param {object} option The option of the component being tested.
12
+ *
13
+ * @returns A boolean of whether the option is selected.
14
+ */
15
+ var optionIsSelected = function optionIsSelected(componentValue, option) {
16
+ if (Array.isArray(componentValue)) {
17
+ return componentValue.includes(option.value);
18
+ }
19
+ return componentValue === option.value;
20
+ };
21
+ var _default = optionIsSelected;
22
+ exports.default = _default;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ var _optionIsSelected = _interopRequireDefault(require("./optionIsSelected"));
4
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
5
+ // Local imports
6
+
7
+ describe('utils.Component.isSelected', function () {
8
+ var SELECTED_VALUE = 'selectedValue';
9
+ var NOT_SELECTED_VALUE = 'notSelectedValue';
10
+ var OPTIONS = [{
11
+ value: SELECTED_VALUE
12
+ }, {
13
+ value: NOT_SELECTED_VALUE
14
+ }];
15
+ var COMPONENT = {
16
+ id: 'a',
17
+ fieldId: 'a',
18
+ data: {
19
+ options: OPTIONS
20
+ }
21
+ };
22
+ it('should properly identify which option is selected for checkboxes', function () {
23
+ var PAGE = {
24
+ formData: {
25
+ a: [SELECTED_VALUE]
26
+ }
27
+ };
28
+ COMPONENT.type = 'checkboxes';
29
+ expect((0, _optionIsSelected.default)(PAGE.formData[COMPONENT.id], OPTIONS[0])).toEqual(true);
30
+ expect((0, _optionIsSelected.default)(PAGE.formData[COMPONENT.id], OPTIONS[1])).toEqual(false);
31
+ });
32
+ it('should properly identify which option is selected for radios', function () {
33
+ var PAGE = {
34
+ formData: {
35
+ a: SELECTED_VALUE
36
+ }
37
+ };
38
+ COMPONENT.type = 'radios';
39
+ expect((0, _optionIsSelected.default)(PAGE.formData[COMPONENT.id], OPTIONS[0])).toEqual(true);
40
+ expect((0, _optionIsSelected.default)(PAGE.formData[COMPONENT.id], OPTIONS[1])).toEqual(false);
41
+ });
42
+ });
@@ -4,15 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _showComponentCYA = require("../CheckYourAnswers/showComponentCYA");
9
-
8
+ 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); }
10
9
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
11
-
12
10
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
13
-
14
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
-
11
+ 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; }
12
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
13
+ 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
14
  var setupContainerComponentsPath = function setupContainerComponentsPath(container) {
17
15
  return _objectSpread(_objectSpread({}, container), {}, {
18
16
  components: container.components.map(function (component) {
@@ -24,20 +22,17 @@ var setupContainerComponentsPath = function setupContainerComponentsPath(contain
24
22
  full_path: "".concat(component.full_path || "".concat(container.full_path, ".").concat(component.fieldId), ".").concat(c.fieldId)
25
23
  });
26
24
  }
27
-
28
25
  return null;
29
26
  }).filter(function (c) {
30
27
  return !!c;
31
28
  })
32
29
  });
33
30
  }
34
-
35
31
  return _objectSpread(_objectSpread({}, component), !component.full_path && {
36
32
  full_path: "".concat(container.full_path || container.fieldId, ".").concat(component.fieldId)
37
33
  });
38
34
  })
39
35
  });
40
36
  };
41
-
42
37
  var _default = setupContainerComponentsPath;
43
38
  exports.default = _default;