@ukhomeoffice/cop-react-form-renderer 6.7.0-alpha → 6.11.1
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/dist/components/CheckYourAnswers/Answer.js +22 -16
- package/dist/components/CheckYourAnswers/Answer.test.js +180 -92
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +137 -103
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +861 -463
- package/dist/components/CollectionPage/CollectionPage.js +63 -73
- package/dist/components/CollectionPage/CollectionPage.test.js +366 -316
- package/dist/components/CollectionSummary/BannerStrip.js +13 -13
- package/dist/components/CollectionSummary/BannerStrip.test.js +76 -80
- package/dist/components/CollectionSummary/CollectionSummary.js +126 -99
- package/dist/components/CollectionSummary/CollectionSummary.test.js +188 -152
- package/dist/components/CollectionSummary/Confirmation.js +12 -14
- package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
- package/dist/components/CollectionSummary/RenderListView.js +52 -46
- package/dist/components/CollectionSummary/RenderListView.scss +1 -1
- package/dist/components/CollectionSummary/RenderListView.test.js +77 -78
- package/dist/components/CollectionSummary/SummaryCard.js +152 -110
- package/dist/components/CollectionSummary/SummaryCard.test.js +1018 -929
- package/dist/components/CollectionSummary/SummaryCardDetails.js +137 -94
- package/dist/components/CollectionSummary/SummaryCardDetails.scss +13 -4
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +331 -128
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +35 -30
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +74 -62
- package/dist/components/FormComponent/Collection.js +108 -74
- package/dist/components/FormComponent/Collection.test.js +1081 -909
- package/dist/components/FormComponent/Container.js +39 -40
- package/dist/components/FormComponent/Container.test.js +412 -312
- package/dist/components/FormComponent/FormComponent.js +72 -69
- package/dist/components/FormComponent/FormComponent.test.js +414 -353
- package/dist/components/FormComponent/helpers/addLabel.js +7 -4
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
- package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
- package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
- package/dist/components/FormComponent/helpers/index.js +4 -4
- package/dist/components/FormPage/FormPage.js +80 -65
- package/dist/components/FormPage/FormPage.test.js +163 -127
- package/dist/components/FormRenderer/FormRenderer.js +180 -143
- package/dist/components/FormRenderer/FormRenderer.test.js +1115 -730
- package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
- package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
- package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
- package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
- package/dist/components/FormRenderer/handlers/index.js +1 -1
- package/dist/components/FormRenderer/handlers/navigate.js +3 -3
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +20 -16
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -17
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
- package/dist/components/FormRenderer/helpers/getCYA.js +5 -3
- package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getFormState.js +7 -5
- package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
- package/dist/components/FormRenderer/helpers/getNextPageId.js +24 -13
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
- package/dist/components/FormRenderer/helpers/getPage.js +4 -2
- package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -7
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +97 -103
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +60 -62
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +78 -71
- package/dist/components/FormRenderer/helpers/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +51 -59
- package/dist/components/FormRenderer/onCYAAction.test.js +152 -164
- package/dist/components/FormRenderer/onPageAction.js +39 -43
- package/dist/components/FormRenderer/onPageAction.test.js +208 -223
- package/dist/components/FormRenderer/onTaskAction.js +13 -9
- package/dist/components/FormRenderer/onTaskAction.test.js +88 -93
- package/dist/components/PageActions/ActionButton.js +15 -12
- package/dist/components/PageActions/ActionButton.test.js +78 -56
- package/dist/components/PageActions/PageActions.js +10 -10
- package/dist/components/PageActions/PageActions.test.js +115 -86
- package/dist/components/SummaryList/GroupAction.js +17 -9
- package/dist/components/SummaryList/GroupAction.test.js +33 -37
- package/dist/components/SummaryList/RowAction.js +16 -11
- package/dist/components/SummaryList/RowAction.test.js +33 -37
- package/dist/components/SummaryList/SummaryList.js +34 -21
- package/dist/components/SummaryList/SummaryList.scss +15 -0
- package/dist/components/SummaryList/SummaryList.test.js +226 -143
- package/dist/components/SummaryList/SummaryListHeadingRow.js +4 -6
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +53 -0
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.scss +38 -0
- package/dist/components/SummaryList/SummaryListRow.js +4 -6
- package/dist/components/SummaryList/SummaryListTitleRow.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -3
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -3
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/index.js +1 -1
- package/dist/components/TaskList/Task.js +29 -19
- package/dist/components/TaskList/Task.test.js +76 -83
- package/dist/components/TaskList/TaskList.js +92 -49
- package/dist/components/TaskList/TaskList.scss +24 -0
- package/dist/components/TaskList/TaskList.test.js +255 -113
- package/dist/components/TaskList/TaskState.js +5 -7
- package/dist/components/TaskList/TaskState.test.js +45 -52
- package/dist/components/index.js +7 -7
- package/dist/context/HooksContext/HooksContext.js +80 -57
- package/dist/context/HooksContext/HooksContext.test.js +35 -26
- package/dist/context/HooksContext/index.js +4 -3
- package/dist/context/ValidationContext/ValidationContext.js +94 -43
- package/dist/context/ValidationContext/ValidationContext.test.js +68 -56
- package/dist/context/ValidationContext/index.js +4 -3
- package/dist/context/index.js +2 -2
- package/dist/hooks/index.js +10 -9
- package/dist/hooks/useAxios.js +40 -14
- package/dist/hooks/useGetRequest.js +97 -61
- package/dist/hooks/useHooks.js +3 -1
- package/dist/hooks/useRefData.js +39 -26
- package/dist/hooks/useValidation.js +3 -1
- package/dist/index.js +14 -13
- package/dist/models/CollectionLabels.js +1 -1
- package/dist/models/ComponentTypes.js +25 -25
- package/dist/models/EventTypes.js +4 -4
- package/dist/models/FormPages.js +4 -4
- package/dist/models/FormTypes.js +8 -8
- package/dist/models/HubFormats.js +3 -3
- package/dist/models/PageAction.js +38 -44
- package/dist/models/TaskStates.js +28 -29
- package/dist/models/index.js +9 -9
- package/dist/setupTests.js +31 -30
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +54 -52
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +25 -15
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +35 -33
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +31 -17
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +44 -42
- package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +24 -18
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -15
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +36 -33
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +61 -58
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +108 -87
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +281 -162
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +20 -25
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +97 -103
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +18 -13
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +76 -70
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +42 -0
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +56 -0
- package/dist/utils/CheckYourAnswers/index.js +1 -1
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -17
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +22 -12
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +38 -47
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +11 -7
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
- package/dist/utils/CollectionPage/getCollectionPageData.js +12 -8
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
- package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +22 -20
- package/dist/utils/CollectionPage/getQuickEditPage.js +31 -35
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +27 -15
- package/dist/utils/CollectionPage/index.js +1 -1
- package/dist/utils/CollectionPage/mergeCollectionPages.js +43 -31
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -26
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +6 -4
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
- package/dist/utils/CollectionPage/setCollectionPageData.js +16 -10
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
- package/dist/utils/Component/addShowWhen.js +8 -4
- package/dist/utils/Component/addShowWhen.test.js +37 -37
- package/dist/utils/Component/applyToComponentTree.js +18 -18
- package/dist/utils/Component/applyToComponentTree.test.js +32 -27
- package/dist/utils/Component/cleanAttributes.js +13 -10
- package/dist/utils/Component/cleanAttributes.test.js +18 -17
- package/dist/utils/Component/elevateNestedComponents.js +7 -6
- package/dist/utils/Component/elevateNestedComponents.test.js +68 -30
- package/dist/utils/Component/getComponent.js +94 -88
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +17 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +59 -46
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +48 -39
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -23
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +18 -20
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +25 -20
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +9 -10
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +8 -9
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +26 -22
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +72 -57
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +38 -31
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +29 -20
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +8 -9
- package/dist/utils/Component/getDefaultValue.js +8 -6
- package/dist/utils/Component/getDefaultValue.test.js +12 -12
- package/dist/utils/Component/getDefaultValueFromConfig.js +21 -22
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
- package/dist/utils/Component/index.js +1 -1
- package/dist/utils/Component/isEditable.js +4 -2
- package/dist/utils/Component/isEditable.test.js +15 -14
- package/dist/utils/Component/optionIsSelected.js +6 -1
- package/dist/utils/Component/optionIsSelected.test.js +35 -9
- package/dist/utils/Component/setupContainerComponentsPath.js +29 -27
- package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
- package/dist/utils/Component/showComponent.js +1 -1
- package/dist/utils/Component/showComponent.test.js +28 -28
- package/dist/utils/Component/wrapInFormGroup.js +2 -2
- package/dist/utils/Condition/index.js +1 -1
- package/dist/utils/Condition/meetsAllConditions.js +8 -8
- package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
- package/dist/utils/Condition/meetsCondition.js +25 -16
- package/dist/utils/Condition/meetsCondition.test.js +402 -402
- package/dist/utils/Condition/meetsOneCondition.js +5 -5
- package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
- package/dist/utils/Condition/setupConditions.js +18 -13
- package/dist/utils/Condition/setupConditions.test.js +7 -7
- package/dist/utils/Container/getEditableComponents.js +5 -3
- package/dist/utils/Container/getEditableComponents.test.js +45 -43
- package/dist/utils/Container/index.js +1 -1
- package/dist/utils/Container/setupNesting.js +20 -16
- package/dist/utils/Container/setupNesting.test.js +30 -27
- package/dist/utils/Container/showContainer.js +7 -3
- package/dist/utils/Container/showContainer.test.js +30 -30
- package/dist/utils/Data/applyFormula.js +48 -38
- package/dist/utils/Data/applyFormula.test.js +20 -20
- package/dist/utils/Data/getAutocompleteSource.js +26 -18
- package/dist/utils/Data/getAutocompleteSource.test.js +86 -80
- package/dist/utils/Data/getDataPath.js +28 -18
- package/dist/utils/Data/getDataPath.test.js +12 -12
- package/dist/utils/Data/getOptions.js +30 -24
- package/dist/utils/Data/getOptions.test.js +27 -27
- package/dist/utils/Data/getSourceData.js +19 -6
- package/dist/utils/Data/getSourceData.test.js +80 -84
- package/dist/utils/Data/index.js +1 -1
- package/dist/utils/Data/nestInRefdataOptions.js +16 -9
- package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
- package/dist/utils/Data/refDataToOptions.js +13 -10
- package/dist/utils/Data/refDataToOptions.test.js +19 -19
- package/dist/utils/Data/setDataItem.js +8 -7
- package/dist/utils/Data/setDataItem.test.js +37 -37
- package/dist/utils/Data/setupFormData.js +21 -13
- package/dist/utils/Data/setupFormData.test.js +50 -51
- package/dist/utils/Data/setupRefDataUrlForComponent.js +26 -20
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
- package/dist/utils/FormPage/applyConditionalProperties.js +9 -5
- package/dist/utils/FormPage/applyConditionalProperties.test.js +18 -15
- package/dist/utils/FormPage/getConditionalText.js +3 -3
- package/dist/utils/FormPage/getConditionalText.test.js +29 -29
- package/dist/utils/FormPage/getFormPage.js +16 -15
- package/dist/utils/FormPage/getFormPage.test.js +46 -47
- package/dist/utils/FormPage/getFormPages.js +12 -7
- package/dist/utils/FormPage/getFormPages.test.js +23 -20
- package/dist/utils/FormPage/getPageActions.js +15 -9
- package/dist/utils/FormPage/getPageActions.test.js +32 -32
- package/dist/utils/FormPage/getParagraphFromText.js +7 -5
- package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
- package/dist/utils/FormPage/index.js +4 -2
- package/dist/utils/FormPage/showFormPage.js +7 -3
- package/dist/utils/FormPage/showFormPage.test.js +32 -32
- package/dist/utils/FormPage/showFormPageCYA.js +1 -1
- package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
- package/dist/utils/FormPage/useComponent.js +28 -21
- package/dist/utils/FormPage/useComponent.test.js +79 -77
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +18 -18
- package/dist/utils/Format/formatDataForComponent.js +6 -5
- package/dist/utils/Format/formatDataForComponent.test.js +78 -50
- package/dist/utils/Format/formatDataForForm.js +8 -6
- package/dist/utils/Format/formatDataForForm.test.js +16 -13
- package/dist/utils/Format/formatDataForPage.js +5 -4
- package/dist/utils/Format/formatDataForPage.test.js +25 -20
- package/dist/utils/Format/index.js +1 -1
- package/dist/utils/Hub/getFormHub.js +1 -1
- package/dist/utils/Hub/getFormHub.test.js +31 -28
- package/dist/utils/Hub/index.js +1 -1
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +16 -24
- package/dist/utils/Meta/documents/index.js +1 -1
- package/dist/utils/Meta/documents/setDocumentsForField.js +16 -14
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +34 -68
- package/dist/utils/Meta/index.js +1 -1
- package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
- package/dist/utils/Operate/getFirstOf.js +5 -5
- package/dist/utils/Operate/getFirstOf.test.js +31 -31
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +52 -46
- package/dist/utils/Operate/getLength.js +50 -0
- package/dist/utils/Operate/getLength.test.js +89 -0
- package/dist/utils/Operate/index.js +1 -1
- package/dist/utils/Operate/persistValueInFormData.js +3 -3
- package/dist/utils/Operate/persistValueInFormData.test.js +20 -22
- package/dist/utils/Operate/runPageOperations.js +9 -7
- package/dist/utils/Operate/runPageOperations.test.js +36 -35
- package/dist/utils/Operate/setValueInFormData.js +2 -2
- package/dist/utils/Operate/setValueInFormData.test.js +16 -16
- package/dist/utils/Operate/shouldRun.js +6 -6
- package/dist/utils/Operate/shouldRun.test.js +27 -21
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
- package/dist/utils/Validate/additional/index.js +6 -6
- package/dist/utils/Validate/additional/index.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
- package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
- package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
- package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +11 -7
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +41 -37
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +4 -4
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +39 -35
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +16 -14
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
- package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +26 -28
- package/dist/utils/Validate/additional/utils.js +22 -9
- package/dist/utils/Validate/index.js +1 -1
- package/dist/utils/Validate/validateCollection.js +25 -19
- package/dist/utils/Validate/validateCollection.test.js +66 -74
- package/dist/utils/Validate/validateComponent.js +21 -18
- package/dist/utils/Validate/validateComponent.test.js +176 -166
- package/dist/utils/Validate/validateContainer.js +20 -15
- package/dist/utils/Validate/validateContainer.test.js +52 -58
- package/dist/utils/Validate/validateDate.js +21 -15
- package/dist/utils/Validate/validateDate.test.js +32 -31
- package/dist/utils/Validate/validateEmail.js +8 -6
- package/dist/utils/Validate/validateEmail.test.js +25 -25
- package/dist/utils/Validate/validateMultifile.js +7 -5
- package/dist/utils/Validate/validateMultifile.test.js +18 -17
- package/dist/utils/Validate/validatePage.js +22 -19
- package/dist/utils/Validate/validatePage.test.js +203 -215
- package/dist/utils/Validate/validateRegex.js +5 -3
- package/dist/utils/Validate/validateRegex.test.js +14 -14
- package/dist/utils/Validate/validateRequired.js +6 -4
- package/dist/utils/Validate/validateRequired.test.js +18 -18
- package/dist/utils/Validate/validateTextArea.js +6 -4
- package/dist/utils/Validate/validateTextArea.test.js +20 -20
- package/dist/utils/Validate/validateTime.js +26 -11
- package/dist/utils/Validate/validateTime.test.js +62 -16
- package/dist/utils/index.js +9 -7
- package/package.json +2 -2
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +0 -37
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +0 -41
|
@@ -1,18 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
3
4
|
var _react = require("@testing-library/react");
|
|
4
5
|
var _models = require("../../../models");
|
|
5
6
|
var _getComponent = _interopRequireDefault(require("../getComponent"));
|
|
6
7
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
9
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
10
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
11
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
12
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
13
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
14
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
15
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
16
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
17
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
18
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
19
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
20
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
21
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } // Global imports
|
|
9
22
|
// Local imports
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const COMPONENT = {
|
|
23
|
+
describe('utils.Component.get', function () {
|
|
24
|
+
var ID = 'test-id';
|
|
25
|
+
var FIELD_ID = 'field-id';
|
|
26
|
+
var LABEL = 'label';
|
|
27
|
+
var COMPONENT = {
|
|
16
28
|
type: _models.ComponentTypes.CALCULATION,
|
|
17
29
|
id: ID,
|
|
18
30
|
fieldId: FIELD_ID,
|
|
@@ -23,11 +35,11 @@ describe('utils.Component.get', () => {
|
|
|
23
35
|
},
|
|
24
36
|
'data-testid': ID
|
|
25
37
|
};
|
|
26
|
-
|
|
27
|
-
afterAll(()
|
|
38
|
+
var error = jest.spyOn(console, 'error').mockImplementation(function () {});
|
|
39
|
+
afterAll(function () {
|
|
28
40
|
error.mockReset();
|
|
29
41
|
});
|
|
30
|
-
afterEach(()
|
|
42
|
+
afterEach(function () {
|
|
31
43
|
error.mockClear();
|
|
32
44
|
});
|
|
33
45
|
|
|
@@ -115,34 +127,36 @@ describe('utils.Component.get', () => {
|
|
|
115
127
|
}
|
|
116
128
|
},
|
|
117
129
|
result: '266.67'
|
|
118
|
-
}].forEach(test
|
|
130
|
+
}].forEach(function (test) {
|
|
119
131
|
// eslint-disable-next-line no-param-reassign
|
|
120
|
-
test.config.onChange = _ref
|
|
121
|
-
|
|
122
|
-
target
|
|
123
|
-
} = _ref;
|
|
132
|
+
test.config.onChange = function (_ref) {
|
|
133
|
+
var target = _ref.target;
|
|
124
134
|
COMPONENT.formData[target.name] = target.value;
|
|
125
135
|
};
|
|
126
|
-
it("should render 'calculation' component with formula to given calculated value: ".concat(test.result),
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
136
|
+
it("should render 'calculation' component with formula to given calculated value: ".concat(test.result), /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
137
|
+
var _render, container, _getAllByTestId, _getAllByTestId2, formGroup, input, label;
|
|
138
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
139
|
+
while (1) switch (_context.prev = _context.next) {
|
|
140
|
+
case 0:
|
|
141
|
+
_render = (0, _react.render)((0, _getComponent.default)(_objectSpread(_objectSpread({}, COMPONENT), test.config))), container = _render.container;
|
|
142
|
+
_getAllByTestId = (0, _react.getAllByTestId)(container, ID), _getAllByTestId2 = _slicedToArray(_getAllByTestId, 2), formGroup = _getAllByTestId2[0], input = _getAllByTestId2[1];
|
|
143
|
+
expect(formGroup.tagName).toEqual('DIV');
|
|
144
|
+
expect(formGroup.classList).toContain('govuk-form-group');
|
|
145
|
+
label = formGroup.childNodes[0];
|
|
146
|
+
expect(label.tagName).toEqual('LABEL');
|
|
147
|
+
expect(label.classList).toContain('govuk-label');
|
|
148
|
+
expect(label.textContent).toContain(LABEL);
|
|
149
|
+
expect(formGroup.classList).toContain('govuk-form-group');
|
|
150
|
+
expect(input.tagName).toEqual('DIV');
|
|
151
|
+
expect(input.classList).toContain('hods-readonly');
|
|
152
|
+
expect(input.id).toEqual(ID);
|
|
153
|
+
expect("".concat(COMPONENT.formData[FIELD_ID])).toEqual(test.result);
|
|
154
|
+
case 13:
|
|
155
|
+
case "end":
|
|
156
|
+
return _context.stop();
|
|
157
|
+
}
|
|
158
|
+
}, _callee);
|
|
159
|
+
})));
|
|
146
160
|
});
|
|
147
161
|
|
|
148
162
|
/**
|
|
@@ -228,18 +242,17 @@ describe('utils.Component.get', () => {
|
|
|
228
242
|
}
|
|
229
243
|
},
|
|
230
244
|
error: 'Argument cannot have more than one reference'
|
|
231
|
-
}].forEach(test
|
|
232
|
-
it("should return an appropriately rendered calculation component with message ".concat(test.result), ()
|
|
233
|
-
|
|
234
|
-
container
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
const [formGroup, input] = (0, _react.getAllByTestId)(container, ID);
|
|
245
|
+
}].forEach(function (test) {
|
|
246
|
+
it("should return an appropriately rendered calculation component with message ".concat(test.result), function () {
|
|
247
|
+
var _render2 = (0, _react.render)((0, _getComponent.default)(_objectSpread(_objectSpread({}, COMPONENT), test.config))),
|
|
248
|
+
container = _render2.container;
|
|
249
|
+
var _getAllByTestId3 = (0, _react.getAllByTestId)(container, ID),
|
|
250
|
+
_getAllByTestId4 = _slicedToArray(_getAllByTestId3, 2),
|
|
251
|
+
formGroup = _getAllByTestId4[0],
|
|
252
|
+
input = _getAllByTestId4[1];
|
|
240
253
|
expect(formGroup.tagName).toEqual('DIV');
|
|
241
254
|
expect(formGroup.classList).toContain('govuk-form-group');
|
|
242
|
-
|
|
255
|
+
var label = formGroup.childNodes[0];
|
|
243
256
|
expect(label.tagName).toEqual('LABEL');
|
|
244
257
|
expect(label.classList).toContain('govuk-label');
|
|
245
258
|
expect(label.textContent).toContain(LABEL);
|
|
@@ -5,27 +5,30 @@ var _models = require("../../../models");
|
|
|
5
5
|
var _setupTests = require("../../../setupTests");
|
|
6
6
|
var _getComponent = _interopRequireDefault(require("../getComponent"));
|
|
7
7
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
9
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
10
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
11
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
12
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
13
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } // Global imports
|
|
10
14
|
// Local imports
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const OPTIONS = [{
|
|
15
|
+
describe('utils.Component.get', function () {
|
|
16
|
+
it('should return an appropriately rendered checkboxes component', function () {
|
|
17
|
+
var ID = 'test-id';
|
|
18
|
+
var FIELD_ID = 'field-id';
|
|
19
|
+
var LABEL = 'label';
|
|
20
|
+
var OPTIONS = [{
|
|
18
21
|
value: 'a',
|
|
19
22
|
label: 'Alpha'
|
|
20
23
|
}, {
|
|
21
24
|
value: 'b',
|
|
22
25
|
label: 'Bravo'
|
|
23
26
|
}];
|
|
24
|
-
|
|
25
|
-
|
|
27
|
+
var ON_CHANGE_CALLS = [];
|
|
28
|
+
var ON_CHANGE = function ON_CHANGE(e) {
|
|
26
29
|
ON_CHANGE_CALLS.push(e.target);
|
|
27
30
|
};
|
|
28
|
-
|
|
31
|
+
var COMPONENT = {
|
|
29
32
|
type: _models.ComponentTypes.CHECKBOXES,
|
|
30
33
|
id: ID,
|
|
31
34
|
fieldId: FIELD_ID,
|
|
@@ -36,14 +39,16 @@ describe('utils.Component.get', () => {
|
|
|
36
39
|
onChange: ON_CHANGE,
|
|
37
40
|
'data-testid': ID
|
|
38
41
|
};
|
|
39
|
-
|
|
40
|
-
container
|
|
41
|
-
|
|
42
|
-
|
|
42
|
+
var _render = (0, _react.render)((0, _getComponent.default)(COMPONENT)),
|
|
43
|
+
container = _render.container;
|
|
44
|
+
var _getAllByTestId = (0, _react.getAllByTestId)(container, ID),
|
|
45
|
+
_getAllByTestId2 = _slicedToArray(_getAllByTestId, 2),
|
|
46
|
+
formGroup = _getAllByTestId2[0],
|
|
47
|
+
checkboxes = _getAllByTestId2[1];
|
|
43
48
|
expect(formGroup.tagName).toEqual('DIV');
|
|
44
49
|
expect(formGroup.classList).toContain('govuk-form-group');
|
|
45
|
-
|
|
46
|
-
formGroup.childNodes.forEach(node
|
|
50
|
+
var label;
|
|
51
|
+
formGroup.childNodes.forEach(function (node) {
|
|
47
52
|
// Check if it's an element.
|
|
48
53
|
if (node instanceof Element) {
|
|
49
54
|
if (node.tagName === 'LABEL') {
|
|
@@ -57,20 +62,22 @@ describe('utils.Component.get', () => {
|
|
|
57
62
|
expect(checkboxes.tagName).toEqual('DIV');
|
|
58
63
|
expect(checkboxes.classList).toContain('govuk-checkboxes');
|
|
59
64
|
expect(checkboxes.childNodes.length).toEqual(OPTIONS.length);
|
|
60
|
-
|
|
61
|
-
OPTIONS.forEach((_, index)
|
|
62
|
-
|
|
65
|
+
var checkboxItems = [];
|
|
66
|
+
OPTIONS.forEach(function (_, index) {
|
|
67
|
+
var checkbox = checkboxes.childNodes[index];
|
|
63
68
|
expect(checkbox instanceof Element).toBeTruthy();
|
|
64
69
|
if (checkbox instanceof Element) {
|
|
65
70
|
checkboxItems.push(checkbox);
|
|
66
71
|
}
|
|
67
72
|
});
|
|
68
73
|
expect(checkboxItems.length).toEqual(OPTIONS.length);
|
|
69
|
-
OPTIONS.forEach((option, index)
|
|
70
|
-
|
|
74
|
+
OPTIONS.forEach(function (option, index) {
|
|
75
|
+
var checkbox = checkboxItems[index];
|
|
71
76
|
expect(checkbox.tagName).toEqual('DIV');
|
|
72
77
|
expect(checkbox.classList).toContain('govuk-checkboxes__item');
|
|
73
|
-
|
|
78
|
+
var _checkbox$childNodes = _slicedToArray(checkbox.childNodes, 2),
|
|
79
|
+
input = _checkbox$childNodes[0],
|
|
80
|
+
inputLabel = _checkbox$childNodes[1];
|
|
74
81
|
expect(input.tagName).toEqual('INPUT');
|
|
75
82
|
expect(input.type).toEqual('checkbox');
|
|
76
83
|
expect(inputLabel.textContent).toEqual(option.label);
|
|
@@ -94,16 +101,16 @@ describe('utils.Component.get', () => {
|
|
|
94
101
|
value: [OPTIONS[1].value]
|
|
95
102
|
});
|
|
96
103
|
});
|
|
97
|
-
it('should return an appropriately rendered checkboxes component with a nested component', ()
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
104
|
+
it('should return an appropriately rendered checkboxes component with a nested component', function () {
|
|
105
|
+
var ID = 'test-id';
|
|
106
|
+
var FIELD_ID = 'field-id';
|
|
107
|
+
var LABEL = 'label';
|
|
108
|
+
var NESTED = {
|
|
102
109
|
id: 'charle',
|
|
103
110
|
fieldId: 'charle',
|
|
104
111
|
type: 'text'
|
|
105
112
|
};
|
|
106
|
-
|
|
113
|
+
var OPTIONS = [{
|
|
107
114
|
value: 'a',
|
|
108
115
|
label: 'Alpha',
|
|
109
116
|
nested: [NESTED]
|
|
@@ -111,11 +118,11 @@ describe('utils.Component.get', () => {
|
|
|
111
118
|
value: 'b',
|
|
112
119
|
label: 'Bravo'
|
|
113
120
|
}];
|
|
114
|
-
|
|
115
|
-
|
|
121
|
+
var ON_CHANGE_CALLS = [];
|
|
122
|
+
var ON_CHANGE = function ON_CHANGE(e) {
|
|
116
123
|
ON_CHANGE_CALLS.push(e.target);
|
|
117
124
|
};
|
|
118
|
-
|
|
125
|
+
var COMPONENT = {
|
|
119
126
|
type: _models.ComponentTypes.CHECKBOXES,
|
|
120
127
|
id: ID,
|
|
121
128
|
fieldId: FIELD_ID,
|
|
@@ -127,14 +134,16 @@ describe('utils.Component.get', () => {
|
|
|
127
134
|
onChange: ON_CHANGE,
|
|
128
135
|
'data-testid': ID
|
|
129
136
|
};
|
|
130
|
-
|
|
131
|
-
container
|
|
132
|
-
|
|
133
|
-
|
|
137
|
+
var _renderWithValidation = (0, _setupTests.renderWithValidation)((0, _getComponent.default)(COMPONENT)),
|
|
138
|
+
container = _renderWithValidation.container;
|
|
139
|
+
var _getAllByTestId3 = (0, _react.getAllByTestId)(container, ID),
|
|
140
|
+
_getAllByTestId4 = _slicedToArray(_getAllByTestId3, 2),
|
|
141
|
+
formGroup = _getAllByTestId4[0],
|
|
142
|
+
checkboxes = _getAllByTestId4[1];
|
|
134
143
|
expect(formGroup.tagName).toEqual('DIV');
|
|
135
144
|
expect(formGroup.classList).toContain('govuk-form-group');
|
|
136
|
-
|
|
137
|
-
formGroup.childNodes.forEach(node
|
|
145
|
+
var label;
|
|
146
|
+
formGroup.childNodes.forEach(function (node) {
|
|
138
147
|
// Check if it's an element.
|
|
139
148
|
if (node instanceof Element) {
|
|
140
149
|
if (node.tagName === 'LABEL') {
|
|
@@ -4,20 +4,23 @@ var _react = require("@testing-library/react");
|
|
|
4
4
|
var _models = require("../../../models");
|
|
5
5
|
var _getComponent = _interopRequireDefault(require("../getComponent"));
|
|
6
6
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
8
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
10
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
11
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
12
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } // Global imports
|
|
9
13
|
// Local imports
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const ON_CHANGE = e => {
|
|
14
|
+
describe('utils.Component.get', function () {
|
|
15
|
+
it('should return an appropriately rendered date component', function () {
|
|
16
|
+
var ID = 'test-id';
|
|
17
|
+
var FIELD_ID = 'field-id';
|
|
18
|
+
var LABEL = 'label';
|
|
19
|
+
var ON_CHANGE_CALLS = [];
|
|
20
|
+
var ON_CHANGE = function ON_CHANGE(e) {
|
|
18
21
|
ON_CHANGE_CALLS.push(e.target);
|
|
19
22
|
};
|
|
20
|
-
|
|
23
|
+
var COMPONENT = {
|
|
21
24
|
type: _models.ComponentTypes.DATE,
|
|
22
25
|
id: ID,
|
|
23
26
|
fieldId: FIELD_ID,
|
|
@@ -25,11 +28,13 @@ describe('utils.Component.get', () => {
|
|
|
25
28
|
onChange: ON_CHANGE,
|
|
26
29
|
'data-testid': ID
|
|
27
30
|
};
|
|
28
|
-
|
|
31
|
+
var checkDateField = function checkDateField(node, option) {
|
|
29
32
|
expect(node.tagName).toEqual('DIV');
|
|
30
33
|
expect(node.classList).toContain('govuk-date-input__item');
|
|
31
|
-
|
|
32
|
-
|
|
34
|
+
var group = node.childNodes[0]; // form group
|
|
35
|
+
var _group$childNodes = _slicedToArray(group.childNodes, 2),
|
|
36
|
+
label = _group$childNodes[0],
|
|
37
|
+
input = _group$childNodes[1];
|
|
33
38
|
expect(label.tagName).toEqual('LABEL');
|
|
34
39
|
expect(label.classList).toContain('govuk-label');
|
|
35
40
|
expect(label.textContent).toEqual(option.label);
|
|
@@ -37,28 +42,33 @@ describe('utils.Component.get', () => {
|
|
|
37
42
|
expect(input.id).toEqual(option.id);
|
|
38
43
|
return input;
|
|
39
44
|
};
|
|
40
|
-
|
|
41
|
-
container
|
|
42
|
-
|
|
43
|
-
|
|
45
|
+
var _render = (0, _react.render)((0, _getComponent.default)(COMPONENT)),
|
|
46
|
+
container = _render.container;
|
|
47
|
+
var _getAllByTestId = (0, _react.getAllByTestId)(container, ID),
|
|
48
|
+
_getAllByTestId2 = _slicedToArray(_getAllByTestId, 2),
|
|
49
|
+
formGroup = _getAllByTestId2[0],
|
|
50
|
+
dateInput = _getAllByTestId2[1];
|
|
44
51
|
expect(formGroup.tagName).toEqual('DIV');
|
|
45
52
|
expect(formGroup.classList).toContain('govuk-form-group');
|
|
46
|
-
|
|
53
|
+
var label = formGroup.childNodes[0];
|
|
47
54
|
expect(label.innerHTML).toContain(LABEL);
|
|
48
55
|
expect(label.getAttribute('for')).toEqual(ID);
|
|
49
56
|
expect(dateInput.tagName).toEqual('DIV');
|
|
50
57
|
expect(dateInput.classList).toContain('govuk-date-input');
|
|
51
58
|
expect(dateInput.id).toEqual(ID);
|
|
52
|
-
|
|
53
|
-
|
|
59
|
+
var _dateInput$childNodes = _slicedToArray(dateInput.childNodes, 3),
|
|
60
|
+
dayItem = _dateInput$childNodes[0],
|
|
61
|
+
monthItem = _dateInput$childNodes[1],
|
|
62
|
+
yearItem = _dateInput$childNodes[2];
|
|
63
|
+
var dayInput = checkDateField(dayItem, {
|
|
54
64
|
id: "".concat(ID, "-day"),
|
|
55
65
|
label: 'Day'
|
|
56
66
|
});
|
|
57
|
-
|
|
67
|
+
var monthInput = checkDateField(monthItem, {
|
|
58
68
|
id: "".concat(ID, "-month"),
|
|
59
69
|
label: 'Month'
|
|
60
70
|
});
|
|
61
|
-
|
|
71
|
+
var yearInput = checkDateField(yearItem, {
|
|
62
72
|
id: "".concat(ID, "-year"),
|
|
63
73
|
label: 'Year'
|
|
64
74
|
});
|
|
@@ -8,42 +8,40 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
8
8
|
|
|
9
9
|
// Local imports
|
|
10
10
|
|
|
11
|
-
describe('utils.Component.get', ()
|
|
12
|
-
it('should return a details component containing basic text', ()
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
describe('utils.Component.get', function () {
|
|
12
|
+
it('should return a details component containing basic text', function () {
|
|
13
|
+
var ID = 'test-id';
|
|
14
|
+
var CONTENT = 'Details content';
|
|
15
|
+
var SUMMARY = 'Details Summary';
|
|
16
|
+
var COMPONENT = {
|
|
17
17
|
type: _models.ComponentTypes.DETAILS,
|
|
18
18
|
content: CONTENT,
|
|
19
19
|
summary: SUMMARY,
|
|
20
20
|
'data-testid': ID
|
|
21
21
|
};
|
|
22
|
-
|
|
23
|
-
container
|
|
24
|
-
|
|
25
|
-
const details = container.querySelector('details');
|
|
22
|
+
var _render = (0, _react.render)((0, _getComponent.default)(COMPONENT)),
|
|
23
|
+
container = _render.container;
|
|
24
|
+
var details = container.querySelector('details');
|
|
26
25
|
expect(details.classList).toContain('hods-details');
|
|
27
26
|
expect(details.childNodes[0].textContent).toEqual(SUMMARY);
|
|
28
27
|
expect(details.childNodes[1].textContent).toEqual(CONTENT);
|
|
29
28
|
});
|
|
30
|
-
it('should return a details component containing multiple html components', ()
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
it('should return a details component containing multiple html components', function () {
|
|
30
|
+
var ID = 'test-id';
|
|
31
|
+
var CONTENT = '<p>this is the content</p><ol><li>one</li><li>two</li></ol><p>second section of content</p>';
|
|
32
|
+
var SUMMARY = 'Details Summary';
|
|
33
|
+
var COMPONENT = {
|
|
35
34
|
type: _models.ComponentTypes.DETAILS,
|
|
36
35
|
content: CONTENT,
|
|
37
36
|
summary: SUMMARY,
|
|
38
37
|
tagName: 'div',
|
|
39
38
|
'data-testid': ID
|
|
40
39
|
};
|
|
41
|
-
|
|
42
|
-
container
|
|
43
|
-
|
|
44
|
-
const details = container.querySelector('details');
|
|
40
|
+
var _render2 = (0, _react.render)((0, _getComponent.default)(COMPONENT)),
|
|
41
|
+
container = _render2.container;
|
|
42
|
+
var details = container.querySelector('details');
|
|
45
43
|
expect(details.classList).toContain('hods-details');
|
|
46
|
-
|
|
44
|
+
var content = details.childNodes[1].childNodes[0].childNodes;
|
|
47
45
|
expect(content[0].textContent).toEqual('this is the content');
|
|
48
46
|
expect(content[0].tagName).toEqual('P');
|
|
49
47
|
expect(content[1].childNodes[0].textContent).toEqual('one');
|
|
@@ -4,20 +4,23 @@ var _react = require("@testing-library/react");
|
|
|
4
4
|
var _models = require("../../../models");
|
|
5
5
|
var _getComponent = _interopRequireDefault(require("../getComponent"));
|
|
6
6
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
8
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
10
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
11
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
12
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } // Global imports
|
|
9
13
|
// Local imports
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const ON_CHANGE = e => {
|
|
14
|
+
describe('utils.Component.get', function () {
|
|
15
|
+
it('should return an appropriately rendered email component', function () {
|
|
16
|
+
var ID = 'test-id';
|
|
17
|
+
var FIELD_ID = 'field-id';
|
|
18
|
+
var LABEL = 'label';
|
|
19
|
+
var ON_CHANGE_CALLS = [];
|
|
20
|
+
var ON_CHANGE = function ON_CHANGE(e) {
|
|
18
21
|
ON_CHANGE_CALLS.push(e.target);
|
|
19
22
|
};
|
|
20
|
-
|
|
23
|
+
var COMPONENT = {
|
|
21
24
|
type: _models.ComponentTypes.EMAIL,
|
|
22
25
|
id: ID,
|
|
23
26
|
fieldId: FIELD_ID,
|
|
@@ -25,14 +28,16 @@ describe('utils.Component.get', () => {
|
|
|
25
28
|
onChange: ON_CHANGE,
|
|
26
29
|
'data-testid': ID
|
|
27
30
|
};
|
|
28
|
-
|
|
29
|
-
container
|
|
30
|
-
|
|
31
|
-
|
|
31
|
+
var _render = (0, _react.render)((0, _getComponent.default)(COMPONENT)),
|
|
32
|
+
container = _render.container;
|
|
33
|
+
var _getAllByTestId = (0, _react.getAllByTestId)(container, ID),
|
|
34
|
+
_getAllByTestId2 = _slicedToArray(_getAllByTestId, 2),
|
|
35
|
+
formGroup = _getAllByTestId2[0],
|
|
36
|
+
input = _getAllByTestId2[1];
|
|
32
37
|
expect(formGroup.tagName).toEqual('DIV');
|
|
33
38
|
expect(formGroup.classList).toContain('govuk-form-group');
|
|
34
|
-
|
|
35
|
-
formGroup.childNodes.forEach(node
|
|
39
|
+
var label;
|
|
40
|
+
formGroup.childNodes.forEach(function (node) {
|
|
36
41
|
// Check if it's an element.
|
|
37
42
|
if (node instanceof Element && node.tagName === 'LABEL') {
|
|
38
43
|
label = node;
|
|
@@ -5,20 +5,23 @@ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
|
5
5
|
var _models = require("../../../models");
|
|
6
6
|
var _getComponent = _interopRequireDefault(require("../getComponent"));
|
|
7
7
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
9
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
10
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
11
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
12
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
13
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } // Global imports
|
|
10
14
|
// Local imports
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const ON_CHANGE = e => {
|
|
15
|
+
describe('utils.Component.get', function () {
|
|
16
|
+
it('should return an appropriately rendered file component', function () {
|
|
17
|
+
var ID = 'test-id';
|
|
18
|
+
var FIELD_ID = 'field-id';
|
|
19
|
+
var LABEL = 'label';
|
|
20
|
+
var ON_CHANGE_CALLS = [];
|
|
21
|
+
var ON_CHANGE = function ON_CHANGE(e) {
|
|
19
22
|
ON_CHANGE_CALLS.push(e.target);
|
|
20
23
|
};
|
|
21
|
-
|
|
24
|
+
var COMPONENT = {
|
|
22
25
|
type: _models.ComponentTypes.FILE,
|
|
23
26
|
id: ID,
|
|
24
27
|
fieldId: FIELD_ID,
|
|
@@ -26,14 +29,16 @@ describe('utils.Component.get', () => {
|
|
|
26
29
|
onChange: ON_CHANGE,
|
|
27
30
|
'data-testid': ID
|
|
28
31
|
};
|
|
29
|
-
|
|
30
|
-
container
|
|
31
|
-
|
|
32
|
-
|
|
32
|
+
var _render = (0, _react.render)((0, _getComponent.default)(COMPONENT)),
|
|
33
|
+
container = _render.container;
|
|
34
|
+
var _getAllByTestId = (0, _react.getAllByTestId)(container, ID),
|
|
35
|
+
_getAllByTestId2 = _slicedToArray(_getAllByTestId, 2),
|
|
36
|
+
formGroup = _getAllByTestId2[0],
|
|
37
|
+
input = _getAllByTestId2[1];
|
|
33
38
|
expect(formGroup.tagName).toEqual('DIV');
|
|
34
39
|
expect(formGroup.classList).toContain('govuk-form-group');
|
|
35
|
-
|
|
36
|
-
formGroup.childNodes.forEach(node
|
|
40
|
+
var label;
|
|
41
|
+
formGroup.childNodes.forEach(function (node) {
|
|
37
42
|
// Check if it's an element.
|
|
38
43
|
if (node instanceof Element && node.tagName === 'LABEL') {
|
|
39
44
|
label = node;
|
|
@@ -45,11 +50,11 @@ describe('utils.Component.get', () => {
|
|
|
45
50
|
expect(input.tagName).toEqual('INPUT');
|
|
46
51
|
expect(input.classList).toContain('hods-file-upload__select');
|
|
47
52
|
expect(input.id).toEqual("".concat(ID, "-select"));
|
|
48
|
-
|
|
53
|
+
var str = JSON.stringify({
|
|
49
54
|
alpha: 'bravo'
|
|
50
55
|
});
|
|
51
|
-
|
|
52
|
-
|
|
56
|
+
var blob = new Blob([str]);
|
|
57
|
+
var FILE = new File([blob], 'test.json', {
|
|
53
58
|
type: 'application/JSON'
|
|
54
59
|
});
|
|
55
60
|
_userEvent.default.upload(input, FILE);
|