@ukhomeoffice/cop-react-form-renderer 6.5.1-peter → 6.7.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/dist/components/CheckYourAnswers/Answer.js +12 -12
- package/dist/components/CheckYourAnswers/Answer.test.js +92 -127
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +101 -131
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +463 -769
- package/dist/components/CollectionPage/CollectionPage.js +73 -63
- package/dist/components/CollectionPage/CollectionPage.test.js +316 -366
- package/dist/components/CollectionSummary/BannerStrip.js +13 -13
- package/dist/components/CollectionSummary/BannerStrip.test.js +80 -76
- package/dist/components/CollectionSummary/CollectionSummary.js +97 -107
- package/dist/components/CollectionSummary/CollectionSummary.test.js +152 -142
- package/dist/components/CollectionSummary/Confirmation.js +14 -12
- package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
- package/dist/components/CollectionSummary/RenderListView.js +45 -51
- package/dist/components/CollectionSummary/RenderListView.test.js +78 -77
- package/dist/components/CollectionSummary/SummaryCard.js +104 -135
- package/dist/components/CollectionSummary/SummaryCard.test.js +930 -962
- package/dist/components/CollectionSummary/SummaryCardDetails.js +72 -71
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +128 -135
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +30 -35
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +62 -74
- package/dist/components/FormComponent/Collection.js +74 -108
- package/dist/components/FormComponent/Collection.test.js +909 -1081
- package/dist/components/FormComponent/Container.js +40 -38
- package/dist/components/FormComponent/Container.test.js +314 -345
- package/dist/components/FormComponent/FormComponent.js +69 -72
- package/dist/components/FormComponent/FormComponent.test.js +353 -414
- package/dist/components/FormComponent/helpers/addLabel.js +4 -7
- 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 +3 -5
- package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
- 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 +65 -80
- package/dist/components/FormPage/FormPage.test.js +127 -163
- package/dist/components/FormRenderer/FormRenderer.js +143 -179
- package/dist/components/FormRenderer/FormRenderer.test.js +730 -1115
- package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
- package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
- 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 +1 -3
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +16 -20
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +17 -22
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
- package/dist/components/FormRenderer/helpers/getCYA.js +3 -5
- package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getFormState.js +5 -7
- package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
- package/dist/components/FormRenderer/helpers/getNextPageId.js +13 -24
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
- package/dist/components/FormRenderer/helpers/getPage.js +2 -4
- package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
- 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 +103 -97
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +62 -60
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +71 -78
- package/dist/components/FormRenderer/helpers/index.js +2 -4
- package/dist/components/FormRenderer/onCYAAction.js +59 -51
- package/dist/components/FormRenderer/onCYAAction.test.js +164 -152
- package/dist/components/FormRenderer/onPageAction.js +44 -47
- package/dist/components/FormRenderer/onPageAction.test.js +223 -213
- package/dist/components/FormRenderer/onTaskAction.js +9 -13
- package/dist/components/FormRenderer/onTaskAction.test.js +93 -88
- package/dist/components/PageActions/ActionButton.js +12 -15
- package/dist/components/PageActions/ActionButton.test.js +56 -78
- package/dist/components/PageActions/PageActions.js +10 -10
- package/dist/components/PageActions/PageActions.test.js +86 -115
- package/dist/components/SummaryList/GroupAction.js +9 -17
- package/dist/components/SummaryList/GroupAction.test.js +37 -33
- package/dist/components/SummaryList/RowAction.js +11 -16
- package/dist/components/SummaryList/RowAction.test.js +37 -33
- package/dist/components/SummaryList/SummaryList.js +21 -26
- package/dist/components/SummaryList/SummaryList.test.js +143 -166
- package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -4
- package/dist/components/SummaryList/SummaryListRow.js +6 -4
- package/dist/components/SummaryList/SummaryListTitleRow.js +5 -3
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
- 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 +19 -29
- package/dist/components/TaskList/Task.test.js +83 -76
- package/dist/components/TaskList/TaskList.js +45 -71
- package/dist/components/TaskList/TaskList.test.js +113 -111
- package/dist/components/TaskList/TaskState.js +7 -5
- package/dist/components/TaskList/TaskState.test.js +52 -45
- package/dist/components/index.js +7 -7
- package/dist/context/HooksContext/HooksContext.js +57 -80
- package/dist/context/HooksContext/HooksContext.test.js +26 -35
- package/dist/context/HooksContext/index.js +3 -4
- package/dist/context/ValidationContext/ValidationContext.js +43 -94
- package/dist/context/ValidationContext/ValidationContext.test.js +56 -68
- package/dist/context/ValidationContext/index.js +3 -4
- package/dist/context/index.js +2 -2
- package/dist/hooks/index.js +9 -10
- package/dist/hooks/useAxios.js +14 -40
- package/dist/hooks/useGetRequest.js +61 -97
- package/dist/hooks/useHooks.js +1 -3
- package/dist/hooks/useRefData.js +26 -39
- package/dist/hooks/useValidation.js +1 -3
- package/dist/index.js +13 -14
- 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 +44 -38
- package/dist/models/TaskStates.js +29 -28
- package/dist/models/index.js +9 -9
- package/dist/setupTests.js +30 -31
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +52 -54
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +15 -25
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +33 -35
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +17 -31
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +42 -44
- package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +18 -24
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +15 -16
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +33 -36
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +58 -61
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +83 -89
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +164 -138
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +25 -20
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +103 -97
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +13 -18
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +70 -76
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +11 -11
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +7 -7
- 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 +17 -18
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +18 -20
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +55 -26
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
- package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
- package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +20 -22
- package/dist/utils/CollectionPage/getQuickEditPage.js +36 -28
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +26 -45
- package/dist/utils/CollectionPage/index.js +1 -1
- package/dist/utils/CollectionPage/mergeCollectionPages.js +31 -35
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +20 -20
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +4 -6
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
- package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
- package/dist/utils/Component/addShowWhen.js +4 -8
- package/dist/utils/Component/addShowWhen.test.js +37 -37
- package/dist/utils/Component/applyToComponentTree.js +18 -18
- package/dist/utils/Component/applyToComponentTree.test.js +27 -32
- package/dist/utils/Component/cleanAttributes.js +10 -13
- package/dist/utils/Component/cleanAttributes.test.js +17 -18
- package/dist/utils/Component/elevateNestedComponents.js +5 -5
- package/dist/utils/Component/elevateNestedComponents.test.js +30 -30
- package/dist/utils/Component/getComponent.js +88 -94
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -17
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +46 -59
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +39 -48
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +23 -33
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +20 -18
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +20 -25
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +10 -9
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +17 -15
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -8
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +17 -15
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +22 -26
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +17 -15
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +57 -72
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +17 -22
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +31 -38
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +20 -29
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -8
- package/dist/utils/Component/getDefaultValue.js +6 -8
- package/dist/utils/Component/getDefaultValue.test.js +12 -12
- package/dist/utils/Component/getDefaultValueFromConfig.js +22 -21
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
- package/dist/utils/Component/index.js +1 -1
- package/dist/utils/Component/isEditable.js +2 -4
- package/dist/utils/Component/isEditable.test.js +14 -15
- package/dist/utils/Component/optionIsSelected.js +1 -1
- package/dist/utils/Component/optionIsSelected.test.js +9 -9
- package/dist/utils/Component/setupContainerComponentsPath.js +27 -29
- 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 +16 -25
- 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 +13 -18
- package/dist/utils/Condition/setupConditions.test.js +7 -7
- package/dist/utils/Container/getEditableComponents.js +3 -5
- package/dist/utils/Container/getEditableComponents.test.js +43 -45
- package/dist/utils/Container/index.js +1 -1
- package/dist/utils/Container/setupNesting.js +16 -20
- package/dist/utils/Container/setupNesting.test.js +27 -30
- package/dist/utils/Container/showContainer.js +3 -7
- package/dist/utils/Container/showContainer.test.js +30 -30
- package/dist/utils/Data/applyFormula.js +38 -48
- package/dist/utils/Data/applyFormula.test.js +20 -20
- package/dist/utils/Data/getAutocompleteSource.js +18 -26
- package/dist/utils/Data/getAutocompleteSource.test.js +80 -86
- package/dist/utils/Data/getDataPath.js +18 -28
- package/dist/utils/Data/getDataPath.test.js +12 -12
- package/dist/utils/Data/getOptions.js +24 -30
- package/dist/utils/Data/getOptions.test.js +27 -27
- package/dist/utils/Data/getSourceData.js +6 -19
- package/dist/utils/Data/getSourceData.test.js +84 -80
- package/dist/utils/Data/index.js +1 -1
- package/dist/utils/Data/nestInRefdataOptions.js +9 -16
- package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
- package/dist/utils/Data/refDataToOptions.js +10 -13
- package/dist/utils/Data/refDataToOptions.test.js +19 -19
- package/dist/utils/Data/setDataItem.js +7 -8
- package/dist/utils/Data/setDataItem.test.js +37 -37
- package/dist/utils/Data/setupFormData.js +13 -21
- package/dist/utils/Data/setupFormData.test.js +51 -50
- package/dist/utils/Data/setupRefDataUrlForComponent.js +20 -26
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
- package/dist/utils/FormPage/applyConditionalProperties.js +5 -9
- package/dist/utils/FormPage/applyConditionalProperties.test.js +15 -18
- package/dist/utils/FormPage/getConditionalText.js +3 -3
- package/dist/utils/FormPage/getConditionalText.test.js +29 -29
- package/dist/utils/FormPage/getFormPage.js +15 -16
- package/dist/utils/FormPage/getFormPage.test.js +47 -46
- package/dist/utils/FormPage/getFormPages.js +7 -12
- package/dist/utils/FormPage/getFormPages.test.js +20 -23
- package/dist/utils/FormPage/getPageActions.js +9 -15
- package/dist/utils/FormPage/getPageActions.test.js +32 -32
- package/dist/utils/FormPage/getParagraphFromText.js +5 -7
- package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
- package/dist/utils/FormPage/index.js +2 -4
- package/dist/utils/FormPage/showFormPage.js +3 -7
- 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 +21 -28
- package/dist/utils/FormPage/useComponent.test.js +77 -79
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +18 -18
- package/dist/utils/Format/formatDataForComponent.js +5 -6
- package/dist/utils/Format/formatDataForComponent.test.js +50 -78
- package/dist/utils/Format/formatDataForForm.js +6 -8
- package/dist/utils/Format/formatDataForForm.test.js +13 -16
- package/dist/utils/Format/formatDataForPage.js +4 -5
- package/dist/utils/Format/formatDataForPage.test.js +20 -25
- package/dist/utils/Format/index.js +1 -1
- package/dist/utils/Hub/getFormHub.js +1 -1
- package/dist/utils/Hub/getFormHub.test.js +28 -31
- 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 +24 -16
- package/dist/utils/Meta/documents/index.js +1 -1
- package/dist/utils/Meta/documents/setDocumentsForField.js +14 -16
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +68 -34
- 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 +46 -52
- package/dist/utils/Operate/index.js +1 -1
- package/dist/utils/Operate/persistValueInFormData.js +3 -3
- package/dist/utils/Operate/persistValueInFormData.test.js +22 -20
- package/dist/utils/Operate/runPageOperations.js +7 -7
- package/dist/utils/Operate/runPageOperations.test.js +35 -36
- 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 +21 -27
- 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 +7 -11
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -41
- 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 +8 -4
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +64 -32
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +14 -16
- 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 +3 -4
- 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 +28 -26
- package/dist/utils/Validate/additional/utils.js +9 -22
- package/dist/utils/Validate/index.js +1 -1
- package/dist/utils/Validate/validateCollection.js +19 -25
- package/dist/utils/Validate/validateCollection.test.js +74 -66
- package/dist/utils/Validate/validateComponent.js +17 -15
- package/dist/utils/Validate/validateComponent.test.js +167 -146
- package/dist/utils/Validate/validateContainer.js +15 -20
- package/dist/utils/Validate/validateContainer.test.js +58 -52
- package/dist/utils/Validate/validateDate.js +15 -21
- package/dist/utils/Validate/validateDate.test.js +31 -32
- package/dist/utils/Validate/validateEmail.js +6 -8
- package/dist/utils/Validate/validateEmail.test.js +25 -25
- package/dist/utils/Validate/validateMultifile.js +5 -7
- package/dist/utils/Validate/validateMultifile.test.js +17 -18
- package/dist/utils/Validate/validatePage.js +19 -22
- package/dist/utils/Validate/validatePage.test.js +215 -203
- package/dist/utils/Validate/validateRegex.js +3 -5
- package/dist/utils/Validate/validateRegex.test.js +14 -14
- package/dist/utils/Validate/validateRequired.js +4 -6
- package/dist/utils/Validate/validateRequired.test.js +18 -18
- package/dist/utils/Validate/validateTextArea.js +4 -6
- package/dist/utils/Validate/validateTextArea.test.js +20 -20
- package/dist/utils/Validate/validateTime.js +11 -18
- package/dist/utils/Validate/validateTime.test.js +16 -16
- package/dist/utils/index.js +7 -9
- package/package.json +2 -2
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-data.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/component-used-in-multiple-pages-form.json +0 -61
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-after.json +0 -429
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-before.json +0 -449
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-airpax-form.json +0 -15219
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab-2-data-after.json +0 -516
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab-2-data-before.json +0 -593
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-eab2-form.json +0 -15219
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-data-after.json +0 -84
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-data-before.json +0 -98
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/cop-mandec-form.json +0 -9158
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collection-data-removed.json +0 -4
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-collections.json +0 -8
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components-removed.json +0 -3
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-components.json +0 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-entire-collection-removed.json +0 -3
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-component-removed.json +0 -10
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/data-with-nested-components.json +0 -11
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-for-nested-components.json +0 -96
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections-delete-entire.json +0 -47
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-collections.json +0 -46
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/form-with-components.json +0 -48
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/test.json +0 -1605
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/test2.json +0 -205
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.js +0 -206
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.test.js +0 -143
- package/dist/components/FormRenderer/helpers/deleteNodeByPath.js +0 -26
- package/dist/components/FormRenderer/helpers/deleteNodeByPath.test.js +0 -56
|
@@ -1,6 +1,5 @@
|
|
|
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); }
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
@@ -14,15 +13,10 @@ var _isEditable = _interopRequireDefault(require("./isEditable"));
|
|
|
14
13
|
var _FormComponent = _interopRequireDefault(require("../../components/FormComponent"));
|
|
15
14
|
var _wrapInFormGroup = _interopRequireDefault(require("./wrapInFormGroup"));
|
|
16
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
-
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; }
|
|
18
|
-
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; }
|
|
19
|
-
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; }
|
|
20
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
21
|
-
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); }
|
|
22
16
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } /* eslint-disable no-use-before-define */ // Global imports
|
|
23
17
|
// Local imports
|
|
24
|
-
|
|
25
|
-
|
|
18
|
+
const LIST_CLASS = 'govuk-list';
|
|
19
|
+
const BODY_CLASS = 'govuk-body';
|
|
26
20
|
|
|
27
21
|
/**
|
|
28
22
|
* Separate function for each component type for the sake of
|
|
@@ -31,155 +25,156 @@ var BODY_CLASS = 'govuk-body';
|
|
|
31
25
|
* makes it much harder to follow what's going on.
|
|
32
26
|
*/
|
|
33
27
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
28
|
+
const getAlert = config => {
|
|
29
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
30
|
+
const heading = _copReactComponents.Utils.interpolateString(config.heading, config.formData);
|
|
31
|
+
const children = _copReactComponents.Utils.interpolateString(config.text, config.formData);
|
|
38
32
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Alert, _extends({}, attrs, {
|
|
39
33
|
heading: heading
|
|
40
34
|
}), children);
|
|
41
35
|
};
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
36
|
+
const getAutocomplete = config => {
|
|
37
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
38
|
+
const source = _Data.default.getAutocompleteSource(config);
|
|
45
39
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Autocomplete, _extends({}, attrs, {
|
|
46
40
|
source: source
|
|
47
41
|
}));
|
|
48
42
|
};
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
_Data.default.getOptions(config,
|
|
43
|
+
const getCheckboxes = config => {
|
|
44
|
+
let options = [];
|
|
45
|
+
_Data.default.getOptions(config, val => {
|
|
52
46
|
options = val;
|
|
53
47
|
});
|
|
54
|
-
options = options.map(
|
|
48
|
+
options = options.map(paramOption => {
|
|
55
49
|
if (!Array.isArray(paramOption.nested)) {
|
|
56
50
|
return paramOption;
|
|
57
51
|
}
|
|
58
|
-
return
|
|
52
|
+
return {
|
|
53
|
+
...paramOption,
|
|
59
54
|
children: getChildrenJsx(config, paramOption.nested)
|
|
60
|
-
}
|
|
55
|
+
};
|
|
61
56
|
});
|
|
62
|
-
|
|
57
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
63
58
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Checkboxes, _extends({}, attrs, {
|
|
64
59
|
options: options
|
|
65
60
|
}));
|
|
66
61
|
};
|
|
67
|
-
|
|
68
|
-
|
|
62
|
+
const getCalculation = config => {
|
|
63
|
+
const value = _Data.default.applyFormula(config);
|
|
69
64
|
if (typeof config.onChange === 'function') {
|
|
70
65
|
if (value !== config.value) {
|
|
71
66
|
config.onChange({
|
|
72
67
|
target: {
|
|
73
68
|
name: config.fieldId,
|
|
74
|
-
value
|
|
69
|
+
value
|
|
75
70
|
}
|
|
76
71
|
});
|
|
77
72
|
}
|
|
78
73
|
}
|
|
79
|
-
|
|
74
|
+
const attrs = (0, _cleanAttributes.default)(config, ['formula']);
|
|
80
75
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.TextInput, _extends({}, attrs, {
|
|
81
76
|
readonly: true
|
|
82
77
|
}));
|
|
83
78
|
};
|
|
84
|
-
|
|
85
|
-
|
|
79
|
+
const getDate = config => {
|
|
80
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
86
81
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.DateInput, attrs);
|
|
87
82
|
};
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
83
|
+
const getDetails = config => {
|
|
84
|
+
const attrs = (0, _cleanAttributes.default)(config, ['tagName']);
|
|
85
|
+
const html = getHTML(config);
|
|
91
86
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Details, attrs, html);
|
|
92
87
|
};
|
|
93
|
-
|
|
94
|
-
|
|
88
|
+
const getFileUpload = config => {
|
|
89
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
95
90
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.FileUpload, attrs);
|
|
96
91
|
};
|
|
97
|
-
|
|
98
|
-
|
|
92
|
+
const getMultiFileUpload = config => {
|
|
93
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
99
94
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.MultiFileUpload, attrs);
|
|
100
95
|
};
|
|
101
|
-
|
|
102
|
-
|
|
96
|
+
const getHeading = config => {
|
|
97
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
103
98
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Heading, attrs, config.content);
|
|
104
99
|
};
|
|
105
|
-
|
|
106
|
-
|
|
100
|
+
const getHTML = config => {
|
|
101
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
107
102
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Markup, attrs);
|
|
108
103
|
};
|
|
109
|
-
|
|
110
|
-
|
|
104
|
+
const getInsetText = config => {
|
|
105
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
111
106
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.InsetText, attrs, config.content);
|
|
112
107
|
};
|
|
113
|
-
|
|
108
|
+
const getList = config => {
|
|
114
109
|
var _attrs$items;
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
return getHTML(_objectSpread(_objectSpread({}, attrs), {}, {
|
|
110
|
+
const attrs = (0, _cleanAttributes.default)(config, ['ordered']);
|
|
111
|
+
const tagName = config.ordered ? 'ol' : 'ul';
|
|
112
|
+
const bullet = config.ordered ? 'number' : 'bullet';
|
|
113
|
+
const classes = _copReactComponents.Utils.classBuilder(LIST_CLASS, bullet);
|
|
114
|
+
const content = (_attrs$items = attrs.items) === null || _attrs$items === void 0 ? void 0 : _attrs$items.map(item => "<li>".concat(item, "</li>")).join('');
|
|
115
|
+
return getHTML({
|
|
116
|
+
...attrs,
|
|
123
117
|
className: classes(),
|
|
124
|
-
tagName
|
|
125
|
-
content
|
|
118
|
+
tagName,
|
|
119
|
+
content,
|
|
126
120
|
type: _models.ComponentTypes.HTML
|
|
127
|
-
})
|
|
121
|
+
});
|
|
128
122
|
};
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
return getHTML(
|
|
132
|
-
className: BODY_CLASS
|
|
133
|
-
|
|
123
|
+
const getParagraph = config => {
|
|
124
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
125
|
+
return getHTML({
|
|
126
|
+
className: BODY_CLASS,
|
|
127
|
+
...attrs,
|
|
134
128
|
tagName: 'p',
|
|
135
129
|
type: _models.ComponentTypes.HTML
|
|
136
|
-
})
|
|
130
|
+
});
|
|
137
131
|
};
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
_Data.default.getOptions(config,
|
|
132
|
+
const getRadios = config => {
|
|
133
|
+
let options = [];
|
|
134
|
+
_Data.default.getOptions(config, val => {
|
|
141
135
|
options = val;
|
|
142
136
|
});
|
|
143
|
-
options = options.map(
|
|
137
|
+
options = options.map(paramOption => {
|
|
144
138
|
if (!Array.isArray(paramOption.nested)) {
|
|
145
139
|
return paramOption;
|
|
146
140
|
}
|
|
147
|
-
return
|
|
141
|
+
return {
|
|
142
|
+
...paramOption,
|
|
148
143
|
children: getChildrenJsx(config, paramOption.nested)
|
|
149
|
-
}
|
|
144
|
+
};
|
|
150
145
|
});
|
|
151
|
-
|
|
146
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
152
147
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Radios, _extends({}, attrs, {
|
|
153
148
|
options: options
|
|
154
149
|
}));
|
|
155
150
|
};
|
|
156
|
-
|
|
157
|
-
|
|
151
|
+
const getTextArea = config => {
|
|
152
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
158
153
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.TextArea, attrs);
|
|
159
154
|
};
|
|
160
|
-
|
|
161
|
-
|
|
155
|
+
const getTextInput = config => {
|
|
156
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
162
157
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.TextInput, attrs);
|
|
163
158
|
};
|
|
164
|
-
|
|
165
|
-
|
|
159
|
+
const getTime = config => {
|
|
160
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
166
161
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.TimeInput, attrs);
|
|
167
162
|
};
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
_Data.default.getOptions(config,
|
|
163
|
+
const getSelect = config => {
|
|
164
|
+
let options = [];
|
|
165
|
+
_Data.default.getOptions(config, val => {
|
|
171
166
|
options = val;
|
|
172
167
|
});
|
|
173
|
-
|
|
168
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
174
169
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.Select, _extends({}, attrs, {
|
|
175
170
|
options: options
|
|
176
171
|
}));
|
|
177
172
|
};
|
|
178
|
-
|
|
179
|
-
|
|
173
|
+
const getWarningText = config => {
|
|
174
|
+
const attrs = (0, _cleanAttributes.default)(config);
|
|
180
175
|
return /*#__PURE__*/_react.default.createElement(_copReactComponents.WarningText, attrs, config.content);
|
|
181
176
|
};
|
|
182
|
-
|
|
177
|
+
const getComponentByType = config => {
|
|
183
178
|
switch (config.type) {
|
|
184
179
|
case _models.ComponentTypes.HTML:
|
|
185
180
|
return getHTML(config);
|
|
@@ -233,10 +228,12 @@ var getComponentByType = function getComponentByType(config) {
|
|
|
233
228
|
* @param {*} parent the parent configuration
|
|
234
229
|
* @param {*} child the child configuration
|
|
235
230
|
*/
|
|
236
|
-
|
|
237
|
-
|
|
231
|
+
const getChildJsx = (parent, paramChild) => {
|
|
232
|
+
const child = {
|
|
233
|
+
...paramChild
|
|
234
|
+
};
|
|
238
235
|
if (parent.full_path) {
|
|
239
|
-
|
|
236
|
+
const pathParts = parent.full_path.split('.');
|
|
240
237
|
pathParts.pop();
|
|
241
238
|
pathParts.push(child.fieldId);
|
|
242
239
|
child.full_path = pathParts.join('.');
|
|
@@ -264,13 +261,10 @@ var getChildJsx = function getChildJsx(parent, paramChild) {
|
|
|
264
261
|
* @param {*} parentConfig parent component which the childrenConfigs will be under
|
|
265
262
|
* @param {*} childrenConfigs array of configurations for the child components
|
|
266
263
|
*/
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
}, getChildJsx(parentConfig, config));
|
|
272
|
-
}));
|
|
273
|
-
};
|
|
264
|
+
const getChildrenJsx = (parentConfig, childrenConfigs) => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, childrenConfigs.map(config => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
|
|
265
|
+
key: config.id
|
|
266
|
+
}, getChildJsx(parentConfig, config))));
|
|
267
|
+
exports.getChildrenJsx = getChildrenJsx;
|
|
274
268
|
/**
|
|
275
269
|
* Get a renderable component, based on a configuration object.
|
|
276
270
|
* @param {object} config The configuration object for the component.
|
|
@@ -278,16 +272,16 @@ var getChildrenJsx = exports.getChildrenJsx = function getChildrenJsx(parentConf
|
|
|
278
272
|
* @param {Function} fnOverride An optional override function for component rendering.
|
|
279
273
|
* @returns A renderable component.
|
|
280
274
|
*/
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
275
|
+
const getComponent = function (config) {
|
|
276
|
+
let wrap = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
277
|
+
let fnOverride = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
|
|
284
278
|
if (typeof fnOverride === 'function') {
|
|
285
|
-
|
|
279
|
+
const overrideComponent = fnOverride(config, wrap);
|
|
286
280
|
if (overrideComponent) {
|
|
287
281
|
return overrideComponent;
|
|
288
282
|
}
|
|
289
283
|
}
|
|
290
|
-
|
|
284
|
+
const component = getComponentByType(config);
|
|
291
285
|
if (component && wrap && (0, _isEditable.default)(config)) {
|
|
292
286
|
return (0, _wrapInFormGroup.default)(config, component);
|
|
293
287
|
}
|
|
@@ -8,13 +8,13 @@ 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 an appropriately rendered autocomplete component',
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
describe('utils.Component.get', () => {
|
|
12
|
+
it('should return an appropriately rendered autocomplete component', () => {
|
|
13
|
+
const ID = 'test-id';
|
|
14
|
+
const FIELD_ID = 'field-id';
|
|
15
|
+
const LABEL = 'label';
|
|
16
|
+
const OPTIONS = [];
|
|
17
|
+
const COMPONENT = {
|
|
18
18
|
type: _models.ComponentTypes.AUTOCOMPLETE,
|
|
19
19
|
id: ID,
|
|
20
20
|
fieldId: FIELD_ID,
|
|
@@ -24,26 +24,27 @@ describe('utils.Component.get', function () {
|
|
|
24
24
|
},
|
|
25
25
|
'data-testid': ID
|
|
26
26
|
};
|
|
27
|
-
|
|
28
|
-
container
|
|
29
|
-
|
|
27
|
+
const {
|
|
28
|
+
container
|
|
29
|
+
} = (0, _react.render)((0, _getComponent.default)(COMPONENT));
|
|
30
|
+
const formGroup = (0, _react.getByTestId)(container, ID);
|
|
30
31
|
expect(formGroup.tagName).toEqual('DIV');
|
|
31
32
|
expect(formGroup.classList).toContain('govuk-form-group');
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
formGroup.childNodes.forEach(
|
|
33
|
+
let label;
|
|
34
|
+
let autocompleteWrapper;
|
|
35
|
+
let autocomplete;
|
|
36
|
+
let autocompleteInput;
|
|
37
|
+
formGroup.childNodes.forEach(node => {
|
|
37
38
|
// Check if it's an element.
|
|
38
39
|
if (node instanceof Element) {
|
|
39
40
|
if (node.tagName === 'LABEL') {
|
|
40
41
|
label = node;
|
|
41
42
|
} else if (node.classList.contains('hods-autocomplete__outer-wrapper')) {
|
|
42
43
|
autocompleteWrapper = node;
|
|
43
|
-
|
|
44
|
+
const autocompleteInner = node.childNodes[0];
|
|
44
45
|
if (autocompleteInner instanceof Element) {
|
|
45
46
|
autocomplete = autocompleteInner;
|
|
46
|
-
autocomplete.childNodes.forEach(
|
|
47
|
+
autocomplete.childNodes.forEach(grandchild => {
|
|
47
48
|
if (grandchild instanceof Element) {
|
|
48
49
|
if (grandchild.tagName === 'INPUT') {
|
|
49
50
|
autocompleteInput = grandchild;
|
|
@@ -1,30 +1,18 @@
|
|
|
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); }
|
|
4
3
|
var _react = require("@testing-library/react");
|
|
5
4
|
var _models = require("../../../models");
|
|
6
5
|
var _getComponent = _interopRequireDefault(require("../getComponent"));
|
|
7
6
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
8
|
-
|
|
9
|
-
|
|
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
|
|
7
|
+
// Global imports
|
|
8
|
+
|
|
22
9
|
// Local imports
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
10
|
+
|
|
11
|
+
describe('utils.Component.get', () => {
|
|
12
|
+
const ID = 'test-id';
|
|
13
|
+
const FIELD_ID = 'field-id';
|
|
14
|
+
const LABEL = 'label';
|
|
15
|
+
const COMPONENT = {
|
|
28
16
|
type: _models.ComponentTypes.CALCULATION,
|
|
29
17
|
id: ID,
|
|
30
18
|
fieldId: FIELD_ID,
|
|
@@ -35,11 +23,11 @@ describe('utils.Component.get', function () {
|
|
|
35
23
|
},
|
|
36
24
|
'data-testid': ID
|
|
37
25
|
};
|
|
38
|
-
|
|
39
|
-
afterAll(
|
|
26
|
+
const error = jest.spyOn(console, 'error').mockImplementation(() => {});
|
|
27
|
+
afterAll(() => {
|
|
40
28
|
error.mockReset();
|
|
41
29
|
});
|
|
42
|
-
afterEach(
|
|
30
|
+
afterEach(() => {
|
|
43
31
|
error.mockClear();
|
|
44
32
|
});
|
|
45
33
|
|
|
@@ -127,36 +115,34 @@ describe('utils.Component.get', function () {
|
|
|
127
115
|
}
|
|
128
116
|
},
|
|
129
117
|
result: '266.67'
|
|
130
|
-
}].forEach(
|
|
118
|
+
}].forEach(test => {
|
|
131
119
|
// eslint-disable-next-line no-param-reassign
|
|
132
|
-
test.config.onChange =
|
|
133
|
-
|
|
120
|
+
test.config.onChange = _ref => {
|
|
121
|
+
let {
|
|
122
|
+
target
|
|
123
|
+
} = _ref;
|
|
134
124
|
COMPONENT.formData[target.name] = target.value;
|
|
135
125
|
};
|
|
136
|
-
it("should render 'calculation' component with formula to given calculated value: ".concat(test.result),
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
return _context.stop();
|
|
157
|
-
}
|
|
158
|
-
}, _callee);
|
|
159
|
-
})));
|
|
126
|
+
it("should render 'calculation' component with formula to given calculated value: ".concat(test.result), async () => {
|
|
127
|
+
const {
|
|
128
|
+
container
|
|
129
|
+
} = (0, _react.render)((0, _getComponent.default)({
|
|
130
|
+
...COMPONENT,
|
|
131
|
+
...test.config
|
|
132
|
+
}));
|
|
133
|
+
const [formGroup, input] = (0, _react.getAllByTestId)(container, ID);
|
|
134
|
+
expect(formGroup.tagName).toEqual('DIV');
|
|
135
|
+
expect(formGroup.classList).toContain('govuk-form-group');
|
|
136
|
+
const label = formGroup.childNodes[0];
|
|
137
|
+
expect(label.tagName).toEqual('LABEL');
|
|
138
|
+
expect(label.classList).toContain('govuk-label');
|
|
139
|
+
expect(label.textContent).toContain(LABEL);
|
|
140
|
+
expect(formGroup.classList).toContain('govuk-form-group');
|
|
141
|
+
expect(input.tagName).toEqual('DIV');
|
|
142
|
+
expect(input.classList).toContain('hods-readonly');
|
|
143
|
+
expect(input.id).toEqual(ID);
|
|
144
|
+
expect("".concat(COMPONENT.formData[FIELD_ID])).toEqual(test.result);
|
|
145
|
+
});
|
|
160
146
|
});
|
|
161
147
|
|
|
162
148
|
/**
|
|
@@ -242,17 +228,18 @@ describe('utils.Component.get', function () {
|
|
|
242
228
|
}
|
|
243
229
|
},
|
|
244
230
|
error: 'Argument cannot have more than one reference'
|
|
245
|
-
}].forEach(
|
|
246
|
-
it("should return an appropriately rendered calculation component with message ".concat(test.result),
|
|
247
|
-
|
|
248
|
-
container
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
231
|
+
}].forEach(test => {
|
|
232
|
+
it("should return an appropriately rendered calculation component with message ".concat(test.result), () => {
|
|
233
|
+
const {
|
|
234
|
+
container
|
|
235
|
+
} = (0, _react.render)((0, _getComponent.default)({
|
|
236
|
+
...COMPONENT,
|
|
237
|
+
...test.config
|
|
238
|
+
}));
|
|
239
|
+
const [formGroup, input] = (0, _react.getAllByTestId)(container, ID);
|
|
253
240
|
expect(formGroup.tagName).toEqual('DIV');
|
|
254
241
|
expect(formGroup.classList).toContain('govuk-form-group');
|
|
255
|
-
|
|
242
|
+
const label = formGroup.childNodes[0];
|
|
256
243
|
expect(label.tagName).toEqual('LABEL');
|
|
257
244
|
expect(label.classList).toContain('govuk-label');
|
|
258
245
|
expect(label.textContent).toContain(LABEL);
|