@ukhomeoffice/cop-react-form-renderer 7.3.2-alpha.5 → 8.0.0-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (761) hide show
  1. package/README.md +106 -32
  2. package/dist/components/CheckYourAnswers/Answer.d.ts +10 -0
  3. package/dist/components/CheckYourAnswers/CheckYourAnswers.d.ts +35 -0
  4. package/dist/components/CheckYourAnswers/index.d.ts +2 -0
  5. package/dist/components/CollectionPage/CollectionPage.d.ts +24 -0
  6. package/dist/components/CollectionPage/index.d.ts +1 -0
  7. package/dist/components/CollectionSummary/BannerStrip.d.ts +9 -0
  8. package/dist/components/CollectionSummary/CollectionSummary.d.ts +53 -0
  9. package/dist/components/CollectionSummary/Confirmation.d.ts +15 -0
  10. package/dist/components/CollectionSummary/RenderListView.d.ts +42 -0
  11. package/dist/components/CollectionSummary/SummaryCard.d.ts +62 -0
  12. package/dist/components/CollectionSummary/SummaryCardButtons.d.ts +21 -0
  13. package/dist/components/CollectionSummary/SummaryCardDetails.d.ts +14 -0
  14. package/dist/components/CollectionSummary/SummaryCardValidationContext.d.ts +9 -0
  15. package/dist/components/CollectionSummary/index.d.ts +2 -0
  16. package/dist/components/FormComponent/Collection.d.ts +39 -0
  17. package/dist/components/FormComponent/Container.d.ts +26 -0
  18. package/dist/components/FormComponent/FormComponent.d.ts +39 -0
  19. package/dist/components/FormComponent/helpers/addLabel.d.ts +7 -0
  20. package/dist/components/FormComponent/helpers/getComponentDisabled.d.ts +2 -0
  21. package/dist/components/FormComponent/helpers/getComponentError.d.ts +4 -0
  22. package/dist/components/FormComponent/helpers/getComponentFieldSet.d.ts +2 -0
  23. package/dist/components/FormComponent/helpers/index.d.ts +5 -0
  24. package/dist/components/FormComponent/index.d.ts +2 -0
  25. package/dist/components/FormPage/FormPage.d.ts +36 -0
  26. package/dist/components/FormPage/index.d.ts +2 -0
  27. package/dist/components/FormRenderer/FormRenderer.d.ts +39 -0
  28. package/dist/components/FormRenderer/handlers/cyaAction.d.ts +9 -0
  29. package/dist/components/FormRenderer/handlers/getPageId.d.ts +8 -0
  30. package/dist/components/FormRenderer/handlers/index.d.ts +6 -0
  31. package/dist/components/FormRenderer/handlers/navigate.d.ts +10 -0
  32. package/dist/components/FormRenderer/handlers/submissionError.d.ts +7 -0
  33. package/dist/components/FormRenderer/helpers/canActionProceed.d.ts +12 -0
  34. package/dist/components/FormRenderer/helpers/canCYASubmit.d.ts +10 -0
  35. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.d.ts +2 -0
  36. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.d.ts +51 -0
  37. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutesUtils.d.ts +179 -0
  38. package/dist/components/FormRenderer/helpers/getCYA.d.ts +20 -0
  39. package/dist/components/FormRenderer/helpers/getFormState.d.ts +25 -0
  40. package/dist/components/FormRenderer/helpers/getNextPageId.d.ts +2 -0
  41. package/dist/components/FormRenderer/helpers/getPage.d.ts +9 -0
  42. package/dist/components/FormRenderer/helpers/getRelevantPages.d.ts +2 -0
  43. package/dist/components/FormRenderer/helpers/getSubmissionStatus.d.ts +2 -0
  44. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.d.ts +10 -0
  45. package/dist/components/FormRenderer/helpers/index.d.ts +29 -0
  46. package/dist/components/FormRenderer/index.d.ts +2 -0
  47. package/dist/components/FormRenderer/onCYAAction.d.ts +6 -0
  48. package/dist/components/FormRenderer/onPageAction.d.ts +2 -0
  49. package/dist/components/FormRenderer/onTaskAction.d.ts +2 -0
  50. package/dist/components/PageActions/ActionButton.d.ts +7 -0
  51. package/dist/components/PageActions/PageActions.d.ts +7 -0
  52. package/dist/components/PageActions/index.d.ts +2 -0
  53. package/dist/components/SummaryList/GroupAction.d.ts +12 -0
  54. package/dist/components/SummaryList/RowAction.d.ts +12 -0
  55. package/dist/components/SummaryList/SummaryList.d.ts +28 -0
  56. package/dist/components/SummaryList/SummaryList.stories.d.ts +10 -0
  57. package/dist/components/SummaryList/SummaryListHeadingRow.d.ts +7 -0
  58. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.d.ts +16 -0
  59. package/dist/components/SummaryList/SummaryListRow.d.ts +19 -0
  60. package/dist/components/SummaryList/SummaryListTitleRow.d.ts +7 -0
  61. package/dist/components/SummaryList/helpers/getGroupActionAttributes.d.ts +17 -0
  62. package/dist/components/SummaryList/helpers/getRowActionAttributes.d.ts +17 -0
  63. package/dist/components/SummaryList/helpers/index.d.ts +2 -0
  64. package/dist/components/SummaryList/index.d.ts +2 -0
  65. package/dist/components/TaskList/Task.d.ts +12 -0
  66. package/dist/components/TaskList/TaskList.d.ts +40 -0
  67. package/dist/components/TaskList/TaskState.d.ts +6 -0
  68. package/dist/components/TaskList/index.d.ts +2 -0
  69. package/dist/components/index.d.ts +8 -0
  70. package/dist/context/HooksContext/HooksContext.d.ts +23 -0
  71. package/dist/context/HooksContext/index.d.ts +3 -0
  72. package/dist/context/ValidationContext/ValidationContext.d.ts +7 -0
  73. package/dist/context/ValidationContext/index.d.ts +3 -0
  74. package/dist/context/index.d.ts +3 -0
  75. package/dist/hooks/index.d.ts +6 -0
  76. package/dist/hooks/useAxios.d.ts +2 -0
  77. package/dist/hooks/useGetRequest.d.ts +12 -0
  78. package/dist/hooks/useHooks.d.ts +2 -0
  79. package/dist/hooks/useRefData.d.ts +7 -0
  80. package/dist/hooks/useValidation.d.ts +2 -0
  81. package/dist/index.cjs +5 -0
  82. package/dist/index.css +1 -0
  83. package/dist/index.d.ts +6 -0
  84. package/dist/index.js +6124 -81
  85. package/dist/models/CollectionLabels.d.ts +7 -0
  86. package/dist/models/ComponentTypes.d.ts +27 -0
  87. package/dist/models/EventTypes.d.ts +6 -0
  88. package/dist/models/FormPages.d.ts +6 -0
  89. package/dist/models/FormTypes.d.ts +10 -0
  90. package/dist/models/HubFormats.d.ts +5 -0
  91. package/dist/models/PageAction.d.ts +89 -0
  92. package/dist/models/TaskStates.d.ts +39 -0
  93. package/dist/models/index.d.ts +143 -0
  94. package/dist/setupTests.d.ts +14 -0
  95. package/dist/utils/CheckYourAnswers/getCYAAction.d.ts +20 -0
  96. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.d.ts +22 -0
  97. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.d.ts +22 -0
  98. package/dist/utils/CheckYourAnswers/getCYARow.d.ts +26 -0
  99. package/dist/utils/CheckYourAnswers/getCYARowForGroup.d.ts +17 -0
  100. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.d.ts +2 -0
  101. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.d.ts +23 -0
  102. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.d.ts +2 -0
  103. package/dist/utils/CheckYourAnswers/getCYARowsForPage.d.ts +11 -0
  104. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.d.ts +3 -0
  105. package/dist/utils/CheckYourAnswers/index.d.ts +5 -0
  106. package/dist/utils/CheckYourAnswers/showComponentCYA.d.ts +11 -0
  107. package/dist/utils/CollectionPage/addCollectionPageEntry.d.ts +12 -0
  108. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.d.ts +13 -0
  109. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.d.ts +13 -0
  110. package/dist/utils/CollectionPage/getCollectionPageActiveId.d.ts +14 -0
  111. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.d.ts +15 -0
  112. package/dist/utils/CollectionPage/getCollectionPageData.d.ts +15 -0
  113. package/dist/utils/CollectionPage/getErrorsForCollection.d.ts +2 -0
  114. package/dist/utils/CollectionPage/getQuickEditPage.d.ts +40 -0
  115. package/dist/utils/CollectionPage/index.d.ts +13 -0
  116. package/dist/utils/CollectionPage/mergeCollectionPages.d.ts +13 -0
  117. package/dist/utils/CollectionPage/removeCollectionPageEntry.d.ts +11 -0
  118. package/dist/utils/CollectionPage/setCollectionPageData.d.ts +16 -0
  119. package/dist/utils/Component/addShowWhen.d.ts +13 -0
  120. package/dist/utils/Component/applyToComponentTree.d.ts +15 -0
  121. package/dist/utils/Component/cleanAttributes.d.ts +14 -0
  122. package/dist/utils/Component/elevateNestedComponents.d.ts +28 -0
  123. package/dist/utils/Component/getDefaultValue.d.ts +2 -0
  124. package/dist/utils/Component/getDefaultValueFromConfig.d.ts +2 -0
  125. package/dist/utils/Component/index.d.ts +12 -0
  126. package/dist/utils/Component/isEditable.d.ts +3 -0
  127. package/dist/utils/Component/optionIsSelected.d.ts +10 -0
  128. package/dist/utils/Component/setupContainerComponentsPath.d.ts +2 -0
  129. package/dist/utils/Component/showComponent.d.ts +2 -0
  130. package/dist/utils/Condition/index.d.ts +6 -0
  131. package/dist/utils/Condition/meetsAllConditions.d.ts +8 -0
  132. package/dist/utils/Condition/meetsCondition.d.ts +14 -0
  133. package/dist/utils/Condition/meetsOneCondition.d.ts +8 -0
  134. package/dist/utils/Condition/setupConditions.d.ts +2 -0
  135. package/dist/utils/Container/getEditableComponents.d.ts +7 -0
  136. package/dist/utils/Container/index.d.ts +6 -0
  137. package/dist/utils/Container/setupNesting.d.ts +2 -0
  138. package/dist/utils/Container/showContainer.d.ts +8 -0
  139. package/dist/utils/Data/applyFormula.d.ts +2 -0
  140. package/dist/utils/Data/deleteValues.d.ts +8 -0
  141. package/dist/utils/Data/getAutocompleteSource.d.ts +2 -0
  142. package/dist/utils/Data/getDataPath.d.ts +21 -0
  143. package/dist/utils/Data/getOptions.d.ts +2 -0
  144. package/dist/utils/Data/getSourceData.d.ts +17 -0
  145. package/dist/utils/Data/index.d.ts +15 -0
  146. package/dist/utils/Data/nestInRefdataOptions.d.ts +10 -0
  147. package/dist/utils/Data/refDataToOptions.d.ts +8 -0
  148. package/dist/utils/Data/setDataItem.d.ts +2 -0
  149. package/dist/utils/Data/setupFormData.d.ts +15 -0
  150. package/dist/utils/Data/setupRefDataUrlForComponent.d.ts +2 -0
  151. package/dist/utils/FormPage/applyConditionalProperties.d.ts +8 -0
  152. package/dist/utils/FormPage/getConditionalText.d.ts +23 -0
  153. package/dist/utils/FormPage/getFormPage.d.ts +9 -0
  154. package/dist/utils/FormPage/getFormPages.d.ts +9 -0
  155. package/dist/utils/FormPage/getPageActions.d.ts +13 -0
  156. package/dist/utils/FormPage/getParagraphFromText.d.ts +11 -0
  157. package/dist/utils/FormPage/index.d.ts +10 -0
  158. package/dist/utils/FormPage/showFormPage.d.ts +8 -0
  159. package/dist/utils/FormPage/showFormPageCYA.d.ts +8 -0
  160. package/dist/utils/FormPage/useComponent.d.ts +9 -0
  161. package/dist/utils/Format/formatData.d.ts +8 -0
  162. package/dist/utils/Format/formatDataForComponent.d.ts +15 -0
  163. package/dist/utils/Format/formatDataForForm.d.ts +8 -0
  164. package/dist/utils/Format/formatDataForPage.d.ts +15 -0
  165. package/dist/utils/Format/index.d.ts +7 -0
  166. package/dist/utils/Hub/getFormHub.d.ts +15 -0
  167. package/dist/utils/Hub/index.d.ts +4 -0
  168. package/dist/utils/Meta/constants.d.ts +2 -0
  169. package/dist/utils/Meta/documents/getDocuments.d.ts +2 -0
  170. package/dist/utils/Meta/documents/index.d.ts +6 -0
  171. package/dist/utils/Meta/documents/setDocumentsForField.d.ts +2 -0
  172. package/dist/utils/Meta/index.d.ts +9 -0
  173. package/dist/utils/Operate/checkValueIsTruthy.d.ts +9 -0
  174. package/dist/utils/Operate/deleteValueInFormData.d.ts +8 -0
  175. package/dist/utils/Operate/doesContainValue.d.ts +11 -0
  176. package/dist/utils/Operate/getFirstOf.d.ts +2 -0
  177. package/dist/utils/Operate/getIndexOfMatchingValueIn.d.ts +11 -0
  178. package/dist/utils/Operate/getLength.d.ts +11 -0
  179. package/dist/utils/Operate/index.d.ts +4 -0
  180. package/dist/utils/Operate/persistValueInFormData.d.ts +9 -0
  181. package/dist/utils/Operate/runPageOperations.d.ts +19 -0
  182. package/dist/utils/Operate/setValueInFormData.d.ts +2 -0
  183. package/dist/utils/Operate/shouldRun.d.ts +9 -0
  184. package/dist/utils/Validate/additional/conditionallyPermittedChange.d.ts +14 -0
  185. package/dist/utils/Validate/additional/conditionallyRequired.d.ts +11 -0
  186. package/dist/utils/Validate/additional/index.d.ts +2 -0
  187. package/dist/utils/Validate/additional/mustBeAfter.d.ts +14 -0
  188. package/dist/utils/Validate/additional/mustBeBefore.d.ts +14 -0
  189. package/dist/utils/Validate/additional/mustBeEarlierDateTime.d.ts +15 -0
  190. package/dist/utils/Validate/additional/mustBeGreaterThan.d.ts +7 -0
  191. package/dist/utils/Validate/additional/mustBeInTheFuture.d.ts +8 -0
  192. package/dist/utils/Validate/additional/mustBeInThePast.d.ts +9 -0
  193. package/dist/utils/Validate/additional/mustBeLessThan.d.ts +7 -0
  194. package/dist/utils/Validate/additional/mustBeLongerThan.d.ts +9 -0
  195. package/dist/utils/Validate/additional/mustBeNumbersOnly.d.ts +9 -0
  196. package/dist/utils/Validate/additional/mustBeOneOf.d.ts +8 -0
  197. package/dist/utils/Validate/additional/mustBeShorterThan.d.ts +9 -0
  198. package/dist/utils/Validate/additional/mustBeUniqueInCollection.d.ts +10 -0
  199. package/dist/utils/Validate/additional/mustEnterAtLeastOne.d.ts +9 -0
  200. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.d.ts +7 -0
  201. package/dist/utils/Validate/additional/mustNotContainSql.d.ts +2 -0
  202. package/dist/utils/Validate/additional/mustSelectOnlyOne.d.ts +8 -0
  203. package/dist/utils/Validate/additional/utils.d.ts +4 -0
  204. package/dist/utils/Validate/index.d.ts +42 -0
  205. package/dist/utils/Validate/validateCollection.d.ts +9 -0
  206. package/dist/utils/Validate/validateComponent.d.ts +16 -0
  207. package/dist/utils/Validate/validateContainer.d.ts +12 -0
  208. package/dist/utils/Validate/validateDate.d.ts +29 -0
  209. package/dist/utils/Validate/validateEmail.d.ts +13 -0
  210. package/dist/utils/Validate/validateMultifile.d.ts +3 -0
  211. package/dist/utils/Validate/validateOnPageLoad.d.ts +1 -0
  212. package/dist/utils/Validate/validatePage.d.ts +8 -0
  213. package/dist/utils/Validate/validateRegex.d.ts +13 -0
  214. package/dist/utils/Validate/validateRequired.d.ts +9 -0
  215. package/dist/utils/Validate/validateTextArea.d.ts +13 -0
  216. package/dist/utils/Validate/validateTime.d.ts +20 -0
  217. package/dist/utils/canOverrideFieldRequired.d.ts +9 -0
  218. package/dist/utils/index.d.ts +140 -0
  219. package/package.json +81 -170
  220. package/LICENCE.md +0 -21
  221. package/dist/components/CheckYourAnswers/Answer.js +0 -59
  222. package/dist/components/CheckYourAnswers/Answer.test.js +0 -142
  223. package/dist/components/CheckYourAnswers/CheckYourAnswers.js +0 -252
  224. package/dist/components/CheckYourAnswers/CheckYourAnswers.scss +0 -43
  225. package/dist/components/CheckYourAnswers/CheckYourAnswers.stories.mdx +0 -409
  226. package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +0 -603
  227. package/dist/components/CheckYourAnswers/index.js +0 -10
  228. package/dist/components/CollectionPage/CollectionPage.js +0 -178
  229. package/dist/components/CollectionPage/CollectionPage.test.js +0 -507
  230. package/dist/components/CollectionPage/index.js +0 -10
  231. package/dist/components/CollectionSummary/BannerStrip.js +0 -65
  232. package/dist/components/CollectionSummary/BannerStrip.scss +0 -60
  233. package/dist/components/CollectionSummary/BannerStrip.test.js +0 -167
  234. package/dist/components/CollectionSummary/CollectionSummary.js +0 -362
  235. package/dist/components/CollectionSummary/CollectionSummary.scss +0 -26
  236. package/dist/components/CollectionSummary/CollectionSummary.test.js +0 -368
  237. package/dist/components/CollectionSummary/Confirmation.js +0 -65
  238. package/dist/components/CollectionSummary/Confirmation.scss +0 -26
  239. package/dist/components/CollectionSummary/Confirmation.test.js +0 -109
  240. package/dist/components/CollectionSummary/RenderListView.js +0 -162
  241. package/dist/components/CollectionSummary/RenderListView.scss +0 -295
  242. package/dist/components/CollectionSummary/RenderListView.test.js +0 -303
  243. package/dist/components/CollectionSummary/SummaryCard.js +0 -277
  244. package/dist/components/CollectionSummary/SummaryCard.scss +0 -114
  245. package/dist/components/CollectionSummary/SummaryCard.test.js +0 -1442
  246. package/dist/components/CollectionSummary/SummaryCardButtons.js +0 -76
  247. package/dist/components/CollectionSummary/SummaryCardButtons.test.js +0 -87
  248. package/dist/components/CollectionSummary/SummaryCardDetails.js +0 -206
  249. package/dist/components/CollectionSummary/SummaryCardDetails.scss +0 -216
  250. package/dist/components/CollectionSummary/SummaryCardDetails.test.js +0 -654
  251. package/dist/components/CollectionSummary/SummaryCardValidationContext.js +0 -79
  252. package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +0 -104
  253. package/dist/components/CollectionSummary/index.js +0 -10
  254. package/dist/components/FormComponent/Collection.js +0 -234
  255. package/dist/components/FormComponent/Collection.scss +0 -24
  256. package/dist/components/FormComponent/Collection.test.js +0 -934
  257. package/dist/components/FormComponent/Container.js +0 -130
  258. package/dist/components/FormComponent/Container.scss +0 -15
  259. package/dist/components/FormComponent/Container.test.js +0 -456
  260. package/dist/components/FormComponent/FormComponent.js +0 -238
  261. package/dist/components/FormComponent/FormComponent.stories.mdx +0 -186
  262. package/dist/components/FormComponent/FormComponent.test.js +0 -436
  263. package/dist/components/FormComponent/helpers/addLabel.js +0 -25
  264. package/dist/components/FormComponent/helpers/getComponentDisabled.js +0 -15
  265. package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +0 -27
  266. package/dist/components/FormComponent/helpers/getComponentError.js +0 -23
  267. package/dist/components/FormComponent/helpers/getComponentError.test.js +0 -51
  268. package/dist/components/FormComponent/helpers/getComponentFieldSet.js +0 -11
  269. package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +0 -30
  270. package/dist/components/FormComponent/helpers/index.js +0 -35
  271. package/dist/components/FormComponent/index.js +0 -10
  272. package/dist/components/FormPage/FormPage.js +0 -212
  273. package/dist/components/FormPage/FormPage.scss +0 -7
  274. package/dist/components/FormPage/FormPage.stories.mdx +0 -157
  275. package/dist/components/FormPage/FormPage.test.js +0 -454
  276. package/dist/components/FormPage/index.js +0 -10
  277. package/dist/components/FormRenderer/FormRenderer.js +0 -426
  278. package/dist/components/FormRenderer/FormRenderer.scss +0 -5
  279. package/dist/components/FormRenderer/FormRenderer.stories.mdx +0 -178
  280. package/dist/components/FormRenderer/FormRenderer.test.js +0 -799
  281. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/cop-reassign-task-to-rcc.json +0 -446
  282. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-containerised.json +0 -120
  283. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-dependent-component-nested-block.json +0 -113
  284. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-dependent-component-nested.json +0 -106
  285. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-refdata.json +0 -106
  286. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-target-component-nested.json +0 -99
  287. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens.json +0 -106
  288. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-show-whens-page-hidden.json +0 -113
  289. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-cop-airpax.json +0 -26408
  290. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-cop-mandec.json +0 -9405
  291. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-collection-component-dependent-on-external-data.json +0 -158
  292. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-collection-component.json +0 -86
  293. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-referring-to-collection.json +0 -173
  294. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-referring-to-hidden-collection.json +0 -202
  295. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-show-when-in-component-and-page.json +0 -63
  296. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-with-nested-questions-visible-elsewhere.json +0 -118
  297. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-with-nested-questions.json +0 -112
  298. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component.json +0 -58
  299. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-containerised-component.json +0 -97
  300. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-embedded-collection-component.json +0 -83
  301. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-embedded-component.json +0 -55
  302. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-entire-collection.json +0 -114
  303. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-multilevel-containerised-component-leaf-hidden.json +0 -106
  304. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-multilevel-containerised-component.json +0 -106
  305. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-options.json +0 -99
  306. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page-collection.json +0 -128
  307. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page-component-used-elsewhere.json +0 -109
  308. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page-same-component-reused.json +0 -62
  309. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page.json +0 -96
  310. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-nested-answers-hidden-by-option-visible-elsewhere.json +0 -113
  311. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-nested-answers-hidden-by-option.json +0 -112
  312. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-page-nested-component.json +0 -26003
  313. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-page-nested-radio-component.json +0 -201
  314. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-page-same-component-reused-one-shown.json +0 -75
  315. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-variance-breach.json +0 -4272
  316. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-airpax-carrier.json +0 -407
  317. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-airpax-change-what-happened-before.json +0 -300
  318. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-airpax-remove-photos-before.json +0 -384
  319. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-mandec-remove-business-interests-before.json +0 -140
  320. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-mandec-remove-criminality-before.json +0 -186
  321. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-mandec-remove-unspent-convictions-before.json +0 -143
  322. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-variance-breach-with-upload-files.json +0 -1264
  323. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-containerised.json +0 -11
  324. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-dependent-component-nested-block.json +0 -10
  325. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-dependent-component-nested.json +0 -9
  326. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-refdata.json +0 -11
  327. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-target-component-nested.json +0 -9
  328. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens.json +0 -9
  329. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-show-whens-page-hidden.json +0 -9
  330. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-collection-component-dependent-on-external-data.json +0 -26
  331. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-collection-component.json +0 -15
  332. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-referring-to-collection.json +0 -25
  333. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-referring-to-hidden-collection.json +0 -26
  334. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-show-when-in-component-and-page.json +0 -6
  335. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-with-nested-questions-visible-elsewhere.json +0 -12
  336. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-with-nested-questions.json +0 -12
  337. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component.json +0 -5
  338. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-containerised-component.json +0 -11
  339. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-embedded-collection-component.json +0 -15
  340. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-embedded-component.json +0 -5
  341. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-entire-collection.json +0 -20
  342. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-multilevel-containerised-component-leaf-hidden.json +0 -14
  343. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-multilevel-containerised-component.json +0 -14
  344. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-options.json +0 -10
  345. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page-collection.json +0 -18
  346. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page-component-used-elsewhere.json +0 -9
  347. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page-same-component-reused.json +0 -6
  348. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page.json +0 -9
  349. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-nested-answers-hidden-by-option-visible-elsewhere.json +0 -12
  350. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-nested-answers-hidden-by-option.json +0 -12
  351. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-page-nested-component.json +0 -63
  352. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-page-nested-radio-component.json +0 -45
  353. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-page-same-component-reused-one-shown.json +0 -8
  354. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/reassign-to-rcc.json +0 -72
  355. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-airpax-change-what-happened-after.json +0 -280
  356. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-airpax-remove-photos-after.json +0 -355
  357. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-base-file.json +0 -80
  358. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-remove-business-interests-after.json +0 -122
  359. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-remove-criminality-after.json +0 -86
  360. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-remove-unspent-convictions-after.json +0 -127
  361. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-containerised-removed.json +0 -11
  362. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-dependent-component-nested-block-removed.json +0 -7
  363. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-dependent-component-nested-removed.json +0 -7
  364. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-refdata-removed.json +0 -7
  365. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-removed.json +0 -7
  366. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-target-component-nested-removed.json +0 -6
  367. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-show-whens-page-hidden-removed.json +0 -6
  368. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-collection-component-dependent-on-external-data-removed.json +0 -23
  369. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-collection-component-removed.json +0 -4
  370. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-referring-to-collection-removed.json +0 -21
  371. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-referring-to-hidden-collection-removed.json +0 -6
  372. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-removed.json +0 -4
  373. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-show-when-in-component-and-page-removed.json +0 -5
  374. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-with-nested-questions-removed.json +0 -10
  375. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-with-nested-questions-visible-elsewhere-removed.json +0 -11
  376. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-containerised-component-removed.json +0 -10
  377. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-embedded-collection-component-removed.json +0 -4
  378. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-embedded-component-removed.json +0 -4
  379. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-entire-collection-removed.json +0 -3
  380. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-multilevel-containerised-component-leaf-hidden-removed.json +0 -13
  381. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-multilevel-containerised-component-removed.json +0 -10
  382. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-options-removed.json +0 -8
  383. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-collection-removed.json +0 -15
  384. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-component-used-elsewhere-removed.json +0 -5
  385. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-removed.json +0 -4
  386. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-same-component-reused-removed.json +0 -5
  387. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-nested-answers-hidden-by-option-removed.json +0 -11
  388. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-nested-answers-hidden-by-option-visible-elsewhere-removed.json +0 -12
  389. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-page-nested-component.json +0 -63
  390. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-page-nested-radio-component-removed.json +0 -45
  391. package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-page-same-component-reused-one-shown-removed.json +0 -7
  392. package/dist/components/FormRenderer/handlers/cyaAction.js +0 -23
  393. package/dist/components/FormRenderer/handlers/getPageId.js +0 -15
  394. package/dist/components/FormRenderer/handlers/getPageId.test.js +0 -35
  395. package/dist/components/FormRenderer/handlers/handlers.test.js +0 -81
  396. package/dist/components/FormRenderer/handlers/index.js +0 -17
  397. package/dist/components/FormRenderer/handlers/navigate.js +0 -25
  398. package/dist/components/FormRenderer/handlers/submissionError.js +0 -18
  399. package/dist/components/FormRenderer/helpers/canActionProceed.js +0 -27
  400. package/dist/components/FormRenderer/helpers/canActionProceed.test.js +0 -84
  401. package/dist/components/FormRenderer/helpers/canCYASubmit.js +0 -17
  402. package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +0 -75
  403. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +0 -63
  404. package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +0 -191
  405. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.js +0 -338
  406. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.test.js +0 -434
  407. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutesUtils.js +0 -399
  408. package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutesUtils.test.js +0 -559
  409. package/dist/components/FormRenderer/helpers/getCYA.js +0 -42
  410. package/dist/components/FormRenderer/helpers/getCYA.test.js +0 -46
  411. package/dist/components/FormRenderer/helpers/getFormState.js +0 -25
  412. package/dist/components/FormRenderer/helpers/getFormState.test.js +0 -60
  413. package/dist/components/FormRenderer/helpers/getNextPageId.js +0 -76
  414. package/dist/components/FormRenderer/helpers/getNextPageId.test.js +0 -292
  415. package/dist/components/FormRenderer/helpers/getPage.js +0 -27
  416. package/dist/components/FormRenderer/helpers/getPage.test.js +0 -45
  417. package/dist/components/FormRenderer/helpers/getRelevantPages.js +0 -27
  418. package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +0 -70
  419. package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +0 -65
  420. package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +0 -309
  421. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +0 -201
  422. package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +0 -473
  423. package/dist/components/FormRenderer/helpers/index.js +0 -33
  424. package/dist/components/FormRenderer/index.js +0 -10
  425. package/dist/components/FormRenderer/onCYAAction.js +0 -150
  426. package/dist/components/FormRenderer/onCYAAction.test.js +0 -741
  427. package/dist/components/FormRenderer/onPageAction.js +0 -227
  428. package/dist/components/FormRenderer/onPageAction.test.js +0 -960
  429. package/dist/components/FormRenderer/onTaskAction.js +0 -47
  430. package/dist/components/FormRenderer/onTaskAction.test.js +0 -247
  431. package/dist/components/PageActions/ActionButton.js +0 -48
  432. package/dist/components/PageActions/ActionButton.test.js +0 -73
  433. package/dist/components/PageActions/PageActions.js +0 -37
  434. package/dist/components/PageActions/PageActions.stories.mdx +0 -74
  435. package/dist/components/PageActions/PageActions.test.js +0 -106
  436. package/dist/components/PageActions/index.js +0 -10
  437. package/dist/components/SummaryList/GroupAction.js +0 -50
  438. package/dist/components/SummaryList/GroupAction.test.js +0 -86
  439. package/dist/components/SummaryList/RowAction.js +0 -48
  440. package/dist/components/SummaryList/RowAction.test.js +0 -86
  441. package/dist/components/SummaryList/SummaryList.js +0 -128
  442. package/dist/components/SummaryList/SummaryList.scss +0 -79
  443. package/dist/components/SummaryList/SummaryList.stories.mdx +0 -84
  444. package/dist/components/SummaryList/SummaryList.test.js +0 -504
  445. package/dist/components/SummaryList/SummaryListHeadingRow.js +0 -39
  446. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +0 -65
  447. package/dist/components/SummaryList/SummaryListHeadingRowWithAction.scss +0 -38
  448. package/dist/components/SummaryList/SummaryListRow.js +0 -58
  449. package/dist/components/SummaryList/SummaryListTitleRow.js +0 -32
  450. package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +0 -29
  451. package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +0 -72
  452. package/dist/components/SummaryList/helpers/getRowActionAttributes.js +0 -29
  453. package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +0 -72
  454. package/dist/components/SummaryList/helpers/index.js +0 -14
  455. package/dist/components/SummaryList/index.js +0 -10
  456. package/dist/components/TaskList/Task.js +0 -62
  457. package/dist/components/TaskList/Task.test.js +0 -176
  458. package/dist/components/TaskList/TaskList.js +0 -175
  459. package/dist/components/TaskList/TaskList.scss +0 -123
  460. package/dist/components/TaskList/TaskList.stories.mdx +0 -164
  461. package/dist/components/TaskList/TaskList.test.js +0 -535
  462. package/dist/components/TaskList/TaskState.js +0 -37
  463. package/dist/components/TaskList/TaskState.test.js +0 -95
  464. package/dist/components/TaskList/index.js +0 -10
  465. package/dist/components/index.js +0 -56
  466. package/dist/context/HooksContext/HooksContext.js +0 -122
  467. package/dist/context/HooksContext/HooksContext.test.js +0 -45
  468. package/dist/context/HooksContext/index.js +0 -16
  469. package/dist/context/ValidationContext/ValidationContext.js +0 -98
  470. package/dist/context/ValidationContext/ValidationContext.test.js +0 -107
  471. package/dist/context/ValidationContext/index.js +0 -16
  472. package/dist/context/index.js +0 -21
  473. package/dist/hooks/index.js +0 -55
  474. package/dist/hooks/useAxios.js +0 -36
  475. package/dist/hooks/useGetRequest.js +0 -89
  476. package/dist/hooks/useHooks.js +0 -15
  477. package/dist/hooks/useRefData.js +0 -62
  478. package/dist/hooks/useValidation.js +0 -15
  479. package/dist/json/actions.json +0 -17
  480. package/dist/json/actionsNoSave.json +0 -17
  481. package/dist/json/addressDetails.json +0 -149
  482. package/dist/json/areYouACivilServant.json +0 -7
  483. package/dist/json/firstForm.json +0 -94
  484. package/dist/json/grade.json +0 -108
  485. package/dist/json/group.data.json +0 -21
  486. package/dist/json/group.json +0 -402
  487. package/dist/json/groupOfRow.json +0 -137
  488. package/dist/json/groupOfRowData.json +0 -15
  489. package/dist/json/port.json +0 -346
  490. package/dist/json/saveAndContinue.json +0 -98
  491. package/dist/json/sublocation.json +0 -859
  492. package/dist/json/taskList.json +0 -265
  493. package/dist/json/team.json +0 -17351
  494. package/dist/json/terminal.json +0 -81
  495. package/dist/json/userProfile.data.json +0 -21
  496. package/dist/json/userProfile.json +0 -276
  497. package/dist/models/CollectionLabels.js +0 -15
  498. package/dist/models/ComponentTypes.js +0 -58
  499. package/dist/models/EventTypes.js +0 -16
  500. package/dist/models/FormPages.js +0 -16
  501. package/dist/models/FormTypes.js +0 -24
  502. package/dist/models/HubFormats.js +0 -14
  503. package/dist/models/PageAction.js +0 -65
  504. package/dist/models/TaskStates.js +0 -46
  505. package/dist/models/index.js +0 -77
  506. package/dist/setupTests.js +0 -54
  507. package/dist/utils/CheckYourAnswers/getCYAAction.js +0 -44
  508. package/dist/utils/CheckYourAnswers/getCYAAction.test.js +0 -120
  509. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +0 -57
  510. package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +0 -162
  511. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +0 -66
  512. package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +0 -198
  513. package/dist/utils/CheckYourAnswers/getCYARow.js +0 -58
  514. package/dist/utils/CheckYourAnswers/getCYARow.test.js +0 -373
  515. package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +0 -69
  516. package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +0 -70
  517. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +0 -71
  518. package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +0 -285
  519. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +0 -237
  520. package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +0 -844
  521. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +0 -45
  522. package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +0 -535
  523. package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +0 -72
  524. package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +0 -343
  525. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +0 -42
  526. package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +0 -56
  527. package/dist/utils/CheckYourAnswers/index.js +0 -15
  528. package/dist/utils/CheckYourAnswers/showComponentCYA.js +0 -53
  529. package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +0 -149
  530. package/dist/utils/CollectionPage/addCollectionPageEntry.js +0 -23
  531. package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +0 -17
  532. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +0 -26
  533. package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +0 -70
  534. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +0 -51
  535. package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +0 -125
  536. package/dist/utils/CollectionPage/getCollectionPageActiveId.js +0 -24
  537. package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +0 -26
  538. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +0 -44
  539. package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +0 -88
  540. package/dist/utils/CollectionPage/getCollectionPageData.js +0 -53
  541. package/dist/utils/CollectionPage/getCollectionPageData.test.js +0 -103
  542. package/dist/utils/CollectionPage/getErrorsForCollection.js +0 -55
  543. package/dist/utils/CollectionPage/getErrorsForCollection.test.js +0 -154
  544. package/dist/utils/CollectionPage/getQuickEditPage.js +0 -122
  545. package/dist/utils/CollectionPage/getQuickEditPage.test.js +0 -143
  546. package/dist/utils/CollectionPage/index.js +0 -33
  547. package/dist/utils/CollectionPage/mergeCollectionPages.js +0 -128
  548. package/dist/utils/CollectionPage/mergeCollectionPages.test.js +0 -198
  549. package/dist/utils/CollectionPage/removeCollectionPageEntry.js +0 -36
  550. package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +0 -62
  551. package/dist/utils/CollectionPage/setCollectionPageData.js +0 -60
  552. package/dist/utils/CollectionPage/setCollectionPageData.test.js +0 -182
  553. package/dist/utils/Component/addShowWhen.js +0 -43
  554. package/dist/utils/Component/addShowWhen.test.js +0 -217
  555. package/dist/utils/Component/applyToComponentTree.js +0 -68
  556. package/dist/utils/Component/applyToComponentTree.test.js +0 -125
  557. package/dist/utils/Component/cleanAttributes.js +0 -42
  558. package/dist/utils/Component/cleanAttributes.test.js +0 -67
  559. package/dist/utils/Component/elevateNestedComponents.js +0 -58
  560. package/dist/utils/Component/elevateNestedComponents.test.js +0 -305
  561. package/dist/utils/Component/getComponent.js +0 -305
  562. package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +0 -73
  563. package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +0 -251
  564. package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +0 -156
  565. package/dist/utils/Component/getComponentTests/getComponent.date.test.js +0 -104
  566. package/dist/utils/Component/getComponentTests/getComponent.details.test.js +0 -56
  567. package/dist/utils/Component/getComponentTests/getComponent.email.test.js +0 -60
  568. package/dist/utils/Component/getComponentTests/getComponent.file.test.js +0 -60
  569. package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +0 -31
  570. package/dist/utils/Component/getComponentTests/getComponent.html.test.js +0 -42
  571. package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +0 -29
  572. package/dist/utils/Component/getComponentTests/getComponent.list.test.js +0 -47
  573. package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +0 -66
  574. package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +0 -211
  575. package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +0 -46
  576. package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +0 -60
  577. package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +0 -221
  578. package/dist/utils/Component/getComponentTests/getComponent.select.test.js +0 -62
  579. package/dist/utils/Component/getComponentTests/getComponent.text.test.js +0 -60
  580. package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +0 -104
  581. package/dist/utils/Component/getComponentTests/getComponent.time.test.js +0 -80
  582. package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +0 -14
  583. package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +0 -29
  584. package/dist/utils/Component/getDefaultValue.js +0 -22
  585. package/dist/utils/Component/getDefaultValue.test.js +0 -62
  586. package/dist/utils/Component/getDefaultValueFromConfig.js +0 -106
  587. package/dist/utils/Component/getDefaultValueFromConfig.test.js +0 -141
  588. package/dist/utils/Component/index.js +0 -29
  589. package/dist/utils/Component/isEditable.js +0 -13
  590. package/dist/utils/Component/isEditable.test.js +0 -42
  591. package/dist/utils/Component/optionIsSelected.js +0 -25
  592. package/dist/utils/Component/optionIsSelected.test.js +0 -69
  593. package/dist/utils/Component/setupContainerComponentsPath.js +0 -35
  594. package/dist/utils/Component/setupContainerComponentsPath.test.js +0 -79
  595. package/dist/utils/Component/showComponent.js +0 -25
  596. package/dist/utils/Component/showComponent.test.js +0 -157
  597. package/dist/utils/Component/wrapInFormGroup.js +0 -26
  598. package/dist/utils/Condition/index.js +0 -17
  599. package/dist/utils/Condition/meetsAllConditions.js +0 -44
  600. package/dist/utils/Condition/meetsAllConditions.test.js +0 -109
  601. package/dist/utils/Condition/meetsCondition.js +0 -165
  602. package/dist/utils/Condition/meetsCondition.test.js +0 -899
  603. package/dist/utils/Condition/meetsOneCondition.js +0 -32
  604. package/dist/utils/Condition/meetsOneCondition.test.js +0 -101
  605. package/dist/utils/Condition/setupConditions.js +0 -36
  606. package/dist/utils/Condition/setupConditions.test.js +0 -34
  607. package/dist/utils/Container/getEditableComponents.js +0 -29
  608. package/dist/utils/Container/getEditableComponents.test.js +0 -134
  609. package/dist/utils/Container/index.js +0 -17
  610. package/dist/utils/Container/setupNesting.js +0 -53
  611. package/dist/utils/Container/setupNesting.test.js +0 -143
  612. package/dist/utils/Container/showContainer.js +0 -52
  613. package/dist/utils/Container/showContainer.test.js +0 -179
  614. package/dist/utils/Data/applyFormula.js +0 -90
  615. package/dist/utils/Data/applyFormula.test.js +0 -264
  616. package/dist/utils/Data/deleteValues.js +0 -19
  617. package/dist/utils/Data/deleteValues.test.js +0 -58
  618. package/dist/utils/Data/getAutocompleteSource.js +0 -87
  619. package/dist/utils/Data/getAutocompleteSource.test.js +0 -335
  620. package/dist/utils/Data/getDataPath.js +0 -66
  621. package/dist/utils/Data/getDataPath.test.js +0 -49
  622. package/dist/utils/Data/getOptions.js +0 -86
  623. package/dist/utils/Data/getOptions.test.js +0 -279
  624. package/dist/utils/Data/getSourceData.js +0 -44
  625. package/dist/utils/Data/getSourceData.test.js +0 -158
  626. package/dist/utils/Data/index.js +0 -35
  627. package/dist/utils/Data/nestInRefdataOptions.js +0 -47
  628. package/dist/utils/Data/nestInRefdataOptions.test.js +0 -237
  629. package/dist/utils/Data/refDataToOptions.js +0 -44
  630. package/dist/utils/Data/refDataToOptions.test.js +0 -197
  631. package/dist/utils/Data/setDataItem.js +0 -26
  632. package/dist/utils/Data/setDataItem.test.js +0 -136
  633. package/dist/utils/Data/setupFormData.js +0 -49
  634. package/dist/utils/Data/setupFormData.test.js +0 -215
  635. package/dist/utils/Data/setupRefDataUrlForComponent.js +0 -44
  636. package/dist/utils/Data/setupRefDataUrlForComponent.test.js +0 -150
  637. package/dist/utils/FormPage/applyConditionalProperties.js +0 -34
  638. package/dist/utils/FormPage/applyConditionalProperties.test.js +0 -61
  639. package/dist/utils/FormPage/getConditionalText.js +0 -55
  640. package/dist/utils/FormPage/getConditionalText.test.js +0 -163
  641. package/dist/utils/FormPage/getFormPage.js +0 -54
  642. package/dist/utils/FormPage/getFormPage.test.js +0 -206
  643. package/dist/utils/FormPage/getFormPages.js +0 -30
  644. package/dist/utils/FormPage/getFormPages.test.js +0 -97
  645. package/dist/utils/FormPage/getPageActions.js +0 -58
  646. package/dist/utils/FormPage/getPageActions.test.js +0 -115
  647. package/dist/utils/FormPage/getParagraphFromText.js +0 -21
  648. package/dist/utils/FormPage/getParagraphFromText.test.js +0 -28
  649. package/dist/utils/FormPage/index.js +0 -24
  650. package/dist/utils/FormPage/showFormPage.js +0 -52
  651. package/dist/utils/FormPage/showFormPage.test.js +0 -181
  652. package/dist/utils/FormPage/showFormPageCYA.js +0 -23
  653. package/dist/utils/FormPage/showFormPageCYA.test.js +0 -29
  654. package/dist/utils/FormPage/useComponent.js +0 -83
  655. package/dist/utils/FormPage/useComponent.test.js +0 -216
  656. package/dist/utils/Format/formatData.js +0 -27
  657. package/dist/utils/Format/formatData.test.js +0 -46
  658. package/dist/utils/Format/formatDataForComponent.js +0 -35
  659. package/dist/utils/Format/formatDataForComponent.test.js +0 -114
  660. package/dist/utils/Format/formatDataForForm.js +0 -27
  661. package/dist/utils/Format/formatDataForForm.test.js +0 -79
  662. package/dist/utils/Format/formatDataForPage.js +0 -31
  663. package/dist/utils/Format/formatDataForPage.test.js +0 -94
  664. package/dist/utils/Format/index.js +0 -21
  665. package/dist/utils/Hub/getFormHub.js +0 -40
  666. package/dist/utils/Hub/getFormHub.test.js +0 -105
  667. package/dist/utils/Hub/index.js +0 -15
  668. package/dist/utils/Meta/constants.js +0 -9
  669. package/dist/utils/Meta/documents/getDocuments.js +0 -15
  670. package/dist/utils/Meta/documents/getDocuments.test.js +0 -46
  671. package/dist/utils/Meta/documents/index.js +0 -19
  672. package/dist/utils/Meta/documents/setDocumentsForField.js +0 -30
  673. package/dist/utils/Meta/documents/setDocumentsForField.test.js +0 -97
  674. package/dist/utils/Meta/index.js +0 -17
  675. package/dist/utils/Operate/checkValueIsTruthy.js +0 -29
  676. package/dist/utils/Operate/checkValueIsTruthy.test.js +0 -43
  677. package/dist/utils/Operate/deleteValueInFormData.js +0 -27
  678. package/dist/utils/Operate/deleteValueInFormData.test.js +0 -61
  679. package/dist/utils/Operate/doesContainValue.js +0 -35
  680. package/dist/utils/Operate/doesContainValue.test.js +0 -76
  681. package/dist/utils/Operate/getFirstOf.js +0 -31
  682. package/dist/utils/Operate/getFirstOf.test.js +0 -87
  683. package/dist/utils/Operate/getIndexOfMatchingValueIn.js +0 -68
  684. package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +0 -158
  685. package/dist/utils/Operate/getLength.js +0 -51
  686. package/dist/utils/Operate/getLength.test.js +0 -90
  687. package/dist/utils/Operate/index.js +0 -13
  688. package/dist/utils/Operate/persistValueInFormData.js +0 -40
  689. package/dist/utils/Operate/persistValueInFormData.test.js +0 -118
  690. package/dist/utils/Operate/runPageOperations.js +0 -75
  691. package/dist/utils/Operate/runPageOperations.test.js +0 -105
  692. package/dist/utils/Operate/setValueInFormData.js +0 -22
  693. package/dist/utils/Operate/setValueInFormData.test.js +0 -45
  694. package/dist/utils/Operate/shouldRun.js +0 -57
  695. package/dist/utils/Operate/shouldRun.test.js +0 -65
  696. package/dist/utils/Validate/additional/conditionallyPermittedChange.js +0 -26
  697. package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +0 -34
  698. package/dist/utils/Validate/additional/conditionallyRequired.js +0 -24
  699. package/dist/utils/Validate/additional/conditionallyRequired.test.js +0 -74
  700. package/dist/utils/Validate/additional/index.js +0 -74
  701. package/dist/utils/Validate/additional/index.test.js +0 -130
  702. package/dist/utils/Validate/additional/mustBeAfter.js +0 -34
  703. package/dist/utils/Validate/additional/mustBeAfter.test.js +0 -109
  704. package/dist/utils/Validate/additional/mustBeBefore.js +0 -34
  705. package/dist/utils/Validate/additional/mustBeBefore.test.js +0 -77
  706. package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +0 -57
  707. package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +0 -128
  708. package/dist/utils/Validate/additional/mustBeGreaterThan.js +0 -22
  709. package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +0 -57
  710. package/dist/utils/Validate/additional/mustBeInTheFuture.js +0 -33
  711. package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +0 -32
  712. package/dist/utils/Validate/additional/mustBeInThePast.js +0 -36
  713. package/dist/utils/Validate/additional/mustBeInThePast.test.js +0 -32
  714. package/dist/utils/Validate/additional/mustBeLessThan.js +0 -22
  715. package/dist/utils/Validate/additional/mustBeLessThan.test.js +0 -53
  716. package/dist/utils/Validate/additional/mustBeLongerThan.js +0 -23
  717. package/dist/utils/Validate/additional/mustBeLongerThan.test.js +0 -49
  718. package/dist/utils/Validate/additional/mustBeNumbersOnly.js +0 -24
  719. package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +0 -45
  720. package/dist/utils/Validate/additional/mustBeOneOf.js +0 -22
  721. package/dist/utils/Validate/additional/mustBeOneOf.test.js +0 -37
  722. package/dist/utils/Validate/additional/mustBeShorterThan.js +0 -23
  723. package/dist/utils/Validate/additional/mustBeShorterThan.test.js +0 -49
  724. package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +0 -40
  725. package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +0 -163
  726. package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +0 -26
  727. package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +0 -37
  728. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +0 -19
  729. package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +0 -37
  730. package/dist/utils/Validate/additional/mustNotContainSql.js +0 -19
  731. package/dist/utils/Validate/additional/mustNotContainSql.test.js +0 -33
  732. package/dist/utils/Validate/additional/mustSelectOnlyOne.js +0 -29
  733. package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +0 -55
  734. package/dist/utils/Validate/additional/utils.js +0 -35
  735. package/dist/utils/Validate/index.js +0 -33
  736. package/dist/utils/Validate/validateCollection.js +0 -50
  737. package/dist/utils/Validate/validateCollection.test.js +0 -134
  738. package/dist/utils/Validate/validateComponent.js +0 -126
  739. package/dist/utils/Validate/validateComponent.test.js +0 -435
  740. package/dist/utils/Validate/validateContainer.js +0 -52
  741. package/dist/utils/Validate/validateContainer.test.js +0 -115
  742. package/dist/utils/Validate/validateDate.js +0 -112
  743. package/dist/utils/Validate/validateDate.test.js +0 -133
  744. package/dist/utils/Validate/validateEmail.js +0 -45
  745. package/dist/utils/Validate/validateEmail.test.js +0 -78
  746. package/dist/utils/Validate/validateMultifile.js +0 -29
  747. package/dist/utils/Validate/validateMultifile.test.js +0 -46
  748. package/dist/utils/Validate/validateOnPageLoad.js +0 -24
  749. package/dist/utils/Validate/validateOnPageLoad.test.js +0 -89
  750. package/dist/utils/Validate/validatePage.js +0 -56
  751. package/dist/utils/Validate/validatePage.test.js +0 -795
  752. package/dist/utils/Validate/validateRegex.js +0 -41
  753. package/dist/utils/Validate/validateRegex.test.js +0 -43
  754. package/dist/utils/Validate/validateRequired.js +0 -37
  755. package/dist/utils/Validate/validateRequired.test.js +0 -64
  756. package/dist/utils/Validate/validateTextArea.js +0 -36
  757. package/dist/utils/Validate/validateTextArea.test.js +0 -71
  758. package/dist/utils/Validate/validateTime.js +0 -76
  759. package/dist/utils/Validate/validateTime.test.js +0 -116
  760. package/dist/utils/canOverrideFieldRequired.js +0 -23
  761. package/dist/utils/index.js +0 -42
@@ -1,46 +0,0 @@
1
- "use strict";
2
-
3
- var _react = require("@testing-library/react");
4
- var _models = require("../../../models");
5
- var _getComponent = _interopRequireDefault(require("../getComponent"));
6
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
7
- // Global imports
8
-
9
- // Local imports
10
-
11
- describe('utils.Component.get', () => {
12
- it('should return a p tag and correct className for a paragraph component', () => {
13
- const ID = 'test-id';
14
- const CONTENT = 'paragraph content';
15
- const COMPONENT = {
16
- type: _models.ComponentTypes.PARAGRAPH,
17
- content: CONTENT,
18
- 'data-testid': ID
19
- };
20
- const {
21
- container
22
- } = (0, _react.render)((0, _getComponent.default)(COMPONENT));
23
- const p = (0, _react.getByTestId)(container, ID);
24
- expect(p.innerHTML).toContain(CONTENT);
25
- expect(p.tagName).toEqual('P');
26
- expect(p.className).toEqual('govuk-body');
27
- });
28
- it('should override default className for a paragraph component', () => {
29
- const ID = 'test-id';
30
- const CONTENT = 'paragraph content';
31
- const COMPONENT = {
32
- type: _models.ComponentTypes.PARAGRAPH,
33
- content: CONTENT,
34
- 'data-testid': ID,
35
- className: 'govuk-body highlight'
36
- };
37
- const {
38
- container
39
- } = (0, _react.render)((0, _getComponent.default)(COMPONENT));
40
- const p = (0, _react.getByTestId)(container, ID);
41
- expect(p.innerHTML).toContain(CONTENT);
42
- expect(p.tagName).toEqual('P');
43
- expect(p.className).toEqual('govuk-body highlight');
44
- });
45
- });
46
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX21vZGVscyIsIl9nZXRDb21wb25lbnQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiZGVzY3JpYmUiLCJpdCIsIklEIiwiQ09OVEVOVCIsIkNPTVBPTkVOVCIsInR5cGUiLCJDb21wb25lbnRUeXBlcyIsIlBBUkFHUkFQSCIsImNvbnRlbnQiLCJjb250YWluZXIiLCJyZW5kZXIiLCJnZXRDb21wb25lbnQiLCJwIiwiZ2V0QnlUZXN0SWQiLCJleHBlY3QiLCJpbm5lckhUTUwiLCJ0b0NvbnRhaW4iLCJ0YWdOYW1lIiwidG9FcXVhbCIsImNsYXNzTmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9Db21wb25lbnQvZ2V0Q29tcG9uZW50VGVzdHMvZ2V0Q29tcG9uZW50LnBhcmFncmFwaC50ZXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEdsb2JhbCBpbXBvcnRzXG5pbXBvcnQgeyBnZXRCeVRlc3RJZCwgcmVuZGVyIH0gZnJvbSAnQHRlc3RpbmctbGlicmFyeS9yZWFjdCc7XG5cbi8vIExvY2FsIGltcG9ydHNcbmltcG9ydCB7IENvbXBvbmVudFR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCBnZXRDb21wb25lbnQgZnJvbSAnLi4vZ2V0Q29tcG9uZW50JztcblxuZGVzY3JpYmUoJ3V0aWxzLkNvbXBvbmVudC5nZXQnLCAoKSA9PiB7XG5cbiAgaXQoJ3Nob3VsZCByZXR1cm4gYSBwIHRhZyBhbmQgY29ycmVjdCBjbGFzc05hbWUgZm9yIGEgcGFyYWdyYXBoIGNvbXBvbmVudCcsICgpID0+IHtcbiAgICBjb25zdCBJRCA9ICd0ZXN0LWlkJztcbiAgICBjb25zdCBDT05URU5UID0gJ3BhcmFncmFwaCBjb250ZW50JztcbiAgICBjb25zdCBDT01QT05FTlQgPSB7IHR5cGU6IENvbXBvbmVudFR5cGVzLlBBUkFHUkFQSCwgY29udGVudDogQ09OVEVOVCwgJ2RhdGEtdGVzdGlkJzogSUQgfTtcbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKGdldENvbXBvbmVudChDT01QT05FTlQpKTtcblxuICAgIGNvbnN0IHAgPSBnZXRCeVRlc3RJZChjb250YWluZXIsIElEKTtcbiAgICBleHBlY3QocC5pbm5lckhUTUwpLnRvQ29udGFpbihDT05URU5UKTtcbiAgICBleHBlY3QocC50YWdOYW1lKS50b0VxdWFsKCdQJyk7XG4gICAgZXhwZWN0KHAuY2xhc3NOYW1lKS50b0VxdWFsKCdnb3Z1ay1ib2R5Jyk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgb3ZlcnJpZGUgZGVmYXVsdCBjbGFzc05hbWUgZm9yIGEgcGFyYWdyYXBoIGNvbXBvbmVudCcsICgpID0+IHtcbiAgICBjb25zdCBJRCA9ICd0ZXN0LWlkJztcbiAgICBjb25zdCBDT05URU5UID0gJ3BhcmFncmFwaCBjb250ZW50JztcbiAgICBjb25zdCBDT01QT05FTlQgPSB7IHR5cGU6IENvbXBvbmVudFR5cGVzLlBBUkFHUkFQSCwgY29udGVudDogQ09OVEVOVCwgJ2RhdGEtdGVzdGlkJzogSUQsIGNsYXNzTmFtZTogJ2dvdnVrLWJvZHkgaGlnaGxpZ2h0JyB9O1xuICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoZ2V0Q29tcG9uZW50KENPTVBPTkVOVCkpO1xuXG4gICAgY29uc3QgcCA9IGdldEJ5VGVzdElkKGNvbnRhaW5lciwgSUQpO1xuICAgIGV4cGVjdChwLmlubmVySFRNTCkudG9Db250YWluKENPTlRFTlQpO1xuICAgIGV4cGVjdChwLnRhZ05hbWUpLnRvRXF1YWwoJ1AnKTtcbiAgICBleHBlY3QocC5jbGFzc05hbWUpLnRvRXF1YWwoJ2dvdnVrLWJvZHkgaGlnaGxpZ2h0Jyk7XG4gIH0pO1xuXG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7QUFDQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFHQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxhQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFBMkMsU0FBQUcsdUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFMM0M7O0FBR0E7O0FBSUFHLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRSxNQUFNO0VBRXBDQyxFQUFFLENBQUMsdUVBQXVFLEVBQUUsTUFBTTtJQUNoRixNQUFNQyxFQUFFLEdBQUcsU0FBUztJQUNwQixNQUFNQyxPQUFPLEdBQUcsbUJBQW1CO0lBQ25DLE1BQU1DLFNBQVMsR0FBRztNQUFFQyxJQUFJLEVBQUVDLHNCQUFjLENBQUNDLFNBQVM7TUFBRUMsT0FBTyxFQUFFTCxPQUFPO01BQUUsYUFBYSxFQUFFRDtJQUFHLENBQUM7SUFDekYsTUFBTTtNQUFFTztJQUFVLENBQUMsR0FBRyxJQUFBQyxhQUFNLEVBQUMsSUFBQUMscUJBQVksRUFBQ1AsU0FBUyxDQUFDLENBQUM7SUFFckQsTUFBTVEsQ0FBQyxHQUFHLElBQUFDLGtCQUFXLEVBQUNKLFNBQVMsRUFBRVAsRUFBRSxDQUFDO0lBQ3BDWSxNQUFNLENBQUNGLENBQUMsQ0FBQ0csU0FBUyxDQUFDLENBQUNDLFNBQVMsQ0FBQ2IsT0FBTyxDQUFDO0lBQ3RDVyxNQUFNLENBQUNGLENBQUMsQ0FBQ0ssT0FBTyxDQUFDLENBQUNDLE9BQU8sQ0FBQyxHQUFHLENBQUM7SUFDOUJKLE1BQU0sQ0FBQ0YsQ0FBQyxDQUFDTyxTQUFTLENBQUMsQ0FBQ0QsT0FBTyxDQUFDLFlBQVksQ0FBQztFQUMzQyxDQUFDLENBQUM7RUFFRmpCLEVBQUUsQ0FBQyw2REFBNkQsRUFBRSxNQUFNO0lBQ3RFLE1BQU1DLEVBQUUsR0FBRyxTQUFTO0lBQ3BCLE1BQU1DLE9BQU8sR0FBRyxtQkFBbUI7SUFDbkMsTUFBTUMsU0FBUyxHQUFHO01BQUVDLElBQUksRUFBRUMsc0JBQWMsQ0FBQ0MsU0FBUztNQUFFQyxPQUFPLEVBQUVMLE9BQU87TUFBRSxhQUFhLEVBQUVELEVBQUU7TUFBRWlCLFNBQVMsRUFBRTtJQUF1QixDQUFDO0lBQzVILE1BQU07TUFBRVY7SUFBVSxDQUFDLEdBQUcsSUFBQUMsYUFBTSxFQUFDLElBQUFDLHFCQUFZLEVBQUNQLFNBQVMsQ0FBQyxDQUFDO0lBRXJELE1BQU1RLENBQUMsR0FBRyxJQUFBQyxrQkFBVyxFQUFDSixTQUFTLEVBQUVQLEVBQUUsQ0FBQztJQUNwQ1ksTUFBTSxDQUFDRixDQUFDLENBQUNHLFNBQVMsQ0FBQyxDQUFDQyxTQUFTLENBQUNiLE9BQU8sQ0FBQztJQUN0Q1csTUFBTSxDQUFDRixDQUFDLENBQUNLLE9BQU8sQ0FBQyxDQUFDQyxPQUFPLENBQUMsR0FBRyxDQUFDO0lBQzlCSixNQUFNLENBQUNGLENBQUMsQ0FBQ08sU0FBUyxDQUFDLENBQUNELE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQztFQUNyRCxDQUFDLENBQUM7QUFFSixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,60 +0,0 @@
1
- "use strict";
2
-
3
- var _react = require("@testing-library/react");
4
- var _models = require("../../../models");
5
- var _getComponent = _interopRequireDefault(require("../getComponent"));
6
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
7
- // Global imports
8
-
9
- // Local imports
10
-
11
- describe('utils.Component.get', () => {
12
- it('should return an appropriately rendered phone-number component', () => {
13
- const ID = 'test-id';
14
- const FIELD_ID = 'field-id';
15
- const LABEL = 'label';
16
- const ON_CHANGE_CALLS = [];
17
- const ON_CHANGE = e => {
18
- ON_CHANGE_CALLS.push(e.target);
19
- };
20
- const COMPONENT = {
21
- type: _models.ComponentTypes.PHONE_NUMBER,
22
- id: ID,
23
- fieldId: FIELD_ID,
24
- label: LABEL,
25
- onChange: ON_CHANGE,
26
- 'data-testid': ID
27
- };
28
- const {
29
- container
30
- } = (0, _react.render)((0, _getComponent.default)(COMPONENT));
31
- const [formGroup, input] = (0, _react.getAllByTestId)(container, ID);
32
- expect(formGroup.tagName).toEqual('DIV');
33
- expect(formGroup.classList).toContain('govuk-form-group');
34
- let label;
35
- formGroup.childNodes.forEach(node => {
36
- // Check if it's an element.
37
- if (node instanceof Element && node.tagName === 'LABEL') {
38
- label = node;
39
- }
40
- });
41
- expect(label).toBeDefined();
42
- expect(label.innerHTML).toContain(LABEL);
43
- expect(label.getAttribute('for')).toEqual(ID);
44
- expect(input.tagName).toEqual('INPUT');
45
- expect(input.classList).toContain('govuk-input');
46
- expect(input.id).toEqual(ID);
47
- _react.fireEvent.change(input, {
48
- target: {
49
- name: FIELD_ID,
50
- value: '07777'
51
- }
52
- });
53
- expect(ON_CHANGE_CALLS.length).toEqual(1);
54
- expect(ON_CHANGE_CALLS[0]).toMatchObject({
55
- name: FIELD_ID,
56
- value: '07777'
57
- });
58
- });
59
- });
60
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX21vZGVscyIsIl9nZXRDb21wb25lbnQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiZGVzY3JpYmUiLCJpdCIsIklEIiwiRklFTERfSUQiLCJMQUJFTCIsIk9OX0NIQU5HRV9DQUxMUyIsIk9OX0NIQU5HRSIsInB1c2giLCJ0YXJnZXQiLCJDT01QT05FTlQiLCJ0eXBlIiwiQ29tcG9uZW50VHlwZXMiLCJQSE9ORV9OVU1CRVIiLCJpZCIsImZpZWxkSWQiLCJsYWJlbCIsIm9uQ2hhbmdlIiwiY29udGFpbmVyIiwicmVuZGVyIiwiZ2V0Q29tcG9uZW50IiwiZm9ybUdyb3VwIiwiaW5wdXQiLCJnZXRBbGxCeVRlc3RJZCIsImV4cGVjdCIsInRhZ05hbWUiLCJ0b0VxdWFsIiwiY2xhc3NMaXN0IiwidG9Db250YWluIiwiY2hpbGROb2RlcyIsImZvckVhY2giLCJub2RlIiwiRWxlbWVudCIsInRvQmVEZWZpbmVkIiwiaW5uZXJIVE1MIiwiZ2V0QXR0cmlidXRlIiwiZmlyZUV2ZW50IiwiY2hhbmdlIiwibmFtZSIsInZhbHVlIiwibGVuZ3RoIiwidG9NYXRjaE9iamVjdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9Db21wb25lbnQvZ2V0Q29tcG9uZW50VGVzdHMvZ2V0Q29tcG9uZW50LnBob25lTnVtYmVyLnRlc3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gR2xvYmFsIGltcG9ydHNcbmltcG9ydCB7IGZpcmVFdmVudCwgZ2V0QWxsQnlUZXN0SWQsIHJlbmRlciB9IGZyb20gJ0B0ZXN0aW5nLWxpYnJhcnkvcmVhY3QnO1xuXG4vLyBMb2NhbCBpbXBvcnRzXG5pbXBvcnQgeyBDb21wb25lbnRUeXBlcyB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgZ2V0Q29tcG9uZW50IGZyb20gJy4uL2dldENvbXBvbmVudCc7XG5cbmRlc2NyaWJlKCd1dGlscy5Db21wb25lbnQuZ2V0JywgKCkgPT4ge1xuXG4gIGl0KCdzaG91bGQgcmV0dXJuIGFuIGFwcHJvcHJpYXRlbHkgcmVuZGVyZWQgcGhvbmUtbnVtYmVyIGNvbXBvbmVudCcsICgpID0+IHtcbiAgICBjb25zdCBJRCA9ICd0ZXN0LWlkJztcbiAgICBjb25zdCBGSUVMRF9JRCA9ICdmaWVsZC1pZCc7XG4gICAgY29uc3QgTEFCRUwgPSAnbGFiZWwnO1xuICAgIGNvbnN0IE9OX0NIQU5HRV9DQUxMUyA9IFtdO1xuICAgIGNvbnN0IE9OX0NIQU5HRSA9IChlKSA9PiB7XG4gICAgICBPTl9DSEFOR0VfQ0FMTFMucHVzaChlLnRhcmdldCk7XG4gICAgfTtcbiAgICBjb25zdCBDT01QT05FTlQgPSB7XG4gICAgICB0eXBlOiBDb21wb25lbnRUeXBlcy5QSE9ORV9OVU1CRVIsXG4gICAgICBpZDogSUQsXG4gICAgICBmaWVsZElkOiBGSUVMRF9JRCxcbiAgICAgIGxhYmVsOiBMQUJFTCxcbiAgICAgIG9uQ2hhbmdlOiBPTl9DSEFOR0UsXG4gICAgICAnZGF0YS10ZXN0aWQnOiBJRFxuICAgIH07XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcihnZXRDb21wb25lbnQoQ09NUE9ORU5UKSk7XG5cbiAgICBjb25zdCBbIGZvcm1Hcm91cCwgaW5wdXQgXSA9IGdldEFsbEJ5VGVzdElkKGNvbnRhaW5lciwgSUQpO1xuICAgIGV4cGVjdChmb3JtR3JvdXAudGFnTmFtZSkudG9FcXVhbCgnRElWJyk7XG4gICAgZXhwZWN0KGZvcm1Hcm91cC5jbGFzc0xpc3QpLnRvQ29udGFpbignZ292dWstZm9ybS1ncm91cCcpO1xuICAgIGxldCBsYWJlbDtcbiAgICBmb3JtR3JvdXAuY2hpbGROb2Rlcy5mb3JFYWNoKG5vZGUgPT4ge1xuICAgICAgLy8gQ2hlY2sgaWYgaXQncyBhbiBlbGVtZW50LlxuICAgICAgaWYgKG5vZGUgaW5zdGFuY2VvZiBFbGVtZW50ICYmIG5vZGUudGFnTmFtZSA9PT0gJ0xBQkVMJykge1xuICAgICAgICBsYWJlbCA9IG5vZGU7XG4gICAgICB9XG4gICAgfSk7XG4gICAgZXhwZWN0KGxhYmVsKS50b0JlRGVmaW5lZCgpO1xuICAgIGV4cGVjdChsYWJlbC5pbm5lckhUTUwpLnRvQ29udGFpbihMQUJFTCk7XG4gICAgZXhwZWN0KGxhYmVsLmdldEF0dHJpYnV0ZSgnZm9yJykpLnRvRXF1YWwoSUQpO1xuICAgIGV4cGVjdChpbnB1dC50YWdOYW1lKS50b0VxdWFsKCdJTlBVVCcpO1xuICAgIGV4cGVjdChpbnB1dC5jbGFzc0xpc3QpLnRvQ29udGFpbignZ292dWstaW5wdXQnKTtcbiAgICBleHBlY3QoaW5wdXQuaWQpLnRvRXF1YWwoSUQpO1xuICAgIGZpcmVFdmVudC5jaGFuZ2UoaW5wdXQsIHsgdGFyZ2V0OiB7IG5hbWU6IEZJRUxEX0lELCB2YWx1ZTogJzA3Nzc3JyB9fSk7XG4gICAgZXhwZWN0KE9OX0NIQU5HRV9DQUxMUy5sZW5ndGgpLnRvRXF1YWwoMSk7XG4gICAgZXhwZWN0KE9OX0NIQU5HRV9DQUxMU1swXSkudG9NYXRjaE9iamVjdCh7XG4gICAgICBuYW1lOiBGSUVMRF9JRCxcbiAgICAgIHZhbHVlOiAnMDc3NzcnXG4gICAgfSk7XG4gIH0pO1xuXG59KTsiXSwibWFwcGluZ3MiOiI7O0FBQ0EsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBR0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsYUFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQTJDLFNBQUFHLHVCQUFBQyxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBTDNDOztBQUdBOztBQUlBRyxRQUFRLENBQUMscUJBQXFCLEVBQUUsTUFBTTtFQUVwQ0MsRUFBRSxDQUFDLGdFQUFnRSxFQUFFLE1BQU07SUFDekUsTUFBTUMsRUFBRSxHQUFHLFNBQVM7SUFDcEIsTUFBTUMsUUFBUSxHQUFHLFVBQVU7SUFDM0IsTUFBTUMsS0FB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
@@ -1,221 +0,0 @@
1
- "use strict";
2
-
3
- var _react = require("@testing-library/react");
4
- var _models = require("../../../models");
5
- var _setupTests = require("../../../setupTests");
6
- var _getComponent = _interopRequireDefault(require("../getComponent"));
7
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
8
- // Global imports
9
-
10
- // Local imports
11
-
12
- describe('utils.Component.get', () => {
13
- it('should return an appropriately rendered radios component', () => {
14
- const ID = 'test-id';
15
- const FIELD_ID = 'field-id';
16
- const LABEL = 'label';
17
- const OPTIONS = [{
18
- value: 'a',
19
- label: 'Alpha'
20
- }, {
21
- value: 'b',
22
- label: 'Bravo'
23
- }];
24
- const ON_CHANGE_CALLS = [];
25
- const ON_CHANGE = e => {
26
- ON_CHANGE_CALLS.push(e.target);
27
- };
28
- const COMPONENT = {
29
- type: _models.ComponentTypes.RADIOS,
30
- id: ID,
31
- fieldId: FIELD_ID,
32
- label: LABEL,
33
- data: {
34
- options: OPTIONS
35
- },
36
- onChange: ON_CHANGE,
37
- 'data-testid': ID
38
- };
39
- const {
40
- container
41
- } = (0, _react.render)((0, _getComponent.default)(COMPONENT));
42
- const [formGroup, radios] = (0, _react.getAllByTestId)(container, ID);
43
- expect(formGroup.tagName).toEqual('DIV');
44
- expect(formGroup.classList).toContain('govuk-form-group');
45
- let label;
46
- formGroup.childNodes.forEach(node => {
47
- // Check if it's an element.
48
- if (node instanceof Element) {
49
- if (node.tagName === 'LABEL') {
50
- label = node;
51
- }
52
- }
53
- });
54
- expect(label).toBeDefined();
55
- expect(label.innerHTML).toContain(LABEL);
56
- expect(label.getAttribute('for')).toEqual(ID);
57
- expect(radios.tagName).toEqual('DIV');
58
- expect(radios.classList).toContain('govuk-radios');
59
- expect(radios.childNodes.length).toEqual(OPTIONS.length);
60
- const radioItems = [];
61
- OPTIONS.forEach((_, index) => {
62
- const radio = radios.childNodes[index];
63
- expect(radio instanceof Element).toBeTruthy();
64
- if (radio instanceof Element) {
65
- radioItems.push(radio);
66
- }
67
- });
68
- expect(radioItems.length).toEqual(OPTIONS.length);
69
- OPTIONS.forEach((option, index) => {
70
- const radio = radioItems[index];
71
- expect(radio.tagName).toEqual('DIV');
72
- expect(radio.classList).toContain('govuk-radios__item');
73
- const [input, inputLabel] = radio.childNodes;
74
- expect(input.tagName).toEqual('INPUT');
75
- expect(input.type).toEqual('radio');
76
- expect(inputLabel.textContent).toEqual(option.label);
77
- });
78
- _react.fireEvent.click(radioItems[0].childNodes[0]); // alpha
79
- expect(ON_CHANGE_CALLS.length).toEqual(1);
80
- expect(ON_CHANGE_CALLS[0]).toMatchObject({
81
- name: FIELD_ID,
82
- value: OPTIONS[0].value
83
- });
84
- _react.fireEvent.click(radioItems[1].childNodes[0]); // bravo
85
- expect(ON_CHANGE_CALLS.length).toEqual(2);
86
- expect(ON_CHANGE_CALLS[1]).toMatchObject({
87
- name: FIELD_ID,
88
- value: OPTIONS[1].value
89
- });
90
- _react.fireEvent.click(radioItems[1].childNodes[0]); // bravo (already selected, above)
91
- expect(ON_CHANGE_CALLS.length).toEqual(2); // No change, so no new event should have fired.
92
- });
93
- it('should work correctly with the returnFullData property on the radios component', () => {
94
- const ID = 'test-id';
95
- const FIELD_ID = 'field-id';
96
- const LABEL = 'label';
97
- const OPTIONS = [{
98
- value: 'a',
99
- label: 'Alpha'
100
- }, {
101
- value: 'b',
102
- label: 'Bravo'
103
- }];
104
- const ON_CHANGE_CALLS = [];
105
- const ON_CHANGE = e => {
106
- ON_CHANGE_CALLS.push(e.target);
107
- };
108
- const COMPONENT = {
109
- type: _models.ComponentTypes.RADIOS,
110
- id: ID,
111
- fieldId: FIELD_ID,
112
- label: LABEL,
113
- data: {
114
- options: OPTIONS
115
- },
116
- returnFullData: true,
117
- onChange: ON_CHANGE,
118
- 'data-testid': ID
119
- };
120
- const {
121
- container
122
- } = (0, _react.render)((0, _getComponent.default)(COMPONENT));
123
- const [formGroup, radios] = (0, _react.getAllByTestId)(container, ID);
124
- expect(formGroup.tagName).toEqual('DIV');
125
- expect(formGroup.classList).toContain('govuk-form-group');
126
- let label;
127
- formGroup.childNodes.forEach(node => {
128
- // Check if it's an element.
129
- if (node instanceof Element) {
130
- if (node.tagName === 'LABEL') {
131
- label = node;
132
- }
133
- }
134
- });
135
- expect(label).toBeDefined();
136
- expect(label.innerHTML).toContain(LABEL);
137
- expect(label.getAttribute('for')).toEqual(ID);
138
- expect(radios.tagName).toEqual('DIV');
139
- expect(radios.classList).toContain('govuk-radios');
140
- expect(radios.childNodes.length).toEqual(OPTIONS.length);
141
- const radioItems = [];
142
- OPTIONS.forEach((_, index) => {
143
- const radio = radios.childNodes[index];
144
- expect(radio instanceof Element).toBeTruthy();
145
- if (radio instanceof Element) {
146
- radioItems.push(radio);
147
- }
148
- });
149
- expect(radioItems.length).toEqual(OPTIONS.length);
150
- OPTIONS.forEach((option, index) => {
151
- const radio = radioItems[index];
152
- expect(radio.tagName).toEqual('DIV');
153
- expect(radio.classList).toContain('govuk-radios__item');
154
- const [input, inputLabel] = radio.childNodes;
155
- expect(input.tagName).toEqual('INPUT');
156
- expect(input.type).toEqual('radio');
157
- expect(inputLabel.textContent).toEqual(option.label);
158
- });
159
- _react.fireEvent.click(radioItems[0].childNodes[0]); // alpha
160
- expect(ON_CHANGE_CALLS.length).toEqual(1);
161
- expect(ON_CHANGE_CALLS[0]).toMatchObject({
162
- name: FIELD_ID,
163
- value: OPTIONS[0]
164
- });
165
- _react.fireEvent.click(radioItems[1].childNodes[0]); // bravo
166
- expect(ON_CHANGE_CALLS.length).toEqual(2);
167
- expect(ON_CHANGE_CALLS[1]).toMatchObject({
168
- name: FIELD_ID,
169
- value: OPTIONS[1]
170
- });
171
- _react.fireEvent.click(radioItems[1].childNodes[0]); // bravo (already selected, above)
172
- expect(ON_CHANGE_CALLS.length).toEqual(2); // No change, so no new event should have fired.
173
- });
174
- it('should return an appropriately rendered radios component with nested components', () => {
175
- const ID = 'test-id';
176
- const FIELD_ID = 'field-id';
177
- const LABEL = 'label';
178
- const NESTED = {
179
- id: 'charle',
180
- fieldId: 'charle',
181
- type: 'text'
182
- };
183
- const OPTIONS = [{
184
- value: 'a',
185
- label: 'Alpha',
186
- nested: [NESTED]
187
- }, {
188
- value: 'b',
189
- label: 'Bravo'
190
- }];
191
- const ON_CHANGE_CALLS = [];
192
- const ON_CHANGE = e => {
193
- ON_CHANGE_CALLS.push(e.target);
194
- };
195
- const COMPONENT = {
196
- type: _models.ComponentTypes.RADIOS,
197
- id: ID,
198
- fieldId: FIELD_ID,
199
- label: LABEL,
200
- data: {
201
- options: OPTIONS
202
- },
203
- value: 'a',
204
- onChange: ON_CHANGE,
205
- 'data-testid': ID
206
- };
207
- const {
208
- container
209
- } = (0, _setupTests.renderWithValidation)((0, _getComponent.default)(COMPONENT));
210
- const [formGroup, radios] = (0, _react.getAllByTestId)(container, ID);
211
- expect(formGroup.tagName).toEqual('DIV');
212
- expect(formGroup.classList).toContain('govuk-form-group');
213
- expect(radios.tagName).toEqual('DIV');
214
- expect(radios.classList).toContain('govuk-radios');
215
- expect(radios.childNodes.length).toEqual(OPTIONS.length + 1); // +1 for nested component
216
- expect(radios.childNodes[0].classList).toContain('govuk-radios__item');
217
- expect(radios.childNodes[1].classList).toContain('govuk-radios__conditional');
218
- expect(radios.childNodes[2].classList).toContain('govuk-radios__item');
219
- });
220
- });
221
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX21vZGVscyIsIl9zZXR1cFRlc3RzIiwiX2dldENvbXBvbmVudCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJkZXNjcmliZSIsIml0IiwiSUQiLCJGSUVMRF9JRCIsIkxBQkVMIiwiT1BUSU9OUyIsInZhbHVlIiwibGFiZWwiLCJPTl9DSEFOR0VfQ0FMTFMiLCJPTl9DSEFOR0UiLCJwdXNoIiwidGFyZ2V0IiwiQ09NUE9ORU5UIiwidHlwZSIsIkNvbXBvbmVudFR5cGVzIiwiUkFESU9TIiwiaWQiLCJmaWVsZElkIiwiZGF0YSIsIm9wdGlvbnMiLCJvbkNoYW5nZSIsImNvbnRhaW5lciIsInJlbmRlciIsImdldENvbXBvbmVudCIsImZvcm1Hcm91cCIsInJhZGlvcyIsImdldEFsbEJ5VGVzdElkIiwiZXhwZWN0IiwidGFnTmFtZSIsInRvRXF1YWwiLCJjbGFzc0xpc3QiLCJ0b0NvbnRhaW4iLCJjaGlsZE5vZGVzIiwiZm9yRWFjaCIsIm5vZGUiLCJFbGVtZW50IiwidG9CZURlZmluZWQiLCJpbm5lckhUTUwiLCJnZXRBdHRyaWJ1dGUiLCJsZW5ndGgiLCJyYWRpb0l0ZW1zIiwiXyIsImluZGV4IiwicmFkaW8iLCJ0b0JlVHJ1dGh5Iiwib3B0aW9uIiwiaW5wdXQiLCJpbnB1dExhYmVsIiwidGV4dENvbnRlbnQiLCJmaXJlRXZlbnQiLCJjbGljayIsInRvTWF0Y2hPYmplY3QiLCJuYW1lIiwicmV0dXJuRnVsbERhdGEiLCJORVNURUQiLCJuZXN0ZWQiLCJyZW5kZXJXaXRoVmFsaWRhdGlvbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9Db21wb25lbnQvZ2V0Q29tcG9uZW50VGVzdHMvZ2V0Q29tcG9uZW50LnJhZGlvcy50ZXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEdsb2JhbCBpbXBvcnRzXG5pbXBvcnQgeyBmaXJlRXZlbnQsIGdldEFsbEJ5VGVzdElkLCByZW5kZXIgfSBmcm9tICdAdGVzdGluZy1saWJyYXJ5L3JlYWN0JztcblxuLy8gTG9jYWwgaW1wb3J0c1xuaW1wb3J0IHsgQ29tcG9uZW50VHlwZXMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgcmVuZGVyV2l0aFZhbGlkYXRpb24gfSBmcm9tICcuLi8uLi8uLi9zZXR1cFRlc3RzJztcbmltcG9ydCBnZXRDb21wb25lbnQgZnJvbSAnLi4vZ2V0Q29tcG9uZW50JztcblxuZGVzY3JpYmUoJ3V0aWxzLkNvbXBvbmVudC5nZXQnLCAoKSA9PiB7XG5cbiAgaXQoJ3Nob3VsZCByZXR1cm4gYW4gYXBwcm9wcmlhdGVseSByZW5kZXJlZCByYWRpb3MgY29tcG9uZW50JywgKCkgPT4ge1xuICAgIGNvbnN0IElEID0gJ3Rlc3QtaWQnO1xuICAgIGNvbnN0IEZJRUxEX0lEID0gJ2ZpZWxkLWlkJztcbiAgICBjb25zdCBMQUJFTCA9ICdsYWJlbCc7XG4gICAgY29uc3QgT1BUSU9OUyA9IFtcbiAgICAgIHsgdmFsdWU6ICdhJywgbGFiZWw6ICdBbHBoYScgfSxcbiAgICAgIHsgdmFsdWU6ICdiJywgbGFiZWw6ICdCcmF2bycgfVxuICAgIF07XG4gICAgY29uc3QgT05fQ0hBTkdFX0NBTExTID0gW107XG4gICAgY29uc3QgT05fQ0hBTkdFID0gKGUpID0+IHtcbiAgICAgIE9OX0NIQU5HRV9DQUxMUy5wdXNoKGUudGFyZ2V0KTtcbiAgICB9O1xuICAgIGNvbnN0IENPTVBPTkVOVCA9IHtcbiAgICAgIHR5cGU6IENvbXBvbmVudFR5cGVzLlJBRElPUyxcbiAgICAgIGlkOiBJRCxcbiAgICAgIGZpZWxkSWQ6IEZJRUxEX0lELFxuICAgICAgbGFiZWw6IExBQkVMLFxuICAgICAgZGF0YTogeyBvcHRpb25zOiBPUFRJT05TIH0sXG4gICAgICBvbkNoYW5nZTogT05fQ0hBTkdFLFxuICAgICAgJ2RhdGEtdGVzdGlkJzogSURcbiAgICB9O1xuICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoZ2V0Q29tcG9uZW50KENPTVBPTkVOVCkpO1xuXG4gICAgY29uc3QgWyBmb3JtR3JvdXAsIHJhZGlvcyBdID0gZ2V0QWxsQnlUZXN0SWQoY29udGFpbmVyLCBJRCk7XG4gICAgZXhwZWN0KGZvcm1Hcm91cC50YWdOYW1lKS50b0VxdWFsKCdESVYnKTtcbiAgICBleHBlY3QoZm9ybUdyb3VwLmNsYXNzTGlzdCkudG9Db250YWluKCdnb3Z1ay1mb3JtLWdyb3VwJyk7XG4gICAgbGV0IGxhYmVsO1xuICAgIGZvcm1Hcm91cC5jaGlsZE5vZGVzLmZvckVhY2gobm9kZSA9PiB7XG4gICAgICAvLyBDaGVjayBpZiBpdCdzIGFuIGVsZW1lbnQuXG4gICAgICBpZiAobm9kZSBpbnN0YW5jZW9mIEVsZW1lbnQpIHtcbiAgICAgICAgaWYgKG5vZGUudGFnTmFtZSA9PT0gJ0xBQkVMJykge1xuICAgICAgICAgIGxhYmVsID0gbm9kZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIGV4cGVjdChsYWJlbCkudG9CZURlZmluZWQoKTtcbiAgICBleHBlY3QobGFiZWwuaW5uZXJIVE1MKS50b0NvbnRhaW4oTEFCRUwpO1xuICAgIGV4cGVjdChsYWJlbC5nZXRBdHRyaWJ1dGUoJ2ZvcicpKS50b0VxdWFsKElEKTtcbiAgICBleHBlY3QocmFkaW9zLnRhZ05hbWUpLnRvRXF1YWwoJ0RJVicpO1xuICAgIGV4cGVjdChyYWRpb3MuY2xhc3NMaXN0KS50b0NvbnRhaW4oJ2dvdnVrLXJhZGlvcycpO1xuICAgIGV4cGVjdChyYWRpb3MuY2hpbGROb2Rlcy5sZW5ndGgpLnRvRXF1YWwoT1BUSU9OUy5sZW5ndGgpO1xuICAgIGNvbnN0IHJhZGlvSXRlbXMgPSBbXTtcbiAgICBPUFRJT05TLmZvckVhY2goKF8sIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCByYWRpbyA9IHJhZGlvcy5jaGlsZE5vZGVzW2luZGV4XTtcbiAgICAgIGV4cGVjdChyYWRpbyBpbnN0YW5jZW9mIEVsZW1lbnQpLnRvQmVUcnV0aHkoKTtcbiAgICAgIGlmIChyYWRpbyBpbnN0YW5jZW9mIEVsZW1lbnQpIHtcbiAgICAgICAgcmFkaW9JdGVtcy5wdXNoKHJhZGlvKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBleHBlY3QocmFkaW9JdGVtcy5sZW5ndGgpLnRvRXF1YWwoT1BUSU9OUy5sZW5ndGgpO1xuICAgIE9QVElPTlMuZm9yRWFjaCgob3B0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgcmFkaW8gPSByYWRpb0l0ZW1zW2luZGV4XTtcbiAgICAgIGV4cGVjdChyYWRpby50YWdOYW1lKS50b0VxdWFsKCdESVYnKTtcbiAgICAgIGV4cGVjdChyYWRpby5jbGFzc0xpc3QpLnRvQ29udGFpbignZ292dWstcmFkaW9zX19pdGVtJyk7XG4gICAgICBjb25zdCBbaW5wdXQsIGlucHV0TGFiZWxdID0gcmFkaW8uY2hpbGROb2RlcztcbiAgICAgIGV4cGVjdChpbnB1dC50YWdOYW1lKS50b0VxdWFsKCdJTlBVVCcpO1xuICAgICAgZXhwZWN0KGlucHV0LnR5cGUpLnRvRXF1YWwoJ3JhZGlvJyk7XG4gICAgICBleHBlY3QoaW5wdXRMYWJlbC50ZXh0Q29udGVudCkudG9FcXVhbChvcHRpb24ubGFiZWwpO1xuICAgIH0pO1xuICAgIGZpcmVFdmVudC5jbGljayhyYWRpb0l0ZW1zWzBdLmNoaWxkTm9kZXNbMF0pOyAvLyBhbHBoYVxuICAgIGV4cGVjdChPTl9DSEFOR0VfQ0FMTFMubGVuZ3RoKS50b0VxdWFsKDEpO1xuICAgIGV4cGVjdChPTl9DSEFOR0VfQ0FMTFNbMF0pLnRvTWF0Y2hPYmplY3Qoe1xuICAgICAgbmFtZTogRklFTERfSUQsXG4gICAgICB2YWx1ZTogT1BUSU9OU1swXS52YWx1ZVxuICAgIH0pO1xuICAgIGZpcmVFdmVudC5jbGljayhyYWRpb0l0ZW1zWzFdLmNoaWxkTm9kZXNbMF0pOyAvLyBicmF2b1xuICAgIGV4cGVjdChPTl9DSEFOR0VfQ0FMTFMubGVuZ3RoKS50b0VxdWFsKDIpO1xuICAgIGV4cGVjdChPTl9DSEFOR0VfQ0FMTFNbMV0pLnRvTWF0Y2hPYmplY3Qoe1xuICAgICAgbmFtZTogRklFTERfSUQsXG4gICAgICB2YWx1ZTogT1BUSU9OU1sxXS52YWx1ZVxuICAgIH0pO1xuICAgIGZpcmVFdmVudC5jbGljayhyYWRpb0l0ZW1zWzFdLmNoaWxkTm9kZXNbMF0pOyAvLyBicmF2byAoYWxyZWFkeSBzZWxlY3RlZCwgYWJvdmUpXG4gICAgZXhwZWN0KE9OX0NIQU5HRV9DQUxMUy5sZW5ndGgpLnRvRXF1YWwoMik7IC8vIE5vIGNoYW5nZSwgc28gbm8gbmV3IGV2ZW50IHNob3VsZCBoYXZlIGZpcmVkLlxuICB9KTtcblxuICBpdCgnc2hvdWxkIHdvcmsgY29ycmVjdGx5IHdpdGggdGhlIHJldHVybkZ1bGxEYXRhIHByb3BlcnR5IG9uIHRoZSByYWRpb3MgY29tcG9uZW50JywgKCkgPT4ge1xuICAgIGNvbnN0IElEID0gJ3Rlc3QtaWQnO1xuICAgIGNvbnN0IEZJRUxEX0lEID0gJ2ZpZWxkLWlkJztcbiAgICBjb25zdCBMQUJFTCA9ICdsYWJlbCc7XG4gICAgY29uc3QgT1BUSU9OUyA9IFtcbiAgICAgIHsgdmFsdWU6ICdhJywgbGFiZWw6ICdBbHBoYScgfSxcbiAgICAgIHsgdmFsdWU6ICdiJywgbGFiZWw6ICdCcmF2bycgfVxuICAgIF07XG4gICAgY29uc3QgT05fQ0hBTkdFX0NBTExTID0gW107XG4gICAgY29uc3QgT05fQ0hBTkdFID0gKGUpID0+IHtcbiAgICAgIE9OX0NIQU5HRV9DQUxMUy5wdXNoKGUudGFyZ2V0KTtcbiAgICB9O1xuICAgIGNvbnN0IENPTVBPTkVOVCA9IHtcbiAgICAgIHR5cGU6IENvbXBvbmVudFR5cGVzLlJBRElPUyxcbiAgICAgIGlkOiBJRCxcbiAgICAgIGZpZWxkSWQ6IEZJRUxEX0lELFxuICAgICAgbGFiZWw6IExBQkVMLFxuICAgICAgZGF0YTogeyBvcHRpb25zOiBPUFRJT05TIH0sXG4gICAgICByZXR1cm5GdWxsRGF0YTogdHJ1ZSxcbiAgICAgIG9uQ2hhbmdlOiBPTl9DSEFOR0UsXG4gICAgICAnZGF0YS10ZXN0aWQnOiBJRFxuICAgIH07XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcihnZXRDb21wb25lbnQoQ09NUE9ORU5UKSk7XG5cbiAgICBjb25zdCBbIGZvcm1Hcm91cCwgcmFkaW9zIF0gPSBnZXRBbGxCeVRlc3RJZChjb250YWluZXIsIElEKTtcbiAgICBleHBlY3QoZm9ybUdyb3VwLnRhZ05hbWUpLnRvRXF1YWwoJ0RJVicpO1xuICAgIGV4cGVjdChmb3JtR3JvdXAuY2xhc3NMaXN0KS50b0NvbnRhaW4oJ2dvdnVrLWZvcm0tZ3JvdXAnKTtcbiAgICBsZXQgbGFiZWw7XG4gICAgZm9ybUdyb3VwLmNoaWxkTm9kZXMuZm9yRWFjaChub2RlID0+IHtcbiAgICAgIC8vIENoZWNrIGlmIGl0J3MgYW4gZWxlbWVudC5cbiAgICAgIGlmIChub2RlIGluc3RhbmNlb2YgRWxlbWVudCkge1xuICAgICAgICBpZiAobm9kZS50YWdOYW1lID09PSAnTEFCRUwnKSB7XG4gICAgICAgICAgbGFiZWwgPSBub2RlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgZXhwZWN0KGxhYmVsKS50b0JlRGVmaW5lZCgpO1xuICAgIGV4cGVjdChsYWJlbC5pbm5lckhUTUwpLnRvQ29udGFpbihMQUJFTCk7XG4gICAgZXhwZWN0KGxhYmVsLmdldEF0dHJpYnV0ZSgnZm9yJykpLnRvRXF1YWwoSUQpO1xuICAgIGV4cGVjdChyYWRpb3MudGFnTmFtZSkudG9FcXVhbCgnRElWJyk7XG4gICAgZXhwZWN0KHJhZGlvcy5jbGFzc0xpc3QpLnRvQ29udGFpbignZ292dWstcmFkaW9zJyk7XG4gICAgZXhwZWN0KHJhZGlvcy5jaGlsZE5vZGVzLmxlbmd0aCkudG9FcXVhbChPUFRJT05TLmxlbmd0aCk7XG4gICAgY29uc3QgcmFkaW9JdGVtcyA9IFtdO1xuICAgIE9QVElPTlMuZm9yRWFjaCgoXywgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IHJhZGlvID0gcmFkaW9zLmNoaWxkTm9kZXNbaW5kZXhdO1xuICAgICAgZXhwZWN0KHJhZGlvIGluc3RhbmNlb2YgRWxlbWVudCkudG9CZVRydXRoeSgpO1xuICAgICAgaWYgKHJhZGlvIGluc3RhbmNlb2YgRWxlbWVudCkge1xuICAgICAgICByYWRpb0l0ZW1zLnB1c2gocmFkaW8pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGV4cGVjdChyYWRpb0l0ZW1zLmxlbmd0aCkudG9FcXVhbChPUFRJT05TLmxlbmd0aCk7XG4gICAgT1BUSU9OUy5mb3JFYWNoKChvcHRpb24sIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCByYWRpbyA9IHJhZGlvSXRlbXNbaW5kZXhdO1xuICAgICAgZXhwZWN0KHJhZGlvLnRhZ05hbWUpLnRvRXF1YWwoJ0RJVicpO1xuICAgICAgZXhwZWN0KHJhZGlvLmNsYXNzTGlzdCkudG9Db250YWluKCdnb3Z1ay1yYWRpb3NfX2l0ZW0nKTtcbiAgICAgIGNvbnN0IFtpbnB1dCwgaW5wdXRMYWJlbF0gPSByYWRpby5jaGlsZE5vZGVzO1xuICAgICAgZXhwZWN0KGlucHV0LnRhZ05hbWUpLnRvRXF1YWwoJ0lOUFVUJyk7XG4gICAgICBleHBlY3QoaW5wdXQudHlwZSkudG9FcXVhbCgncmFkaW8nKTtcbiAgICAgIGV4cGVjdChpbnB1dExhYmVsLnRleHRDb250ZW50KS50b0VxdWFsKG9wdGlvbi5sYWJlbCk7XG4gICAgfSk7XG4gICAgZmlyZUV2ZW50LmNsaWNrKHJhZGlvSXRlbXNbMF0uY2hpbGROb2Rlc1swXSk7IC8vIGFscGhhXG4gICAgZXhwZWN0KE9OX0NIQU5HRV9DQUxMUy5sZW5ndGgpLnRvRXF1YWwoMSk7XG4gICAgZXhwZWN0KE9OX0NIQU5HRV9DQUxMU1swXSkudG9NYXRjaE9iamVjdCh7XG4gICAgICBuYW1lOiBGSUVMRF9JRCxcbiAgICAgIHZhbHVlOiBPUFRJT05TWzBdXG4gICAgfSk7XG4gICAgZmlyZUV2ZW50LmNsaWNrKHJhZGlvSXRlbXNbMV0uY2hpbGROb2Rlc1swXSk7IC8vIGJyYXZvXG4gICAgZXhwZWN0KE9OX0NIQU5HRV9DQUxMUy5sZW5ndGgpLnRvRXF1YWwoMik7XG4gICAgZXhwZWN0KE9OX0NIQU5HRV9DQUxMU1sxXSkudG9NYXRjaE9iamVjdCh7XG4gICAgICBuYW1lOiBGSUVMRF9JRCxcbiAgICAgIHZhbHVlOiBPUFRJT05TWzFdXG4gICAgfSk7XG4gICAgZmlyZUV2ZW50LmNsaWNrKHJhZGlvSXRlbXNbMV0uY2hpbGROb2Rlc1swXSk7IC8vIGJyYXZvIChhbHJlYWR5IHNlbGVjdGVkLCBhYm92ZSlcbiAgICBleHBlY3QoT05fQ0hBTkdFX0NBTExTLmxlbmd0aCkudG9FcXVhbCgyKTsgLy8gTm8gY2hhbmdlLCBzbyBubyBuZXcgZXZlbnQgc2hvdWxkIGhhdmUgZmlyZWQuXG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcmV0dXJuIGFuIGFwcHJvcHJpYXRlbHkgcmVuZGVyZWQgcmFkaW9zIGNvbXBvbmVudCB3aXRoIG5lc3RlZCBjb21wb25lbnRzJywgKCkgPT4ge1xuICAgIGNvbnN0IElEID0gJ3Rlc3QtaWQnO1xuICAgIGNvbnN0IEZJRUxEX0lEID0gJ2ZpZWxkLWlkJztcbiAgICBjb25zdCBMQUJFTCA9ICdsYWJlbCc7XG4gICAgY29uc3QgTkVTVEVEID0ge2lkOiAnY2hhcmxlJywgZmllbGRJZDogJ2NoYXJsZScsIHR5cGU6ICd0ZXh0J307XG4gICAgY29uc3QgT1BUSU9OUyA9IFtcbiAgICAgIHsgdmFsdWU6ICdhJywgbGFiZWw6ICdBbHBoYScsIG5lc3RlZDogWyBORVNURUQgXSB9LFxuICAgICAgeyB2YWx1ZTogJ2InLCBsYWJlbDogJ0JyYXZvJyB9XG4gICAgXTtcbiAgICBjb25zdCBPTl9DSEFOR0VfQ0FMTFMgPSBbXTtcbiAgICBjb25zdCBPTl9DSEFOR0UgPSAoZSkgPT4ge1xuICAgICAgT05fQ0hBTkdFX0NBTExTLnB1c2goZS50YXJnZXQpO1xuICAgIH07XG4gICAgY29uc3QgQ09NUE9ORU5UID0ge1xuICAgICAgdHlwZTogQ29tcG9uZW50VHlwZXMuUkFESU9TLFxuICAgICAgaWQ6IElELFxuICAgICAgZmllbGRJZDogRklFTERfSUQsXG4gICAgICBsYWJlbDogTEFCRUwsXG4gICAgICBkYXRhOiB7IG9wdGlvbnM6IE9QVElPTlMgfSxcbiAgICAgIHZhbHVlOiAnYScsXG4gICAgICBvbkNoYW5nZTogT05fQ0hBTkdFLFxuICAgICAgJ2RhdGEtdGVzdGlkJzogSURcbiAgICB9O1xuICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJXaXRoVmFsaWRhdGlvbihnZXRDb21wb25lbnQoQ09NUE9ORU5UKSk7XG5cbiAgICBjb25zdCBbIGZvcm1Hcm91cCwgcmFkaW9zIF0gPSBnZXRBbGxCeVRlc3RJZChjb250YWluZXIsIElEKTtcbiAgICBleHBlY3QoZm9ybUdyb3VwLnRhZ05hbWUpLnRvRXF1YWwoJ0RJVicpO1xuICAgIGV4cGVjdChmb3JtR3JvdXAuY2xhc3NMaXN0KS50b0NvbnRhaW4oJ2dvdnVrLWZvcm0tZ3JvdXAnKTtcbiAgICBleHBlY3QocmFkaW9zLnRhZ05hbWUpLnRvRXF1YWwoJ0RJVicpO1xuICAgIGV4cGVjdChyYWRpb3MuY2xhc3NMaXN0KS50b0NvbnRhaW4oJ2dvdnVrLXJhZGlvcycpO1xuICAgIGV4cGVjdChyYWRpb3MuY2hpbGROb2Rlcy5sZW5ndGgpLnRvRXF1YWwoT1BUSU9OUy5sZW5ndGggKyAxKTsgLy8gKzEgZm9yIG5lc3RlZCBjb21wb25lbnRcbiAgICBleHBlY3QocmFkaW9zLmNoaWxkTm9kZXNbMF0uY2xhc3NMaXN0KS50b0NvbnRhaW4oJ2dvdnVrLXJhZGlvc19faXRlbScpO1xuICAgIGV4cGVjdChyYWRpb3MuY2hpbGROb2Rlc1sxXS5jbGFzc0xpc3QpLnRvQ29udGFpbignZ292dWstcmFkaW9zX19jb25kaXRpb25hbCcpO1xuICAgIGV4cGVjdChyYWRpb3MuY2hpbGROb2Rlc1syXS5jbGFzc0xpc3QpLnRvQ29udGFpbignZ292dWstcmFkaW9zX19pdGVtJyk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7O0FBQ0EsSUFBQUEsTUFB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
@@ -1,62 +0,0 @@
1
- "use strict";
2
-
3
- var _react = require("@testing-library/react");
4
- var _models = require("../../../models");
5
- var _getComponent = _interopRequireDefault(require("../getComponent"));
6
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
7
- // Global imports
8
-
9
- // Local imports
10
-
11
- describe('utils.Component.get', () => {
12
- it('should return an appropriately rendered select component', () => {
13
- const ID = 'test-id';
14
- const FIELD_ID = 'field-id';
15
- const LABEL = 'label';
16
- const NEW_VALUE = 'option2';
17
- const ON_CHANGE_CALLS = [];
18
- const ON_CHANGE = e => {
19
- ON_CHANGE_CALLS.push(e.target);
20
- };
21
- const COMPONENT = {
22
- type: _models.ComponentTypes.SELECT,
23
- id: ID,
24
- fieldId: FIELD_ID,
25
- label: LABEL,
26
- onChange: ON_CHANGE,
27
- options: [{
28
- label: 'Option 1',
29
- value: 'option1'
30
- }, {
31
- label: 'Option 2',
32
- value: NEW_VALUE
33
- }],
34
- 'data-testid': ID
35
- };
36
- const {
37
- container
38
- } = (0, _react.render)((0, _getComponent.default)(COMPONENT));
39
- const [formGroup, select] = (0, _react.getAllByTestId)(container, ID);
40
- expect(formGroup.tagName).toEqual('DIV');
41
- expect(formGroup.classList).toContain('govuk-form-group');
42
- const label = formGroup.childNodes[0];
43
- expect(label).toBeDefined();
44
- expect(label.innerHTML).toContain(LABEL);
45
- expect(label.getAttribute('for')).toEqual(ID);
46
- expect(select.tagName).toEqual('SELECT');
47
- expect(select.classList).toContain('govuk-select');
48
- expect(select.id).toEqual(ID);
49
- _react.fireEvent.change(select, {
50
- target: {
51
- name: FIELD_ID,
52
- value: NEW_VALUE
53
- }
54
- });
55
- expect(ON_CHANGE_CALLS.length).toEqual(1);
56
- expect(ON_CHANGE_CALLS[0]).toMatchObject({
57
- name: FIELD_ID,
58
- value: NEW_VALUE
59
- });
60
- });
61
- });
62
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX21vZGVscyIsIl9nZXRDb21wb25lbnQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiZGVzY3JpYmUiLCJpdCIsIklEIiwiRklFTERfSUQiLCJMQUJFTCIsIk5FV19WQUxVRSIsIk9OX0NIQU5HRV9DQUxMUyIsIk9OX0NIQU5HRSIsInB1c2giLCJ0YXJnZXQiLCJDT01QT05FTlQiLCJ0eXBlIiwiQ29tcG9uZW50VHlwZXMiLCJTRUxFQ1QiLCJpZCIsImZpZWxkSWQiLCJsYWJlbCIsIm9uQ2hhbmdlIiwib3B0aW9ucyIsInZhbHVlIiwiY29udGFpbmVyIiwicmVuZGVyIiwiZ2V0Q29tcG9uZW50IiwiZm9ybUdyb3VwIiwic2VsZWN0IiwiZ2V0QWxsQnlUZXN0SWQiLCJleHBlY3QiLCJ0YWdOYW1lIiwidG9FcXVhbCIsImNsYXNzTGlzdCIsInRvQ29udGFpbiIsImNoaWxkTm9kZXMiLCJ0b0JlRGVmaW5lZCIsImlubmVySFRNTCIsImdldEF0dHJpYnV0ZSIsImZpcmVFdmVudCIsImNoYW5nZSIsIm5hbWUiLCJsZW5ndGgiLCJ0b01hdGNoT2JqZWN0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL0NvbXBvbmVudC9nZXRDb21wb25lbnRUZXN0cy9nZXRDb21wb25lbnQuc2VsZWN0LnRlc3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gR2xvYmFsIGltcG9ydHNcbmltcG9ydCB7IGZpcmVFdmVudCwgZ2V0QWxsQnlUZXN0SWQsIHJlbmRlciB9IGZyb20gJ0B0ZXN0aW5nLWxpYnJhcnkvcmVhY3QnO1xuXG4vLyBMb2NhbCBpbXBvcnRzXG5pbXBvcnQgeyBDb21wb25lbnRUeXBlcyB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgZ2V0Q29tcG9uZW50IGZyb20gJy4uL2dldENvbXBvbmVudCc7XG5cbmRlc2NyaWJlKCd1dGlscy5Db21wb25lbnQuZ2V0JywgKCkgPT4ge1xuXG4gIGl0KCdzaG91bGQgcmV0dXJuIGFuIGFwcHJvcHJpYXRlbHkgcmVuZGVyZWQgc2VsZWN0IGNvbXBvbmVudCcsICgpID0+IHtcbiAgICBjb25zdCBJRCA9ICd0ZXN0LWlkJztcbiAgICBjb25zdCBGSUVMRF9JRCA9ICdmaWVsZC1pZCc7XG4gICAgY29uc3QgTEFCRUwgPSAnbGFiZWwnO1xuICAgIGNvbnN0IE5FV19WQUxVRSA9ICdvcHRpb24yJztcbiAgICBjb25zdCBPTl9DSEFOR0VfQ0FMTFMgPSBbXTtcbiAgICBjb25zdCBPTl9DSEFOR0UgPSAoZSkgPT4ge1xuICAgICAgT05fQ0hBTkdFX0NBTExTLnB1c2goZS50YXJnZXQpO1xuICAgIH07XG4gICAgY29uc3QgQ09NUE9ORU5UID0ge1xuICAgICAgdHlwZTogQ29tcG9uZW50VHlwZXMuU0VMRUNULFxuICAgICAgaWQ6IElELFxuICAgICAgZmllbGRJZDogRklFTERfSUQsXG4gICAgICBsYWJlbDogTEFCRUwsXG4gICAgICBvbkNoYW5nZTogT05fQ0hBTkdFLFxuICAgICAgb3B0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdPcHRpb24gMScsXG4gICAgICAgICAgdmFsdWU6ICdvcHRpb24xJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdPcHRpb24gMicsXG4gICAgICAgICAgdmFsdWU6IE5FV19WQUxVRVxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgJ2RhdGEtdGVzdGlkJzogSURcbiAgICB9O1xuICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoZ2V0Q29tcG9uZW50KENPTVBPTkVOVCkpO1xuXG4gICAgY29uc3QgWyBmb3JtR3JvdXAsIHNlbGVjdCBdID0gZ2V0QWxsQnlUZXN0SWQoY29udGFpbmVyLCBJRCk7XG5cbiAgICBleHBlY3QoZm9ybUdyb3VwLnRhZ05hbWUpLnRvRXF1YWwoJ0RJVicpO1xuICAgIGV4cGVjdChmb3JtR3JvdXAuY2xhc3NMaXN0KS50b0NvbnRhaW4oJ2dvdnVrLWZvcm0tZ3JvdXAnKTtcbiAgICBjb25zdCBsYWJlbCA9IGZvcm1Hcm91cC5jaGlsZE5vZGVzWzBdO1xuICAgIGV4cGVjdChsYWJlbCkudG9CZURlZmluZWQoKTtcbiAgICBleHBlY3QobGFiZWwuaW5uZXJIVE1MKS50b0NvbnRhaW4oTEFCRUwpO1xuICAgIGV4cGVjdChsYWJlbC5nZXRBdHRyaWJ1dGUoJ2ZvcicpKS50b0VxdWFsKElEKTtcbiAgICBleHBlY3Qoc2VsZWN0LnRhZ05hbWUpLnRvRXF1YWwoJ1NFTEVDVCcpO1xuICAgIGV4cGVjdChzZWxlY3QuY2xhc3NMaXN0KS50b0NvbnRhaW4oJ2dvdnVrLXNlbGVjdCcpO1xuICAgIGV4cGVjdChzZWxlY3QuaWQpLnRvRXF1YWwoSUQpO1xuICAgIGZpcmVFdmVudC5jaGFuZ2Uoc2VsZWN0LCB7IHRhcmdldDogeyBuYW1lOiBGSUVMRF9JRCwgdmFsdWU6IE5FV19WQUxVRSB9fSk7XG4gICAgZXhwZWN0KE9OX0NIQU5HRV9DQUxMUy5sZW5ndGgpLnRvRXF1YWwoMSk7XG4gICAgZXhwZWN0KE9OX0NIQU5HRV9DQUxMU1swXSkudG9NYXRjaE9iamVjdCh7XG4gICAgICBuYW1lOiBGSUVMRF9JRCxcbiAgICAgIHZhbHVlOiBORVdfVkFMVUVcbiAgICB9KTtcbiAgfSk7XG59KTsiXSwibWFwcGluZ3MiOiI7O0FBQ0EsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBR0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsYUFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQTJDLFNBQUFHLHVCQUFBQyxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBTDNDOztBQUdBOztBQUlBRyxRQUFRLENBQUMscUJBQXFCLEVBQUUsTUFBTTtFQUVwQ0MsRUFBRSxDQUFDLDBEQUEwRCxFQUFFLE1BQU07SUFDbkUsTUFBTUMsRUFBRSxHQUFH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
@@ -1,60 +0,0 @@
1
- "use strict";
2
-
3
- var _react = require("@testing-library/react");
4
- var _models = require("../../../models");
5
- var _getComponent = _interopRequireDefault(require("../getComponent"));
6
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
7
- // Global imports
8
-
9
- // Local imports
10
-
11
- describe('utils.Component.get', () => {
12
- it('should return an appropriately rendered text component', () => {
13
- const ID = 'test-id';
14
- const FIELD_ID = 'field-id';
15
- const LABEL = 'label';
16
- const ON_CHANGE_CALLS = [];
17
- const ON_CHANGE = e => {
18
- ON_CHANGE_CALLS.push(e.target);
19
- };
20
- const COMPONENT = {
21
- type: _models.ComponentTypes.TEXT,
22
- id: ID,
23
- fieldId: FIELD_ID,
24
- label: LABEL,
25
- onChange: ON_CHANGE,
26
- 'data-testid': ID
27
- };
28
- const {
29
- container
30
- } = (0, _react.render)((0, _getComponent.default)(COMPONENT));
31
- const [formGroup, input] = (0, _react.getAllByTestId)(container, ID);
32
- expect(formGroup.tagName).toEqual('DIV');
33
- expect(formGroup.classList).toContain('govuk-form-group');
34
- let label;
35
- formGroup.childNodes.forEach(node => {
36
- // Check if it's an element.
37
- if (node instanceof Element && node.tagName === 'LABEL') {
38
- label = node;
39
- }
40
- });
41
- expect(label).toBeDefined();
42
- expect(label.innerHTML).toContain(LABEL);
43
- expect(label.getAttribute('for')).toEqual(ID);
44
- expect(input.tagName).toEqual('INPUT');
45
- expect(input.classList).toContain('govuk-input');
46
- expect(input.id).toEqual(ID);
47
- _react.fireEvent.change(input, {
48
- target: {
49
- name: FIELD_ID,
50
- value: 'blah'
51
- }
52
- });
53
- expect(ON_CHANGE_CALLS.length).toEqual(1);
54
- expect(ON_CHANGE_CALLS[0]).toMatchObject({
55
- name: FIELD_ID,
56
- value: 'blah'
57
- });
58
- });
59
- });
60
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX21vZGVscyIsIl9nZXRDb21wb25lbnQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiZGVzY3JpYmUiLCJpdCIsIklEIiwiRklFTERfSUQiLCJMQUJFTCIsIk9OX0NIQU5HRV9DQUxMUyIsIk9OX0NIQU5HRSIsInB1c2giLCJ0YXJnZXQiLCJDT01QT05FTlQiLCJ0eXBlIiwiQ29tcG9uZW50VHlwZXMiLCJURVhUIiwiaWQiLCJmaWVsZElkIiwibGFiZWwiLCJvbkNoYW5nZSIsImNvbnRhaW5lciIsInJlbmRlciIsImdldENvbXBvbmVudCIsImZvcm1Hcm91cCIsImlucHV0IiwiZ2V0QWxsQnlUZXN0SWQiLCJleHBlY3QiLCJ0YWdOYW1lIiwidG9FcXVhbCIsImNsYXNzTGlzdCIsInRvQ29udGFpbiIsImNoaWxkTm9kZXMiLCJmb3JFYWNoIiwibm9kZSIsIkVsZW1lbnQiLCJ0b0JlRGVmaW5lZCIsImlubmVySFRNTCIsImdldEF0dHJpYnV0ZSIsImZpcmVFdmVudCIsImNoYW5nZSIsIm5hbWUiLCJ2YWx1ZSIsImxlbmd0aCIsInRvTWF0Y2hPYmplY3QiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvQ29tcG9uZW50L2dldENvbXBvbmVudFRlc3RzL2dldENvbXBvbmVudC50ZXh0LnRlc3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gR2xvYmFsIGltcG9ydHNcbmltcG9ydCB7IGZpcmVFdmVudCwgZ2V0QWxsQnlUZXN0SWQsIHJlbmRlciB9IGZyb20gJ0B0ZXN0aW5nLWxpYnJhcnkvcmVhY3QnO1xuXG4vLyBMb2NhbCBpbXBvcnRzXG5pbXBvcnQgeyBDb21wb25lbnRUeXBlcyB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgZ2V0Q29tcG9uZW50IGZyb20gJy4uL2dldENvbXBvbmVudCc7XG5cbmRlc2NyaWJlKCd1dGlscy5Db21wb25lbnQuZ2V0JywgKCkgPT4ge1xuXG4gIGl0KCdzaG91bGQgcmV0dXJuIGFuIGFwcHJvcHJpYXRlbHkgcmVuZGVyZWQgdGV4dCBjb21wb25lbnQnLCAoKSA9PiB7XG4gICAgY29uc3QgSUQgPSAndGVzdC1pZCc7XG4gICAgY29uc3QgRklFTERfSUQgPSAnZmllbGQtaWQnO1xuICAgIGNvbnN0IExBQkVMID0gJ2xhYmVsJztcbiAgICBjb25zdCBPTl9DSEFOR0VfQ0FMTFMgPSBbXTtcbiAgICBjb25zdCBPTl9DSEFOR0UgPSAoZSkgPT4ge1xuICAgICAgT05fQ0hBTkdFX0NBTExTLnB1c2goZS50YXJnZXQpO1xuICAgIH07XG4gICAgY29uc3QgQ09NUE9ORU5UID0ge1xuICAgICAgdHlwZTogQ29tcG9uZW50VHlwZXMuVEVYVCxcbiAgICAgIGlkOiBJRCxcbiAgICAgIGZpZWxkSWQ6IEZJRUxEX0lELFxuICAgICAgbGFiZWw6IExBQkVMLFxuICAgICAgb25DaGFuZ2U6IE9OX0NIQU5HRSxcbiAgICAgICdkYXRhLXRlc3RpZCc6IElEXG4gICAgfTtcbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKGdldENvbXBvbmVudChDT01QT05FTlQpKTtcblxuICAgIGNvbnN0IFsgZm9ybUdyb3VwLCBpbnB1dCBdID0gZ2V0QWxsQnlUZXN0SWQoY29udGFpbmVyLCBJRCk7XG4gICAgZXhwZWN0KGZvcm1Hcm91cC50YWdOYW1lKS50b0VxdWFsKCdESVYnKTtcbiAgICBleHBlY3QoZm9ybUdyb3VwLmNsYXNzTGlzdCkudG9Db250YWluKCdnb3Z1ay1mb3JtLWdyb3VwJyk7XG4gICAgbGV0IGxhYmVsO1xuICAgIGZvcm1Hcm91cC5jaGlsZE5vZGVzLmZvckVhY2gobm9kZSA9PiB7XG4gICAgICAvLyBDaGVjayBpZiBpdCdzIGFuIGVsZW1lbnQuXG4gICAgICBpZiAobm9kZSBpbnN0YW5jZW9mIEVsZW1lbnQgJiYgbm9kZS50YWdOYW1lID09PSAnTEFCRUwnKSB7XG4gICAgICAgIGxhYmVsID0gbm9kZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBleHBlY3QobGFiZWwpLnRvQmVEZWZpbmVkKCk7XG4gICAgZXhwZWN0KGxhYmVsLmlubmVySFRNTCkudG9Db250YWluKExBQkVMKTtcbiAgICBleHBlY3QobGFiZWwuZ2V0QXR0cmlidXRlKCdmb3InKSkudG9FcXVhbChJRCk7XG4gICAgZXhwZWN0KGlucHV0LnRhZ05hbWUpLnRvRXF1YWwoJ0lOUFVUJyk7XG4gICAgZXhwZWN0KGlucHV0LmNsYXNzTGlzdCkudG9Db250YWluKCdnb3Z1ay1pbnB1dCcpO1xuICAgIGV4cGVjdChpbnB1dC5pZCkudG9FcXVhbChJRCk7XG4gICAgZmlyZUV2ZW50LmNoYW5nZShpbnB1dCwgeyB0YXJnZXQ6IHsgbmFtZTogRklFTERfSUQsIHZhbHVlOiAnYmxhaCcgfX0pO1xuICAgIGV4cGVjdChPTl9DSEFOR0VfQ0FMTFMubGVuZ3RoKS50b0VxdWFsKDEpO1xuICAgIGV4cGVjdChPTl9DSEFOR0VfQ0FMTFNbMF0pLnRvTWF0Y2hPYmplY3Qoe1xuICAgICAgbmFtZTogRklFTERfSUQsXG4gICAgICB2YWx1ZTogJ2JsYWgnXG4gICAgfSk7XG4gIH0pO1xuXG59KTsiXSwibWFwcGluZ3MiOiI7O0FBQ0EsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBR0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsYUFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQTJDLFNBQUFHLHVCQUFBQyxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBTDNDOztBQUdBOztBQUlBRyxRQUFRLENBQUMscUJBQXFCLEVBQUUsTUFBTTtFQUVwQ0MsRUFBRSxDQUFDLHdEQUF3RCxFQUFFLE1BQU07SUFDakUsTUFBTUMsRUFBRSxHQUFHLFNBQVM7SUFDcEIsTUFBTUMsUUFBUSxHQUFHLFVBQVU7SUFDM0IsTUFBTUMsS0FBSyxHQUFHLE9BQU87SUFDckIsTUFBTUMsZUFBZSxHQUFHLEVBQUU7SUFDMUIsTUFBTUMsU0FBUyxHQUFJVCxDQUFDLElBQUs7TUFDdkJRLGVBQWUsQ0FBQ0UsSUFBSSxDQUFDVixDQUFDLENBQUNXLE1BQU0sQ0FBQztJQUNoQyxDQUFDO0lBQ0QsTUFBTUMsU0FBUyxHQUFHO01BQ2hCQyxJQUFJLEVBQUVDLHNCQUFjLENBQUNDLElBQUk7TUFDekJDLEVBQUUsRUFBRVgsRUFBRTtNQUNOWSxPQUFPLEVBQUVYLFFBQVE7TUFDakJZLEtBQUssRUFBRVgsS0FBSztNQUNaWSxRQUFRLEVBQUVWLFNBQVM7TUFDbkIsYUFBYSxFQUFFSjtJQUNqQixDQUFDO0lBQ0QsTUFBTTtNQUFFZTtJQUFVLENBQUMsR0FBRyxJQUFBQyxhQUFNLEVBQUMsSUFBQUMscUJBQVksRUFBQ1YsU0FBUyxDQUFDLENBQUM7SUFFckQsTUFBTSxDQUFFVyxTQUFTLEVBQUVDLEtBQUssQ0FBRSxHQUFHLElBQUFDLHFCQUFjLEVBQUNMLFNBQVMsRUFBRWYsRUFBRSxDQUFDO0lBQzFEcUIsTUFBTSxDQUFDSCxTQUFTLENBQUNJLE9BQU8sQ0FBQyxDQUFDQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQ3hDRixNQUFNLENBQUNILFNBQVMsQ0FBQ00sU0FBUyxDQUFDLENBQUNDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQztJQUN6RCxJQUFJWixLQUFLO0lBQ1RLLFNBQVMsQ0FBQ1EsVUFBVSxDQUFDQyxPQUFPLENBQUNDLElBQUksSUFBSTtNQUNuQztNQUNBLElBQUlBLElBQUksWUFBWUMsT0FBTyxJQUFJRCxJQUFJLENBQUNOLE9BQU8sS0FBSyxPQUFPLEVBQUU7UUFDdkRULEtBQUssR0FBR2UsSUFBSTtNQUNkO0lBQ0YsQ0FBQyxDQUFDO0lBQ0ZQLE1BQU0sQ0FBQ1IsS0FBSyxDQUFDLENBQUNpQixXQUFXLENBQUMsQ0FBQztJQUMzQlQsTUFBTSxDQUFDUixLQUFLLENBQUNrQixTQUFTLENBQUMsQ0FBQ04sU0FBUyxDQUFDdkIsS0FBSyxDQUFDO0lBQ3hDbUIsTUFBTSxDQUFDUixLQUFLLENBQUNtQixZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQ1QsT0FBTyxDQUFDdkIsRUFBRSxDQUFDO0lBQzdDcUIsTUFBTSxDQUFDRixLQUFLLENBQUNHLE9BQU8sQ0FBQyxDQUFDQyxPQUFPLENBQUMsT0FBTyxDQUFDO0lBQ3RDRixNQUFNLENBQUNGLEtBQUssQ0FBQ0ssU0FBUyxDQUFDLENBQUNDLFNBQVMsQ0FBQyxhQUFhLENBQUM7SUFDaERKLE1BQU0sQ0FBQ0YsS0FBSyxDQUFDUixFQUFFLENBQUMsQ0FBQ1ksT0FBTyxDQUFDdkIsRUFBRSxDQUFDO0lBQzVCaUMsZ0JBQVMsQ0FBQ0MsTUFBTSxDQUFDZixLQUFLLEVBQUU7TUFBRWIsTUFBTSxFQUFFO1FBQUU2QixJQUFJLEVBQUVsQyxRQUFRO1FBQUVtQyxLQUFLLEVBQUU7TUFBTztJQUFDLENBQUMsQ0FBQztJQUNyRWYsTUFBTSxDQUFDbEIsZUFBZSxDQUFDa0MsTUFBTSxDQUFDLENBQUNkLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDekNGLE1BQU0sQ0FBQ2xCLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDbUMsYUFBYSxDQUFDO01BQ3ZDSCxJQUFJLEVBQUVsQyxRQUFRO01BQ2RtQyxLQUFLLEVBQUU7SUFDVCxDQUFDLENBQUM7RUFDSixDQUFDLENBQUM7QUFFSixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,104 +0,0 @@
1
- "use strict";
2
-
3
- var _react = require("@testing-library/react");
4
- var _models = require("../../../models");
5
- var _getComponent = _interopRequireDefault(require("../getComponent"));
6
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
7
- // Global imports
8
-
9
- // Local imports
10
-
11
- describe('utils.Component.get', () => {
12
- it('should return an appropriately rendered textarea component', () => {
13
- const ID = 'test-id';
14
- const FIELD_ID = 'field-id';
15
- const LABEL = 'label';
16
- const ROWS = 13;
17
- const ON_CHANGE_CALLS = [];
18
- const ON_CHANGE = e => {
19
- ON_CHANGE_CALLS.push(e.target);
20
- };
21
- const COMPONENT = {
22
- type: _models.ComponentTypes.TEXT_AREA,
23
- id: ID,
24
- fieldId: FIELD_ID,
25
- label: LABEL,
26
- rows: ROWS,
27
- onChange: ON_CHANGE,
28
- 'data-testid': ID
29
- };
30
- const {
31
- container
32
- } = (0, _react.render)((0, _getComponent.default)(COMPONENT));
33
- const [formGroup, textarea] = (0, _react.getAllByTestId)(container, ID);
34
- expect(formGroup.tagName).toEqual('DIV');
35
- expect(formGroup.classList).toContain('govuk-form-group');
36
- const label = formGroup.childNodes[0];
37
- expect(label.innerHTML).toContain(LABEL);
38
- expect(label.getAttribute('for')).toEqual(ID);
39
- expect(textarea.tagName).toEqual('TEXTAREA');
40
- expect(textarea.classList).toContain('govuk-textarea');
41
- expect(textarea.getAttribute('rows')).toEqual("".concat(ROWS));
42
- expect(textarea.id).toEqual(ID);
43
- _react.fireEvent.change(textarea, {
44
- target: {
45
- name: FIELD_ID,
46
- value: 'Some text'
47
- }
48
- });
49
- expect(ON_CHANGE_CALLS.length).toEqual(1);
50
- expect(ON_CHANGE_CALLS[0]).toMatchObject({
51
- name: FIELD_ID,
52
- value: 'Some text'
53
- });
54
- });
55
- it('should return an appropriately rendered textarea component with a character count', () => {
56
- const ID = 'test-id';
57
- const FIELD_ID = 'field-id';
58
- const LABEL = 'label';
59
- const ROWS = 13;
60
- const ON_CHANGE_CALLS = [];
61
- const ON_CHANGE = e => {
62
- ON_CHANGE_CALLS.push(e.target);
63
- };
64
- const COMPONENT = {
65
- type: _models.ComponentTypes.TEXT_AREA,
66
- id: ID,
67
- fieldId: FIELD_ID,
68
- label: LABEL,
69
- rows: ROWS,
70
- onChange: ON_CHANGE,
71
- 'data-testid': ID,
72
- showCharacterCount: true
73
- };
74
- const {
75
- container
76
- } = (0, _react.render)((0, _getComponent.default)(COMPONENT));
77
- const [formGroup, textarea] = (0, _react.getAllByTestId)(container, ID);
78
- expect(formGroup.tagName).toEqual('DIV');
79
- expect(formGroup.classList).toContain('govuk-form-group');
80
- const label = formGroup.childNodes[0];
81
- expect(label.innerHTML).toContain(LABEL);
82
- expect(label.getAttribute('for')).toEqual(ID);
83
- expect(textarea.tagName).toEqual('TEXTAREA');
84
- expect(textarea.classList).toContain('govuk-textarea');
85
- expect(textarea.getAttribute('rows')).toEqual("".concat(ROWS));
86
- expect(textarea.id).toEqual(ID);
87
- _react.fireEvent.change(textarea, {
88
- target: {
89
- name: FIELD_ID,
90
- value: 'Some text'
91
- }
92
- });
93
- expect(ON_CHANGE_CALLS.length).toEqual(1);
94
- expect(ON_CHANGE_CALLS[0]).toMatchObject({
95
- name: FIELD_ID,
96
- value: 'Some text'
97
- });
98
- const characterCount = formGroup.childNodes[2];
99
- expect(characterCount.tagName).toEqual('DIV');
100
- expect(characterCount.classList).toContain('govuk-hint');
101
- expect(characterCount.textContent).toEqual('You have 1000 characters remaining');
102
- });
103
- });
104
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX21vZGVscyIsIl9nZXRDb21wb25lbnQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiZGVzY3JpYmUiLCJpdCIsIklEIiwiRklFTERfSUQiLCJMQUJFTCIsIlJPV1MiLCJPTl9DSEFOR0VfQ0FMTFMiLCJPTl9DSEFOR0UiLCJwdXNoIiwidGFyZ2V0IiwiQ09NUE9ORU5UIiwidHlwZSIsIkNvbXBvbmVudFR5cGVzIiwiVEVYVF9BUkVBIiwiaWQiLCJmaWVsZElkIiwibGFiZWwiLCJyb3dzIiwib25DaGFuZ2UiLCJjb250YWluZXIiLCJyZW5kZXIiLCJnZXRDb21wb25lbnQiLCJmb3JtR3JvdXAiLCJ0ZXh0YXJlYSIsImdldEFsbEJ5VGVzdElkIiwiZXhwZWN0IiwidGFnTmFtZSIsInRvRXF1YWwiLCJjbGFzc0xpc3QiLCJ0b0NvbnRhaW4iLCJjaGlsZE5vZGVzIiwiaW5uZXJIVE1MIiwiZ2V0QXR0cmlidXRlIiwiY29uY2F0IiwiZmlyZUV2ZW50IiwiY2hhbmdlIiwibmFtZSIsInZhbHVlIiwibGVuZ3RoIiwidG9NYXRjaE9iamVjdCIsInNob3dDaGFyYWN0ZXJDb3VudCIsImNoYXJhY3RlckNvdW50IiwidGV4dENvbnRlbnQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvQ29tcG9uZW50L2dldENvbXBvbmVudFRlc3RzL2dldENvbXBvbmVudC50ZXh0QXJlYS50ZXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEdsb2JhbCBpbXBvcnRzXG5pbXBvcnQgeyBmaXJlRXZlbnQsIGdldEFsbEJ5VGVzdElkLCByZW5kZXIgfSBmcm9tICdAdGVzdGluZy1saWJyYXJ5L3JlYWN0JztcblxuLy8gTG9jYWwgaW1wb3J0c1xuaW1wb3J0IHsgQ29tcG9uZW50VHlwZXMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IGdldENvbXBvbmVudCBmcm9tICcuLi9nZXRDb21wb25lbnQnO1xuXG5kZXNjcmliZSgndXRpbHMuQ29tcG9uZW50LmdldCcsICgpID0+IHtcblxuICBpdCgnc2hvdWxkIHJldHVybiBhbiBhcHByb3ByaWF0ZWx5IHJlbmRlcmVkIHRleHRhcmVhIGNvbXBvbmVudCcsICgpID0+IHtcbiAgICBjb25zdCBJRCA9ICd0ZXN0LWlkJztcbiAgICBjb25zdCBGSUVMRF9JRCA9ICdmaWVsZC1pZCc7XG4gICAgY29uc3QgTEFCRUwgPSAnbGFiZWwnO1xuICAgIGNvbnN0IFJPV1MgPSAxMztcbiAgICBjb25zdCBPTl9DSEFOR0VfQ0FMTFMgPSBbXTtcbiAgICBjb25zdCBPTl9DSEFOR0UgPSAoZSkgPT4ge1xuICAgICAgT05fQ0hBTkdFX0NBTExTLnB1c2goZS50YXJnZXQpO1xuICAgIH07XG4gICAgY29uc3QgQ09NUE9ORU5UID0ge1xuICAgICAgdHlwZTogQ29tcG9uZW50VHlwZXMuVEVYVF9BUkVBLFxuICAgICAgaWQ6IElELFxuICAgICAgZmllbGRJZDogRklFTERfSUQsXG4gICAgICBsYWJlbDogTEFCRUwsXG4gICAgICByb3dzOiBST1dTLFxuICAgICAgb25DaGFuZ2U6IE9OX0NIQU5HRSxcbiAgICAgICdkYXRhLXRlc3RpZCc6IElEXG4gICAgfTtcbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKGdldENvbXBvbmVudChDT01QT05FTlQpKTtcblxuICAgIGNvbnN0IFsgZm9ybUdyb3VwLCB0ZXh0YXJlYSBdID0gZ2V0QWxsQnlUZXN0SWQoY29udGFpbmVyLCBJRCk7XG4gICAgZXhwZWN0KGZvcm1Hcm91cC50YWdOYW1lKS50b0VxdWFsKCdESVYnKTtcbiAgICBleHBlY3QoZm9ybUdyb3VwLmNsYXNzTGlzdCkudG9Db250YWluKCdnb3Z1ay1mb3JtLWdyb3VwJyk7XG4gICAgY29uc3QgbGFiZWwgPSBmb3JtR3JvdXAuY2hpbGROb2Rlc1swXTtcbiAgICBleHBlY3QobGFiZWwuaW5uZXJIVE1MKS50b0NvbnRhaW4oTEFCRUwpO1xuICAgIGV4cGVjdChsYWJlbC5nZXRBdHRyaWJ1dGUoJ2ZvcicpKS50b0VxdWFsKElEKTtcbiAgICBleHBlY3QodGV4dGFyZWEudGFnTmFtZSkudG9FcXVhbCgnVEVYVEFSRUEnKTtcbiAgICBleHBlY3QodGV4dGFyZWEuY2xhc3NMaXN0KS50b0NvbnRhaW4oJ2dvdnVrLXRleHRhcmVhJyk7XG4gICAgZXhwZWN0KHRleHRhcmVhLmdldEF0dHJpYnV0ZSgncm93cycpKS50b0VxdWFsKGAke1JPV1N9YCk7XG4gICAgZXhwZWN0KHRleHRhcmVhLmlkKS50b0VxdWFsKElEKTtcbiAgICBmaXJlRXZlbnQuY2hhbmdlKHRleHRhcmVhLCB7IHRhcmdldDogeyBuYW1lOiBGSUVMRF9JRCwgdmFsdWU6ICdTb21lIHRleHQnIH19KTtcbiAgICBleHBlY3QoT05fQ0hBTkdFX0NBTExTLmxlbmd0aCkudG9FcXVhbCgxKTtcbiAgICBleHBlY3QoT05fQ0hBTkdFX0NBTExTWzBdKS50b01hdGNoT2JqZWN0KHtcbiAgICAgIG5hbWU6IEZJRUxEX0lELFxuICAgICAgdmFsdWU6ICdTb21lIHRleHQnXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcmV0dXJuIGFuIGFwcHJvcHJpYXRlbHkgcmVuZGVyZWQgdGV4dGFyZWEgY29tcG9uZW50IHdpdGggYSBjaGFyYWN0ZXIgY291bnQnLCAoKSA9PiB7XG4gICAgY29uc3QgSUQgPSAndGVzdC1pZCc7XG4gICAgY29uc3QgRklFTERfSUQgPSAnZmllbGQtaWQnO1xuICAgIGNvbnN0IExBQkVMID0gJ2xhYmVsJztcbiAgICBjb25zdCBST1dTID0gMTM7XG4gICAgY29uc3QgT05fQ0hBTkdFX0NBTExTID0gW107XG4gICAgY29uc3QgT05fQ0hBTkdFID0gKGUpID0+IHtcbiAgICAgIE9OX0NIQU5HRV9DQUxMUy5wdXNoKGUudGFyZ2V0KTtcbiAgICB9O1xuICAgIGNvbnN0IENPTVBPTkVOVCA9IHtcbiAgICAgIHR5cGU6IENvbXBvbmVudFR5cGVzLlRFWFRfQVJFQSxcbiAgICAgIGlkOiBJRCxcbiAgICAgIGZpZWxkSWQ6IEZJRUxEX0lELFxuICAgICAgbGFiZWw6IExBQkVMLFxuICAgICAgcm93czogUk9XUyxcbiAgICAgIG9uQ2hhbmdlOiBPTl9DSEFOR0UsXG4gICAgICAnZGF0YS10ZXN0aWQnOiBJRCxcbiAgICAgIHNob3dDaGFyYWN0ZXJDb3VudDogdHJ1ZSxcbiAgICB9O1xuICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoZ2V0Q29tcG9uZW50KENPTVBPTkVOVCkpO1xuXG4gICAgY29uc3QgWyBmb3JtR3JvdXAsIHRleHRhcmVhIF0gPSBnZXRBbGxCeVRlc3RJZChjb250YWluZXIsIElEKTtcbiAgICBleHBlY3QoZm9ybUdyb3VwLnRhZ05hbWUpLnRvRXF1YWwoJ0RJVicpO1xuICAgIGV4cGVjdChmb3JtR3JvdXAuY2xhc3NMaXN0KS50b0NvbnRhaW4oJ2dvdnVrLWZvcm0tZ3JvdXAnKTtcbiAgICBjb25zdCBsYWJlbCA9IGZvcm1Hcm91cC5jaGlsZE5vZGVzWzBdO1xuICAgIGV4cGVjdChsYWJlbC5pbm5lckhUTUwpLnRvQ29udGFpbihMQUJFTCk7XG4gICAgZXhwZWN0KGxhYmVsLmdldEF0dHJpYnV0ZSgnZm9yJykpLnRvRXF1YWwoSUQpO1xuICAgIGV4cGVjdCh0ZXh0YXJlYS50YWdOYW1lKS50b0VxdWFsKCdURVhUQVJFQScpO1xuICAgIGV4cGVjdCh0ZXh0YXJlYS5jbGFzc0xpc3QpLnRvQ29udGFpbignZ292dWstdGV4dGFyZWEnKTtcbiAgICBleHBlY3QodGV4dGFyZWEuZ2V0QXR0cmlidXRlKCdyb3dzJykpLnRvRXF1YWwoYCR7Uk9XU31gKTtcbiAgICBleHBlY3QodGV4dGFyZWEuaWQpLnRvRXF1YWwoSUQpO1xuICAgIGZpcmVFdmVudC5jaGFuZ2UodGV4dGFyZWEsIHsgdGFyZ2V0OiB7IG5hbWU6IEZJRUxEX0lELCB2YWx1ZTogJ1NvbWUgdGV4dCcgfX0pO1xuICAgIGV4cGVjdChPTl9DSEFOR0VfQ0FMTFMubGVuZ3RoKS50b0VxdWFsKDEpO1xuICAgIGV4cGVjdChPTl9DSEFOR0VfQ0FMTFNbMF0pLnRvTWF0Y2hPYmplY3Qoe1xuICAgICAgbmFtZTogRklFTERfSUQsXG4gICAgICB2YWx1ZTogJ1NvbWUgdGV4dCdcbiAgICB9KTtcbiAgICBjb25zdCBjaGFyYWN0ZXJDb3VudCA9IGZvcm1Hcm91cC5jaGlsZE5vZGVzWzJdO1xuICAgIGV4cGVjdChjaGFyYWN0ZXJDb3VudC50YWdOYW1lKS50b0VxdWFsKCdESVYnKTtcbiAgICBleHBlY3QoY2hhcmFjdGVyQ291bnQuY2xhc3NMaXN0KS50b0NvbnRhaW4oJ2dvdnVrLWhpbnQnKTtcbiAgICBleHBlY3QoY2hhcmFjdGVyQ291bnQudGV4dENvbnRlbnQpLnRvRXF1YWwoJ1lvdSBoYXZlIDEwMDAgY2hhcmFjdGVycyByZW1haW5pbmcnKTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7QUFDQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFHQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxhQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFBMkMsU0FBQUcsdUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFMM0M7O0FBR0E7O0FBSUFHLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRSxNQUFNO0VBRXBDQyxFQUFFLENBQUMsNERBQTRELEVBQUUsTUFBTTtJQUNyRSxNQUFNQyxFQUFFLEdBQUcsU0FBUztJQUNwQixNQUFNQyxRQUFRLEdBQUcsVUFBVTtJQUMzQixNQUFNQyxLQUFLLEdBQUcsT0FBTztJQUNyQixNQUFNQyxJQUFJLEdBQUcsRUFBRTtJQUNmLE1BQU1DLGVBQWUsR0FBRyxFQUFFO0lBQzFCLE1BQU1DLFNBQVMsR0FBSVYsQ0FBQyxJQUFLO01BQ3ZCUyxlQUFlLENBQUNFLElBQUksQ0FBQ1gsQ0FBQyxDQUFDWSxNQUFNLENBQUM7SUFDaEMsQ0FBQztJQUNELE1BQU1DLFNBQVMs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