@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.
- package/README.md +106 -32
- package/dist/components/CheckYourAnswers/Answer.d.ts +10 -0
- package/dist/components/CheckYourAnswers/CheckYourAnswers.d.ts +35 -0
- package/dist/components/CheckYourAnswers/index.d.ts +2 -0
- package/dist/components/CollectionPage/CollectionPage.d.ts +24 -0
- package/dist/components/CollectionPage/index.d.ts +1 -0
- package/dist/components/CollectionSummary/BannerStrip.d.ts +9 -0
- package/dist/components/CollectionSummary/CollectionSummary.d.ts +53 -0
- package/dist/components/CollectionSummary/Confirmation.d.ts +15 -0
- package/dist/components/CollectionSummary/RenderListView.d.ts +42 -0
- package/dist/components/CollectionSummary/SummaryCard.d.ts +62 -0
- package/dist/components/CollectionSummary/SummaryCardButtons.d.ts +21 -0
- package/dist/components/CollectionSummary/SummaryCardDetails.d.ts +14 -0
- package/dist/components/CollectionSummary/SummaryCardValidationContext.d.ts +9 -0
- package/dist/components/CollectionSummary/index.d.ts +2 -0
- package/dist/components/FormComponent/Collection.d.ts +39 -0
- package/dist/components/FormComponent/Container.d.ts +26 -0
- package/dist/components/FormComponent/FormComponent.d.ts +39 -0
- package/dist/components/FormComponent/helpers/addLabel.d.ts +7 -0
- package/dist/components/FormComponent/helpers/getComponentDisabled.d.ts +2 -0
- package/dist/components/FormComponent/helpers/getComponentError.d.ts +4 -0
- package/dist/components/FormComponent/helpers/getComponentFieldSet.d.ts +2 -0
- package/dist/components/FormComponent/helpers/index.d.ts +5 -0
- package/dist/components/FormComponent/index.d.ts +2 -0
- package/dist/components/FormPage/FormPage.d.ts +36 -0
- package/dist/components/FormPage/index.d.ts +2 -0
- package/dist/components/FormRenderer/FormRenderer.d.ts +39 -0
- package/dist/components/FormRenderer/handlers/cyaAction.d.ts +9 -0
- package/dist/components/FormRenderer/handlers/getPageId.d.ts +8 -0
- package/dist/components/FormRenderer/handlers/index.d.ts +6 -0
- package/dist/components/FormRenderer/handlers/navigate.d.ts +10 -0
- package/dist/components/FormRenderer/handlers/submissionError.d.ts +7 -0
- package/dist/components/FormRenderer/helpers/canActionProceed.d.ts +12 -0
- package/dist/components/FormRenderer/helpers/canCYASubmit.d.ts +10 -0
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.d.ts +2 -0
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.d.ts +51 -0
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutesUtils.d.ts +179 -0
- package/dist/components/FormRenderer/helpers/getCYA.d.ts +20 -0
- package/dist/components/FormRenderer/helpers/getFormState.d.ts +25 -0
- package/dist/components/FormRenderer/helpers/getNextPageId.d.ts +2 -0
- package/dist/components/FormRenderer/helpers/getPage.d.ts +9 -0
- package/dist/components/FormRenderer/helpers/getRelevantPages.d.ts +2 -0
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.d.ts +2 -0
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.d.ts +10 -0
- package/dist/components/FormRenderer/helpers/index.d.ts +29 -0
- package/dist/components/FormRenderer/index.d.ts +2 -0
- package/dist/components/FormRenderer/onCYAAction.d.ts +6 -0
- package/dist/components/FormRenderer/onPageAction.d.ts +2 -0
- package/dist/components/FormRenderer/onTaskAction.d.ts +2 -0
- package/dist/components/PageActions/ActionButton.d.ts +7 -0
- package/dist/components/PageActions/PageActions.d.ts +7 -0
- package/dist/components/PageActions/index.d.ts +2 -0
- package/dist/components/SummaryList/GroupAction.d.ts +12 -0
- package/dist/components/SummaryList/RowAction.d.ts +12 -0
- package/dist/components/SummaryList/SummaryList.d.ts +28 -0
- package/dist/components/SummaryList/SummaryList.stories.d.ts +10 -0
- package/dist/components/SummaryList/SummaryListHeadingRow.d.ts +7 -0
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.d.ts +16 -0
- package/dist/components/SummaryList/SummaryListRow.d.ts +19 -0
- package/dist/components/SummaryList/SummaryListTitleRow.d.ts +7 -0
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.d.ts +17 -0
- package/dist/components/SummaryList/helpers/getRowActionAttributes.d.ts +17 -0
- package/dist/components/SummaryList/helpers/index.d.ts +2 -0
- package/dist/components/SummaryList/index.d.ts +2 -0
- package/dist/components/TaskList/Task.d.ts +12 -0
- package/dist/components/TaskList/TaskList.d.ts +40 -0
- package/dist/components/TaskList/TaskState.d.ts +6 -0
- package/dist/components/TaskList/index.d.ts +2 -0
- package/dist/components/index.d.ts +8 -0
- package/dist/context/HooksContext/HooksContext.d.ts +23 -0
- package/dist/context/HooksContext/index.d.ts +3 -0
- package/dist/context/ValidationContext/ValidationContext.d.ts +7 -0
- package/dist/context/ValidationContext/index.d.ts +3 -0
- package/dist/context/index.d.ts +3 -0
- package/dist/hooks/index.d.ts +6 -0
- package/dist/hooks/useAxios.d.ts +2 -0
- package/dist/hooks/useGetRequest.d.ts +12 -0
- package/dist/hooks/useHooks.d.ts +2 -0
- package/dist/hooks/useRefData.d.ts +7 -0
- package/dist/hooks/useValidation.d.ts +2 -0
- package/dist/index.cjs +5 -0
- package/dist/index.css +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +6124 -81
- package/dist/models/CollectionLabels.d.ts +7 -0
- package/dist/models/ComponentTypes.d.ts +27 -0
- package/dist/models/EventTypes.d.ts +6 -0
- package/dist/models/FormPages.d.ts +6 -0
- package/dist/models/FormTypes.d.ts +10 -0
- package/dist/models/HubFormats.d.ts +5 -0
- package/dist/models/PageAction.d.ts +89 -0
- package/dist/models/TaskStates.d.ts +39 -0
- package/dist/models/index.d.ts +143 -0
- package/dist/setupTests.d.ts +14 -0
- package/dist/utils/CheckYourAnswers/getCYAAction.d.ts +20 -0
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.d.ts +22 -0
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.d.ts +22 -0
- package/dist/utils/CheckYourAnswers/getCYARow.d.ts +26 -0
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.d.ts +17 -0
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.d.ts +2 -0
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.d.ts +23 -0
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.d.ts +2 -0
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.d.ts +11 -0
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.d.ts +3 -0
- package/dist/utils/CheckYourAnswers/index.d.ts +5 -0
- package/dist/utils/CheckYourAnswers/showComponentCYA.d.ts +11 -0
- package/dist/utils/CollectionPage/addCollectionPageEntry.d.ts +12 -0
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.d.ts +13 -0
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.d.ts +13 -0
- package/dist/utils/CollectionPage/getCollectionPageActiveId.d.ts +14 -0
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.d.ts +15 -0
- package/dist/utils/CollectionPage/getCollectionPageData.d.ts +15 -0
- package/dist/utils/CollectionPage/getErrorsForCollection.d.ts +2 -0
- package/dist/utils/CollectionPage/getQuickEditPage.d.ts +40 -0
- package/dist/utils/CollectionPage/index.d.ts +13 -0
- package/dist/utils/CollectionPage/mergeCollectionPages.d.ts +13 -0
- package/dist/utils/CollectionPage/removeCollectionPageEntry.d.ts +11 -0
- package/dist/utils/CollectionPage/setCollectionPageData.d.ts +16 -0
- package/dist/utils/Component/addShowWhen.d.ts +13 -0
- package/dist/utils/Component/applyToComponentTree.d.ts +15 -0
- package/dist/utils/Component/cleanAttributes.d.ts +14 -0
- package/dist/utils/Component/elevateNestedComponents.d.ts +28 -0
- package/dist/utils/Component/getDefaultValue.d.ts +2 -0
- package/dist/utils/Component/getDefaultValueFromConfig.d.ts +2 -0
- package/dist/utils/Component/index.d.ts +12 -0
- package/dist/utils/Component/isEditable.d.ts +3 -0
- package/dist/utils/Component/optionIsSelected.d.ts +10 -0
- package/dist/utils/Component/setupContainerComponentsPath.d.ts +2 -0
- package/dist/utils/Component/showComponent.d.ts +2 -0
- package/dist/utils/Condition/index.d.ts +6 -0
- package/dist/utils/Condition/meetsAllConditions.d.ts +8 -0
- package/dist/utils/Condition/meetsCondition.d.ts +14 -0
- package/dist/utils/Condition/meetsOneCondition.d.ts +8 -0
- package/dist/utils/Condition/setupConditions.d.ts +2 -0
- package/dist/utils/Container/getEditableComponents.d.ts +7 -0
- package/dist/utils/Container/index.d.ts +6 -0
- package/dist/utils/Container/setupNesting.d.ts +2 -0
- package/dist/utils/Container/showContainer.d.ts +8 -0
- package/dist/utils/Data/applyFormula.d.ts +2 -0
- package/dist/utils/Data/deleteValues.d.ts +8 -0
- package/dist/utils/Data/getAutocompleteSource.d.ts +2 -0
- package/dist/utils/Data/getDataPath.d.ts +21 -0
- package/dist/utils/Data/getOptions.d.ts +2 -0
- package/dist/utils/Data/getSourceData.d.ts +17 -0
- package/dist/utils/Data/index.d.ts +15 -0
- package/dist/utils/Data/nestInRefdataOptions.d.ts +10 -0
- package/dist/utils/Data/refDataToOptions.d.ts +8 -0
- package/dist/utils/Data/setDataItem.d.ts +2 -0
- package/dist/utils/Data/setupFormData.d.ts +15 -0
- package/dist/utils/Data/setupRefDataUrlForComponent.d.ts +2 -0
- package/dist/utils/FormPage/applyConditionalProperties.d.ts +8 -0
- package/dist/utils/FormPage/getConditionalText.d.ts +23 -0
- package/dist/utils/FormPage/getFormPage.d.ts +9 -0
- package/dist/utils/FormPage/getFormPages.d.ts +9 -0
- package/dist/utils/FormPage/getPageActions.d.ts +13 -0
- package/dist/utils/FormPage/getParagraphFromText.d.ts +11 -0
- package/dist/utils/FormPage/index.d.ts +10 -0
- package/dist/utils/FormPage/showFormPage.d.ts +8 -0
- package/dist/utils/FormPage/showFormPageCYA.d.ts +8 -0
- package/dist/utils/FormPage/useComponent.d.ts +9 -0
- package/dist/utils/Format/formatData.d.ts +8 -0
- package/dist/utils/Format/formatDataForComponent.d.ts +15 -0
- package/dist/utils/Format/formatDataForForm.d.ts +8 -0
- package/dist/utils/Format/formatDataForPage.d.ts +15 -0
- package/dist/utils/Format/index.d.ts +7 -0
- package/dist/utils/Hub/getFormHub.d.ts +15 -0
- package/dist/utils/Hub/index.d.ts +4 -0
- package/dist/utils/Meta/constants.d.ts +2 -0
- package/dist/utils/Meta/documents/getDocuments.d.ts +2 -0
- package/dist/utils/Meta/documents/index.d.ts +6 -0
- package/dist/utils/Meta/documents/setDocumentsForField.d.ts +2 -0
- package/dist/utils/Meta/index.d.ts +9 -0
- package/dist/utils/Operate/checkValueIsTruthy.d.ts +9 -0
- package/dist/utils/Operate/deleteValueInFormData.d.ts +8 -0
- package/dist/utils/Operate/doesContainValue.d.ts +11 -0
- package/dist/utils/Operate/getFirstOf.d.ts +2 -0
- package/dist/utils/Operate/getIndexOfMatchingValueIn.d.ts +11 -0
- package/dist/utils/Operate/getLength.d.ts +11 -0
- package/dist/utils/Operate/index.d.ts +4 -0
- package/dist/utils/Operate/persistValueInFormData.d.ts +9 -0
- package/dist/utils/Operate/runPageOperations.d.ts +19 -0
- package/dist/utils/Operate/setValueInFormData.d.ts +2 -0
- package/dist/utils/Operate/shouldRun.d.ts +9 -0
- package/dist/utils/Validate/additional/conditionallyPermittedChange.d.ts +14 -0
- package/dist/utils/Validate/additional/conditionallyRequired.d.ts +11 -0
- package/dist/utils/Validate/additional/index.d.ts +2 -0
- package/dist/utils/Validate/additional/mustBeAfter.d.ts +14 -0
- package/dist/utils/Validate/additional/mustBeBefore.d.ts +14 -0
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.d.ts +15 -0
- package/dist/utils/Validate/additional/mustBeGreaterThan.d.ts +7 -0
- package/dist/utils/Validate/additional/mustBeInTheFuture.d.ts +8 -0
- package/dist/utils/Validate/additional/mustBeInThePast.d.ts +9 -0
- package/dist/utils/Validate/additional/mustBeLessThan.d.ts +7 -0
- package/dist/utils/Validate/additional/mustBeLongerThan.d.ts +9 -0
- package/dist/utils/Validate/additional/mustBeNumbersOnly.d.ts +9 -0
- package/dist/utils/Validate/additional/mustBeOneOf.d.ts +8 -0
- package/dist/utils/Validate/additional/mustBeShorterThan.d.ts +9 -0
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.d.ts +10 -0
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.d.ts +9 -0
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.d.ts +7 -0
- package/dist/utils/Validate/additional/mustNotContainSql.d.ts +2 -0
- package/dist/utils/Validate/additional/mustSelectOnlyOne.d.ts +8 -0
- package/dist/utils/Validate/additional/utils.d.ts +4 -0
- package/dist/utils/Validate/index.d.ts +42 -0
- package/dist/utils/Validate/validateCollection.d.ts +9 -0
- package/dist/utils/Validate/validateComponent.d.ts +16 -0
- package/dist/utils/Validate/validateContainer.d.ts +12 -0
- package/dist/utils/Validate/validateDate.d.ts +29 -0
- package/dist/utils/Validate/validateEmail.d.ts +13 -0
- package/dist/utils/Validate/validateMultifile.d.ts +3 -0
- package/dist/utils/Validate/validateOnPageLoad.d.ts +1 -0
- package/dist/utils/Validate/validatePage.d.ts +8 -0
- package/dist/utils/Validate/validateRegex.d.ts +13 -0
- package/dist/utils/Validate/validateRequired.d.ts +9 -0
- package/dist/utils/Validate/validateTextArea.d.ts +13 -0
- package/dist/utils/Validate/validateTime.d.ts +20 -0
- package/dist/utils/canOverrideFieldRequired.d.ts +9 -0
- package/dist/utils/index.d.ts +140 -0
- package/package.json +81 -170
- package/LICENCE.md +0 -21
- package/dist/components/CheckYourAnswers/Answer.js +0 -59
- package/dist/components/CheckYourAnswers/Answer.test.js +0 -142
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +0 -252
- package/dist/components/CheckYourAnswers/CheckYourAnswers.scss +0 -43
- package/dist/components/CheckYourAnswers/CheckYourAnswers.stories.mdx +0 -409
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +0 -603
- package/dist/components/CheckYourAnswers/index.js +0 -10
- package/dist/components/CollectionPage/CollectionPage.js +0 -178
- package/dist/components/CollectionPage/CollectionPage.test.js +0 -507
- package/dist/components/CollectionPage/index.js +0 -10
- package/dist/components/CollectionSummary/BannerStrip.js +0 -65
- package/dist/components/CollectionSummary/BannerStrip.scss +0 -60
- package/dist/components/CollectionSummary/BannerStrip.test.js +0 -167
- package/dist/components/CollectionSummary/CollectionSummary.js +0 -362
- package/dist/components/CollectionSummary/CollectionSummary.scss +0 -26
- package/dist/components/CollectionSummary/CollectionSummary.test.js +0 -368
- package/dist/components/CollectionSummary/Confirmation.js +0 -65
- package/dist/components/CollectionSummary/Confirmation.scss +0 -26
- package/dist/components/CollectionSummary/Confirmation.test.js +0 -109
- package/dist/components/CollectionSummary/RenderListView.js +0 -162
- package/dist/components/CollectionSummary/RenderListView.scss +0 -295
- package/dist/components/CollectionSummary/RenderListView.test.js +0 -303
- package/dist/components/CollectionSummary/SummaryCard.js +0 -277
- package/dist/components/CollectionSummary/SummaryCard.scss +0 -114
- package/dist/components/CollectionSummary/SummaryCard.test.js +0 -1442
- package/dist/components/CollectionSummary/SummaryCardButtons.js +0 -76
- package/dist/components/CollectionSummary/SummaryCardButtons.test.js +0 -87
- package/dist/components/CollectionSummary/SummaryCardDetails.js +0 -206
- package/dist/components/CollectionSummary/SummaryCardDetails.scss +0 -216
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +0 -654
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +0 -79
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +0 -104
- package/dist/components/CollectionSummary/index.js +0 -10
- package/dist/components/FormComponent/Collection.js +0 -234
- package/dist/components/FormComponent/Collection.scss +0 -24
- package/dist/components/FormComponent/Collection.test.js +0 -934
- package/dist/components/FormComponent/Container.js +0 -130
- package/dist/components/FormComponent/Container.scss +0 -15
- package/dist/components/FormComponent/Container.test.js +0 -456
- package/dist/components/FormComponent/FormComponent.js +0 -238
- package/dist/components/FormComponent/FormComponent.stories.mdx +0 -186
- package/dist/components/FormComponent/FormComponent.test.js +0 -436
- package/dist/components/FormComponent/helpers/addLabel.js +0 -25
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +0 -15
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +0 -27
- package/dist/components/FormComponent/helpers/getComponentError.js +0 -23
- package/dist/components/FormComponent/helpers/getComponentError.test.js +0 -51
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +0 -11
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +0 -30
- package/dist/components/FormComponent/helpers/index.js +0 -35
- package/dist/components/FormComponent/index.js +0 -10
- package/dist/components/FormPage/FormPage.js +0 -212
- package/dist/components/FormPage/FormPage.scss +0 -7
- package/dist/components/FormPage/FormPage.stories.mdx +0 -157
- package/dist/components/FormPage/FormPage.test.js +0 -454
- package/dist/components/FormPage/index.js +0 -10
- package/dist/components/FormRenderer/FormRenderer.js +0 -426
- package/dist/components/FormRenderer/FormRenderer.scss +0 -5
- package/dist/components/FormRenderer/FormRenderer.stories.mdx +0 -178
- package/dist/components/FormRenderer/FormRenderer.test.js +0 -799
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/cop-reassign-task-to-rcc.json +0 -446
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-containerised.json +0 -120
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-dependent-component-nested-block.json +0 -113
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-dependent-component-nested.json +0 -106
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-refdata.json +0 -106
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-target-component-nested.json +0 -99
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens.json +0 -106
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-show-whens-page-hidden.json +0 -113
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-cop-airpax.json +0 -26408
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-cop-mandec.json +0 -9405
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-collection-component-dependent-on-external-data.json +0 -158
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-collection-component.json +0 -86
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-referring-to-collection.json +0 -173
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-referring-to-hidden-collection.json +0 -202
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-show-when-in-component-and-page.json +0 -63
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-with-nested-questions-visible-elsewhere.json +0 -118
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-with-nested-questions.json +0 -112
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component.json +0 -58
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-containerised-component.json +0 -97
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-embedded-collection-component.json +0 -83
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-embedded-component.json +0 -55
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-entire-collection.json +0 -114
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-multilevel-containerised-component-leaf-hidden.json +0 -106
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-multilevel-containerised-component.json +0 -106
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-options.json +0 -99
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page-collection.json +0 -128
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page-component-used-elsewhere.json +0 -109
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page-same-component-reused.json +0 -62
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page.json +0 -96
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-nested-answers-hidden-by-option-visible-elsewhere.json +0 -113
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-nested-answers-hidden-by-option.json +0 -112
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-page-nested-component.json +0 -26003
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-page-nested-radio-component.json +0 -201
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-page-same-component-reused-one-shown.json +0 -75
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-variance-breach.json +0 -4272
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-airpax-carrier.json +0 -407
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-airpax-change-what-happened-before.json +0 -300
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-airpax-remove-photos-before.json +0 -384
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-mandec-remove-business-interests-before.json +0 -140
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-mandec-remove-criminality-before.json +0 -186
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-mandec-remove-unspent-convictions-before.json +0 -143
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-variance-breach-with-upload-files.json +0 -1264
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-containerised.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-dependent-component-nested-block.json +0 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-dependent-component-nested.json +0 -9
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-refdata.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-target-component-nested.json +0 -9
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens.json +0 -9
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-show-whens-page-hidden.json +0 -9
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-collection-component-dependent-on-external-data.json +0 -26
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-collection-component.json +0 -15
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-referring-to-collection.json +0 -25
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-referring-to-hidden-collection.json +0 -26
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-show-when-in-component-and-page.json +0 -6
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-with-nested-questions-visible-elsewhere.json +0 -12
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-with-nested-questions.json +0 -12
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component.json +0 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-containerised-component.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-embedded-collection-component.json +0 -15
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-embedded-component.json +0 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-entire-collection.json +0 -20
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-multilevel-containerised-component-leaf-hidden.json +0 -14
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-multilevel-containerised-component.json +0 -14
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-options.json +0 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page-collection.json +0 -18
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page-component-used-elsewhere.json +0 -9
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page-same-component-reused.json +0 -6
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page.json +0 -9
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-nested-answers-hidden-by-option-visible-elsewhere.json +0 -12
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-nested-answers-hidden-by-option.json +0 -12
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-page-nested-component.json +0 -63
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-page-nested-radio-component.json +0 -45
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-page-same-component-reused-one-shown.json +0 -8
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/reassign-to-rcc.json +0 -72
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-airpax-change-what-happened-after.json +0 -280
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-airpax-remove-photos-after.json +0 -355
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-base-file.json +0 -80
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-remove-business-interests-after.json +0 -122
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-remove-criminality-after.json +0 -86
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-remove-unspent-convictions-after.json +0 -127
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-containerised-removed.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-dependent-component-nested-block-removed.json +0 -7
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-dependent-component-nested-removed.json +0 -7
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-refdata-removed.json +0 -7
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-removed.json +0 -7
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-target-component-nested-removed.json +0 -6
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-show-whens-page-hidden-removed.json +0 -6
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-collection-component-dependent-on-external-data-removed.json +0 -23
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-collection-component-removed.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-referring-to-collection-removed.json +0 -21
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-referring-to-hidden-collection-removed.json +0 -6
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-removed.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-show-when-in-component-and-page-removed.json +0 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-with-nested-questions-removed.json +0 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-with-nested-questions-visible-elsewhere-removed.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-containerised-component-removed.json +0 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-embedded-collection-component-removed.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-embedded-component-removed.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-entire-collection-removed.json +0 -3
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-multilevel-containerised-component-leaf-hidden-removed.json +0 -13
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-multilevel-containerised-component-removed.json +0 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-options-removed.json +0 -8
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-collection-removed.json +0 -15
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-component-used-elsewhere-removed.json +0 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-removed.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-same-component-reused-removed.json +0 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-nested-answers-hidden-by-option-removed.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-nested-answers-hidden-by-option-visible-elsewhere-removed.json +0 -12
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-page-nested-component.json +0 -63
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-page-nested-radio-component-removed.json +0 -45
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-page-same-component-reused-one-shown-removed.json +0 -7
- package/dist/components/FormRenderer/handlers/cyaAction.js +0 -23
- package/dist/components/FormRenderer/handlers/getPageId.js +0 -15
- package/dist/components/FormRenderer/handlers/getPageId.test.js +0 -35
- package/dist/components/FormRenderer/handlers/handlers.test.js +0 -81
- package/dist/components/FormRenderer/handlers/index.js +0 -17
- package/dist/components/FormRenderer/handlers/navigate.js +0 -25
- package/dist/components/FormRenderer/handlers/submissionError.js +0 -18
- package/dist/components/FormRenderer/helpers/canActionProceed.js +0 -27
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +0 -84
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +0 -17
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +0 -75
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +0 -63
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +0 -191
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.js +0 -338
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.test.js +0 -434
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutesUtils.js +0 -399
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutesUtils.test.js +0 -559
- package/dist/components/FormRenderer/helpers/getCYA.js +0 -42
- package/dist/components/FormRenderer/helpers/getCYA.test.js +0 -46
- package/dist/components/FormRenderer/helpers/getFormState.js +0 -25
- package/dist/components/FormRenderer/helpers/getFormState.test.js +0 -60
- package/dist/components/FormRenderer/helpers/getNextPageId.js +0 -76
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +0 -292
- package/dist/components/FormRenderer/helpers/getPage.js +0 -27
- package/dist/components/FormRenderer/helpers/getPage.test.js +0 -45
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +0 -27
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +0 -70
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +0 -65
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +0 -309
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +0 -201
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +0 -473
- package/dist/components/FormRenderer/helpers/index.js +0 -33
- package/dist/components/FormRenderer/index.js +0 -10
- package/dist/components/FormRenderer/onCYAAction.js +0 -150
- package/dist/components/FormRenderer/onCYAAction.test.js +0 -741
- package/dist/components/FormRenderer/onPageAction.js +0 -227
- package/dist/components/FormRenderer/onPageAction.test.js +0 -960
- package/dist/components/FormRenderer/onTaskAction.js +0 -47
- package/dist/components/FormRenderer/onTaskAction.test.js +0 -247
- package/dist/components/PageActions/ActionButton.js +0 -48
- package/dist/components/PageActions/ActionButton.test.js +0 -73
- package/dist/components/PageActions/PageActions.js +0 -37
- package/dist/components/PageActions/PageActions.stories.mdx +0 -74
- package/dist/components/PageActions/PageActions.test.js +0 -106
- package/dist/components/PageActions/index.js +0 -10
- package/dist/components/SummaryList/GroupAction.js +0 -50
- package/dist/components/SummaryList/GroupAction.test.js +0 -86
- package/dist/components/SummaryList/RowAction.js +0 -48
- package/dist/components/SummaryList/RowAction.test.js +0 -86
- package/dist/components/SummaryList/SummaryList.js +0 -128
- package/dist/components/SummaryList/SummaryList.scss +0 -79
- package/dist/components/SummaryList/SummaryList.stories.mdx +0 -84
- package/dist/components/SummaryList/SummaryList.test.js +0 -504
- package/dist/components/SummaryList/SummaryListHeadingRow.js +0 -39
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +0 -65
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.scss +0 -38
- package/dist/components/SummaryList/SummaryListRow.js +0 -58
- package/dist/components/SummaryList/SummaryListTitleRow.js +0 -32
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +0 -29
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +0 -72
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +0 -29
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +0 -72
- package/dist/components/SummaryList/helpers/index.js +0 -14
- package/dist/components/SummaryList/index.js +0 -10
- package/dist/components/TaskList/Task.js +0 -62
- package/dist/components/TaskList/Task.test.js +0 -176
- package/dist/components/TaskList/TaskList.js +0 -175
- package/dist/components/TaskList/TaskList.scss +0 -123
- package/dist/components/TaskList/TaskList.stories.mdx +0 -164
- package/dist/components/TaskList/TaskList.test.js +0 -535
- package/dist/components/TaskList/TaskState.js +0 -37
- package/dist/components/TaskList/TaskState.test.js +0 -95
- package/dist/components/TaskList/index.js +0 -10
- package/dist/components/index.js +0 -56
- package/dist/context/HooksContext/HooksContext.js +0 -122
- package/dist/context/HooksContext/HooksContext.test.js +0 -45
- package/dist/context/HooksContext/index.js +0 -16
- package/dist/context/ValidationContext/ValidationContext.js +0 -98
- package/dist/context/ValidationContext/ValidationContext.test.js +0 -107
- package/dist/context/ValidationContext/index.js +0 -16
- package/dist/context/index.js +0 -21
- package/dist/hooks/index.js +0 -55
- package/dist/hooks/useAxios.js +0 -36
- package/dist/hooks/useGetRequest.js +0 -89
- package/dist/hooks/useHooks.js +0 -15
- package/dist/hooks/useRefData.js +0 -62
- package/dist/hooks/useValidation.js +0 -15
- package/dist/json/actions.json +0 -17
- package/dist/json/actionsNoSave.json +0 -17
- package/dist/json/addressDetails.json +0 -149
- package/dist/json/areYouACivilServant.json +0 -7
- package/dist/json/firstForm.json +0 -94
- package/dist/json/grade.json +0 -108
- package/dist/json/group.data.json +0 -21
- package/dist/json/group.json +0 -402
- package/dist/json/groupOfRow.json +0 -137
- package/dist/json/groupOfRowData.json +0 -15
- package/dist/json/port.json +0 -346
- package/dist/json/saveAndContinue.json +0 -98
- package/dist/json/sublocation.json +0 -859
- package/dist/json/taskList.json +0 -265
- package/dist/json/team.json +0 -17351
- package/dist/json/terminal.json +0 -81
- package/dist/json/userProfile.data.json +0 -21
- package/dist/json/userProfile.json +0 -276
- package/dist/models/CollectionLabels.js +0 -15
- package/dist/models/ComponentTypes.js +0 -58
- package/dist/models/EventTypes.js +0 -16
- package/dist/models/FormPages.js +0 -16
- package/dist/models/FormTypes.js +0 -24
- package/dist/models/HubFormats.js +0 -14
- package/dist/models/PageAction.js +0 -65
- package/dist/models/TaskStates.js +0 -46
- package/dist/models/index.js +0 -77
- package/dist/setupTests.js +0 -54
- package/dist/utils/CheckYourAnswers/getCYAAction.js +0 -44
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +0 -120
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +0 -57
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +0 -162
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +0 -66
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +0 -198
- package/dist/utils/CheckYourAnswers/getCYARow.js +0 -58
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +0 -373
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +0 -69
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +0 -70
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +0 -71
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +0 -285
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +0 -237
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +0 -844
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +0 -45
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +0 -535
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +0 -72
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +0 -343
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +0 -42
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +0 -56
- package/dist/utils/CheckYourAnswers/index.js +0 -15
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +0 -53
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +0 -149
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +0 -23
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +0 -17
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +0 -26
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +0 -70
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +0 -51
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +0 -125
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +0 -24
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +0 -26
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +0 -44
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +0 -88
- package/dist/utils/CollectionPage/getCollectionPageData.js +0 -53
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +0 -103
- package/dist/utils/CollectionPage/getErrorsForCollection.js +0 -55
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +0 -154
- package/dist/utils/CollectionPage/getQuickEditPage.js +0 -122
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +0 -143
- package/dist/utils/CollectionPage/index.js +0 -33
- package/dist/utils/CollectionPage/mergeCollectionPages.js +0 -128
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +0 -198
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +0 -36
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +0 -62
- package/dist/utils/CollectionPage/setCollectionPageData.js +0 -60
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +0 -182
- package/dist/utils/Component/addShowWhen.js +0 -43
- package/dist/utils/Component/addShowWhen.test.js +0 -217
- package/dist/utils/Component/applyToComponentTree.js +0 -68
- package/dist/utils/Component/applyToComponentTree.test.js +0 -125
- package/dist/utils/Component/cleanAttributes.js +0 -42
- package/dist/utils/Component/cleanAttributes.test.js +0 -67
- package/dist/utils/Component/elevateNestedComponents.js +0 -58
- package/dist/utils/Component/elevateNestedComponents.test.js +0 -305
- package/dist/utils/Component/getComponent.js +0 -305
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +0 -73
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +0 -251
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +0 -156
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +0 -104
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +0 -56
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +0 -60
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +0 -60
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +0 -31
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +0 -42
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +0 -29
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +0 -47
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +0 -66
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +0 -211
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +0 -46
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +0 -60
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +0 -221
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +0 -62
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +0 -60
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +0 -104
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +0 -80
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +0 -14
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +0 -29
- package/dist/utils/Component/getDefaultValue.js +0 -22
- package/dist/utils/Component/getDefaultValue.test.js +0 -62
- package/dist/utils/Component/getDefaultValueFromConfig.js +0 -106
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +0 -141
- package/dist/utils/Component/index.js +0 -29
- package/dist/utils/Component/isEditable.js +0 -13
- package/dist/utils/Component/isEditable.test.js +0 -42
- package/dist/utils/Component/optionIsSelected.js +0 -25
- package/dist/utils/Component/optionIsSelected.test.js +0 -69
- package/dist/utils/Component/setupContainerComponentsPath.js +0 -35
- package/dist/utils/Component/setupContainerComponentsPath.test.js +0 -79
- package/dist/utils/Component/showComponent.js +0 -25
- package/dist/utils/Component/showComponent.test.js +0 -157
- package/dist/utils/Component/wrapInFormGroup.js +0 -26
- package/dist/utils/Condition/index.js +0 -17
- package/dist/utils/Condition/meetsAllConditions.js +0 -44
- package/dist/utils/Condition/meetsAllConditions.test.js +0 -109
- package/dist/utils/Condition/meetsCondition.js +0 -165
- package/dist/utils/Condition/meetsCondition.test.js +0 -899
- package/dist/utils/Condition/meetsOneCondition.js +0 -32
- package/dist/utils/Condition/meetsOneCondition.test.js +0 -101
- package/dist/utils/Condition/setupConditions.js +0 -36
- package/dist/utils/Condition/setupConditions.test.js +0 -34
- package/dist/utils/Container/getEditableComponents.js +0 -29
- package/dist/utils/Container/getEditableComponents.test.js +0 -134
- package/dist/utils/Container/index.js +0 -17
- package/dist/utils/Container/setupNesting.js +0 -53
- package/dist/utils/Container/setupNesting.test.js +0 -143
- package/dist/utils/Container/showContainer.js +0 -52
- package/dist/utils/Container/showContainer.test.js +0 -179
- package/dist/utils/Data/applyFormula.js +0 -90
- package/dist/utils/Data/applyFormula.test.js +0 -264
- package/dist/utils/Data/deleteValues.js +0 -19
- package/dist/utils/Data/deleteValues.test.js +0 -58
- package/dist/utils/Data/getAutocompleteSource.js +0 -87
- package/dist/utils/Data/getAutocompleteSource.test.js +0 -335
- package/dist/utils/Data/getDataPath.js +0 -66
- package/dist/utils/Data/getDataPath.test.js +0 -49
- package/dist/utils/Data/getOptions.js +0 -86
- package/dist/utils/Data/getOptions.test.js +0 -279
- package/dist/utils/Data/getSourceData.js +0 -44
- package/dist/utils/Data/getSourceData.test.js +0 -158
- package/dist/utils/Data/index.js +0 -35
- package/dist/utils/Data/nestInRefdataOptions.js +0 -47
- package/dist/utils/Data/nestInRefdataOptions.test.js +0 -237
- package/dist/utils/Data/refDataToOptions.js +0 -44
- package/dist/utils/Data/refDataToOptions.test.js +0 -197
- package/dist/utils/Data/setDataItem.js +0 -26
- package/dist/utils/Data/setDataItem.test.js +0 -136
- package/dist/utils/Data/setupFormData.js +0 -49
- package/dist/utils/Data/setupFormData.test.js +0 -215
- package/dist/utils/Data/setupRefDataUrlForComponent.js +0 -44
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +0 -150
- package/dist/utils/FormPage/applyConditionalProperties.js +0 -34
- package/dist/utils/FormPage/applyConditionalProperties.test.js +0 -61
- package/dist/utils/FormPage/getConditionalText.js +0 -55
- package/dist/utils/FormPage/getConditionalText.test.js +0 -163
- package/dist/utils/FormPage/getFormPage.js +0 -54
- package/dist/utils/FormPage/getFormPage.test.js +0 -206
- package/dist/utils/FormPage/getFormPages.js +0 -30
- package/dist/utils/FormPage/getFormPages.test.js +0 -97
- package/dist/utils/FormPage/getPageActions.js +0 -58
- package/dist/utils/FormPage/getPageActions.test.js +0 -115
- package/dist/utils/FormPage/getParagraphFromText.js +0 -21
- package/dist/utils/FormPage/getParagraphFromText.test.js +0 -28
- package/dist/utils/FormPage/index.js +0 -24
- package/dist/utils/FormPage/showFormPage.js +0 -52
- package/dist/utils/FormPage/showFormPage.test.js +0 -181
- package/dist/utils/FormPage/showFormPageCYA.js +0 -23
- package/dist/utils/FormPage/showFormPageCYA.test.js +0 -29
- package/dist/utils/FormPage/useComponent.js +0 -83
- package/dist/utils/FormPage/useComponent.test.js +0 -216
- package/dist/utils/Format/formatData.js +0 -27
- package/dist/utils/Format/formatData.test.js +0 -46
- package/dist/utils/Format/formatDataForComponent.js +0 -35
- package/dist/utils/Format/formatDataForComponent.test.js +0 -114
- package/dist/utils/Format/formatDataForForm.js +0 -27
- package/dist/utils/Format/formatDataForForm.test.js +0 -79
- package/dist/utils/Format/formatDataForPage.js +0 -31
- package/dist/utils/Format/formatDataForPage.test.js +0 -94
- package/dist/utils/Format/index.js +0 -21
- package/dist/utils/Hub/getFormHub.js +0 -40
- package/dist/utils/Hub/getFormHub.test.js +0 -105
- package/dist/utils/Hub/index.js +0 -15
- package/dist/utils/Meta/constants.js +0 -9
- package/dist/utils/Meta/documents/getDocuments.js +0 -15
- package/dist/utils/Meta/documents/getDocuments.test.js +0 -46
- package/dist/utils/Meta/documents/index.js +0 -19
- package/dist/utils/Meta/documents/setDocumentsForField.js +0 -30
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +0 -97
- package/dist/utils/Meta/index.js +0 -17
- package/dist/utils/Operate/checkValueIsTruthy.js +0 -29
- package/dist/utils/Operate/checkValueIsTruthy.test.js +0 -43
- package/dist/utils/Operate/deleteValueInFormData.js +0 -27
- package/dist/utils/Operate/deleteValueInFormData.test.js +0 -61
- package/dist/utils/Operate/doesContainValue.js +0 -35
- package/dist/utils/Operate/doesContainValue.test.js +0 -76
- package/dist/utils/Operate/getFirstOf.js +0 -31
- package/dist/utils/Operate/getFirstOf.test.js +0 -87
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +0 -68
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +0 -158
- package/dist/utils/Operate/getLength.js +0 -51
- package/dist/utils/Operate/getLength.test.js +0 -90
- package/dist/utils/Operate/index.js +0 -13
- package/dist/utils/Operate/persistValueInFormData.js +0 -40
- package/dist/utils/Operate/persistValueInFormData.test.js +0 -118
- package/dist/utils/Operate/runPageOperations.js +0 -75
- package/dist/utils/Operate/runPageOperations.test.js +0 -105
- package/dist/utils/Operate/setValueInFormData.js +0 -22
- package/dist/utils/Operate/setValueInFormData.test.js +0 -45
- package/dist/utils/Operate/shouldRun.js +0 -57
- package/dist/utils/Operate/shouldRun.test.js +0 -65
- package/dist/utils/Validate/additional/conditionallyPermittedChange.js +0 -26
- package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +0 -34
- package/dist/utils/Validate/additional/conditionallyRequired.js +0 -24
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +0 -74
- package/dist/utils/Validate/additional/index.js +0 -74
- package/dist/utils/Validate/additional/index.test.js +0 -130
- package/dist/utils/Validate/additional/mustBeAfter.js +0 -34
- package/dist/utils/Validate/additional/mustBeAfter.test.js +0 -109
- package/dist/utils/Validate/additional/mustBeBefore.js +0 -34
- package/dist/utils/Validate/additional/mustBeBefore.test.js +0 -77
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +0 -57
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +0 -128
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +0 -22
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +0 -57
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +0 -33
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +0 -32
- package/dist/utils/Validate/additional/mustBeInThePast.js +0 -36
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +0 -32
- package/dist/utils/Validate/additional/mustBeLessThan.js +0 -22
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +0 -53
- package/dist/utils/Validate/additional/mustBeLongerThan.js +0 -23
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +0 -49
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +0 -24
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +0 -45
- package/dist/utils/Validate/additional/mustBeOneOf.js +0 -22
- package/dist/utils/Validate/additional/mustBeOneOf.test.js +0 -37
- package/dist/utils/Validate/additional/mustBeShorterThan.js +0 -23
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +0 -49
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +0 -40
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +0 -163
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +0 -26
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +0 -37
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +0 -19
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +0 -37
- package/dist/utils/Validate/additional/mustNotContainSql.js +0 -19
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +0 -33
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +0 -29
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +0 -55
- package/dist/utils/Validate/additional/utils.js +0 -35
- package/dist/utils/Validate/index.js +0 -33
- package/dist/utils/Validate/validateCollection.js +0 -50
- package/dist/utils/Validate/validateCollection.test.js +0 -134
- package/dist/utils/Validate/validateComponent.js +0 -126
- package/dist/utils/Validate/validateComponent.test.js +0 -435
- package/dist/utils/Validate/validateContainer.js +0 -52
- package/dist/utils/Validate/validateContainer.test.js +0 -115
- package/dist/utils/Validate/validateDate.js +0 -112
- package/dist/utils/Validate/validateDate.test.js +0 -133
- package/dist/utils/Validate/validateEmail.js +0 -45
- package/dist/utils/Validate/validateEmail.test.js +0 -78
- package/dist/utils/Validate/validateMultifile.js +0 -29
- package/dist/utils/Validate/validateMultifile.test.js +0 -46
- package/dist/utils/Validate/validateOnPageLoad.js +0 -24
- package/dist/utils/Validate/validateOnPageLoad.test.js +0 -89
- package/dist/utils/Validate/validatePage.js +0 -56
- package/dist/utils/Validate/validatePage.test.js +0 -795
- package/dist/utils/Validate/validateRegex.js +0 -41
- package/dist/utils/Validate/validateRegex.test.js +0 -43
- package/dist/utils/Validate/validateRequired.js +0 -37
- package/dist/utils/Validate/validateRequired.test.js +0 -64
- package/dist/utils/Validate/validateTextArea.js +0 -36
- package/dist/utils/Validate/validateTextArea.test.js +0 -71
- package/dist/utils/Validate/validateTime.js +0 -76
- package/dist/utils/Validate/validateTime.test.js +0 -116
- package/dist/utils/canOverrideFieldRequired.js +0 -23
- 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+IHtcbiAgICBjb25zdCBJRCA9ICd0ZXN0LWlkJztcbiAgICBjb25zdCBGSUVMRF9JRCA9ICdmaWVsZC1pZCc7XG4gICAgY29uc3QgTEFCRUwgPSAnbGFiZWwnO1xuICAgIGNvbnN0IE5FV19WQUxVRSA9ICdvcHRpb24yJztcbiAgICBjb25zdCBPTl9DSEFOR0VfQ0FMTFMgPSBbXTtcbiAgICBjb25zdCBPTl9DSEFOR0UgPSAoZSkgPT4ge1xuICAgICAgT05fQ0hBTkdFX0NBTExTLnB1c2goZS50YXJnZXQpO1xuICAgIH07XG4gICAgY29uc3QgQ09NUE9ORU5UID0ge1xuICAgICAgdHlwZTogQ29tcG9uZW50VHlwZXMuU0VMRUNULFxuICAgICAgaWQ6IElELFxuICAgICAgZmllbGRJZDogRklFTERfSUQsXG4gICAgICBsYWJlbDogTEFCRUwsXG4gICAgICBvbkNoYW5nZTogT05fQ0hBTkdFLFxuICAgICAgb3B0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdPcHRpb24gMScsXG4gICAgICAgICAgdmFsdWU6ICdvcHRpb24xJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdPcHRpb24gMicsXG4gICAgICAgICAgdmFsdWU6IE5FV19WQUxVRVxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgJ2RhdGEtdGVzdGlkJzogSURcbiAgICB9O1xuICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoZ2V0Q29tcG9uZW50KENPTVBPTkVOVCkpO1xuXG4gICAgY29uc3QgWyBmb3JtR3JvdXAsIHNlbGVjdCBdID0gZ2V0QWxsQnlUZXN0SWQoY29udGFpbmVyLCBJRCk7XG5cbiAgICBleHBlY3QoZm9ybUdyb3VwLnRhZ05hbWUpLnRvRXF1YWwoJ0RJVicpO1xuICAgIGV4cGVjdChmb3JtR3JvdXAuY2xhc3NMaXN0KS50b0NvbnRhaW4oJ2dvdnVrLWZvcm0tZ3JvdXAnKTtcbiAgICBjb25zdCBsYWJlbCA9IGZvcm1Hcm91cC5jaGlsZE5vZGVzWzBdO1xuICAgIGV4cGVjdChsYWJlbCkudG9CZURlZmluZWQoKTtcbiAgICBleHBlY3QobGFiZWwuaW5uZXJIVE1MKS50b0NvbnRhaW4oTEFCRUwpO1xuICAgIGV4cGVjdChsYWJlbC5nZXRBdHRyaWJ1dGUoJ2ZvcicpKS50b0VxdWFsKElEKTtcbiAgICBleHBlY3Qoc2VsZWN0LnRhZ05hbWUpLnRvRXF1YWwoJ1NFTEVDVCcpO1xuICAgIGV4cGVjdChzZWxlY3QuY2xhc3NMaXN0KS50b0NvbnRhaW4oJ2dvdnVrLXNlbGVjdCcpO1xuICAgIGV4cGVjdChzZWxlY3QuaWQpLnRvRXF1YWwoSUQpO1xuICAgIGZpcmVFdmVudC5jaGFuZ2Uoc2VsZWN0LCB7IHRhcmdldDogeyBuYW1lOiBGSUVMRF9JRCwgdmFsdWU6IE5FV19WQUxVRSB9fSk7XG4gICAgZXhwZWN0KE9OX0NIQU5HRV9DQUxMUy5sZW5ndGgpLnRvRXF1YWwoMSk7XG4gICAgZXhwZWN0KE9OX0NIQU5HRV9DQUxMU1swXSkudG9NYXRjaE9iamVjdCh7XG4gICAgICBuYW1lOiBGSUVMRF9JRCxcbiAgICAgIHZhbHVlOiBORVdfVkFMVUVcbiAgICB9KTtcbiAgfSk7XG59KTsiXSwibWFwcGluZ3MiOiI7O0FBQ0EsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBR0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsYUFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQTJDLFNBQUFHLHVCQUFBQyxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBTDNDOztBQUdBOztBQUlBRyxRQUFRLENBQUMscUJBQXFCLEVBQUUsTUFBTTtFQUVwQ0MsRUFBRSxDQUFDLDBEQUEwRCxFQUFFLE1BQU07SUFDbkUsTUFBTUMsRUFBRSxHQUFHLFNBQVM7SUFDcEIsTUFBTUMsUUFBUSxHQUFHLFVBQVU7SUFDM0IsTUFBTUMsS0FBSyxHQUFHLE9BQU87SUFDckIsTUFBTUMsU0FBUyxHQUFHLFNBQVM7SUFDM0IsTUFBTUMsZUFBZSxHQUFHLEVBQUU7SUFDMUIsTUFBTUMsU0FBUyxHQUFJVixDQUFDLElBQUs7TUFDdkJTLGVBQWUsQ0FBQ0UsSUFBSSxDQUFDWCxDQUFDLENBQUNZLE1BQU0sQ0FBQztJQUNoQyxDQUFDO0lBQ0QsTUFBTUMsU0FBUyxHQUFHO01BQ2hCQyxJQUFJLEVBQUVDLHNCQUFjLENBQUNDLE1BQU07TUFDM0JDLEVBQUUsRUFBRVosRUFBRTtNQUNOYSxPQUFPLEVBQUVaLFFBQVE7TUFDakJhLEtBQUssRUFBRVosS0FBSztNQUNaYSxRQUFRLEVBQUVWLFNBQVM7TUFDbkJXLE9BQU8sRUFBRSxDQUNQO1FBQ0VGLEtBQUssRUFBRSxVQUFVO1FBQ2pCRyxLQUFLLEVBQUU7TUFDVCxDQUFDLEVBQ0Q7UUFDRUgsS0FBSyxFQUFFLFVBQVU7UUFDakJHLEtBQUssRUFBRWQ7TUFDVCxDQUFDLENBQ0Y7TUFDRCxhQUFhLEVBQUVIO0lBQ2pCLENBQUM7SUFDRCxNQUFNO01BQUVrQjtJQUFVLENBQUMsR0FBRyxJQUFBQyxhQUFNLEVBQUMsSUFBQUMscUJBQVksRUFBQ1osU0FBUyxDQUFDLENBQUM7SUFFckQsTUFBTSxDQUFFYSxTQUFTLEVBQUVDLE1BQU0sQ0FBRSxHQUFHLElBQUFDLHFCQUFjLEVBQUNMLFNBQVMsRUFBRWxCLEVBQUUsQ0FBQztJQUUzRHdCLE1BQU0sQ0FBQ0gsU0FBUyxDQUFDSSxPQUFPLENBQUMsQ0FBQ0MsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUN4Q0YsTUFBTSxDQUFDSCxTQUFTLENBQUNNLFNBQVMsQ0FBQyxDQUFDQyxTQUFTLENBQUMsa0JBQWtCLENBQUM7SUFDekQsTUFBTWQsS0FBSyxHQUFHTyxTQUFTLENBQUNRLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDckNMLE1BQU0sQ0FBQ1YsS0FBSyxDQUFDLENBQUNnQixXQUFXLENBQUMsQ0FBQztJQUMzQk4sTUFBTSxDQUFDVixLQUFLLENBQUNpQixTQUFTLENBQUMsQ0FBQ0gsU0FBUyxDQUFDMUIsS0FBSyxDQUFDO0lBQ3hDc0IsTUFBTSxDQUFDVixLQUFLLENBQUNrQixZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQ04sT0FBTyxDQUFDMUIsRUFBRSxDQUFDO0lBQzdDd0IsTUFBTSxDQUFDRixNQUFNLENBQUNHLE9BQU8sQ0FBQyxDQUFDQyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQ3hDRixNQUFNLENBQUNGLE1BQU0sQ0FBQ0ssU0FBUyxDQUFDLENBQUNDLFNBQVMsQ0FBQyxjQUFjLENBQUM7SUFDbERKLE1BQU0sQ0FBQ0YsTUFBTSxDQUFDVixFQUFFLENBQUMsQ0FBQ2MsT0FBTyxDQUFDMUIsRUFBRSxDQUFDO0lBQzdCaUMsZ0JBQVMsQ0FBQ0MsTUFBTSxDQUFDWixNQUFNLEVBQUU7TUFBRWYsTUFBTSxFQUFFO1FBQUU0QixJQUFJLEVBQUVsQyxRQUFRO1FBQUVnQixLQUFLLEVBQUVkO01BQVU7SUFBQyxDQUFDLENBQUM7SUFDekVxQixNQUFNLENBQUNwQixlQUFlLENBQUNnQyxNQUFNLENBQUMsQ0FBQ1YsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN6Q0YsTUFBTSxDQUFDcEIsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNpQyxhQUFhLENBQUM7TUFDdkNGLElBQUksRUFBRWxDLFFBQVE7TUFDZGdCLEtBQUssRUFBRWQ7SUFDVCxDQUFDLENBQUM7RUFDSixDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -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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
|