@ukhomeoffice/cop-react-form-renderer 6.13.2 → 6.14.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/README.md +8 -0
- package/dist/components/CheckYourAnswers/Answer.js +12 -11
- package/dist/components/CheckYourAnswers/Answer.test.js +132 -181
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +98 -133
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +544 -939
- package/dist/components/CheckYourAnswers/index.js +1 -1
- package/dist/components/CollectionPage/CollectionPage.js +62 -60
- package/dist/components/CollectionPage/CollectionPage.test.js +315 -365
- package/dist/components/CollectionPage/index.js +1 -1
- package/dist/components/CollectionSummary/BannerStrip.js +14 -14
- package/dist/components/CollectionSummary/BannerStrip.test.js +79 -74
- package/dist/components/CollectionSummary/CollectionSummary.js +81 -99
- package/dist/components/CollectionSummary/CollectionSummary.test.js +182 -166
- package/dist/components/CollectionSummary/Confirmation.js +15 -13
- package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
- package/dist/components/CollectionSummary/RenderListView.js +47 -48
- package/dist/components/CollectionSummary/RenderListView.scss +4 -0
- package/dist/components/CollectionSummary/RenderListView.test.js +133 -98
- package/dist/components/CollectionSummary/SummaryCard.js +110 -148
- package/dist/components/CollectionSummary/SummaryCard.test.js +961 -993
- package/dist/components/CollectionSummary/SummaryCardButtons.js +71 -0
- package/dist/components/CollectionSummary/SummaryCardButtons.test.js +85 -0
- package/dist/components/CollectionSummary/SummaryCardDetails.js +59 -76
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +170 -180
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +31 -36
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +63 -75
- package/dist/components/CollectionSummary/index.js +1 -1
- package/dist/components/FormComponent/Collection.js +67 -102
- package/dist/components/FormComponent/Collection.test.js +907 -1080
- package/dist/components/FormComponent/Container.js +35 -29
- package/dist/components/FormComponent/Container.test.js +378 -409
- package/dist/components/FormComponent/FormComponent.js +59 -63
- package/dist/components/FormComponent/FormComponent.test.js +354 -415
- 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 +8 -8
- package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
- package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
- package/dist/components/FormComponent/helpers/index.js +5 -5
- package/dist/components/FormComponent/index.js +1 -1
- package/dist/components/FormPage/FormPage.js +99 -88
- package/dist/components/FormPage/FormPage.test.js +173 -164
- package/dist/components/FormPage/index.js +1 -1
- package/dist/components/FormRenderer/FormRenderer.js +138 -174
- package/dist/components/FormRenderer/FormRenderer.test.js +732 -1114
- package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
- package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
- package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
- package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
- package/dist/components/FormRenderer/handlers/index.js +2 -2
- package/dist/components/FormRenderer/handlers/navigate.js +4 -4
- 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 +16 -16
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +17 -21
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -25
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
- package/dist/components/FormRenderer/helpers/getCYA.js +4 -6
- package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getFormState.js +6 -8
- package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getNextPageId.js +14 -25
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
- package/dist/components/FormRenderer/helpers/getPage.js +2 -4
- package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +6 -6
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +104 -98
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +44 -51
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +68 -74
- package/dist/components/FormRenderer/helpers/index.js +2 -2
- package/dist/components/FormRenderer/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +43 -44
- package/dist/components/FormRenderer/onCYAAction.test.js +126 -133
- package/dist/components/FormRenderer/onPageAction.js +26 -35
- package/dist/components/FormRenderer/onPageAction.test.js +177 -186
- package/dist/components/FormRenderer/onTaskAction.js +11 -12
- package/dist/components/FormRenderer/onTaskAction.test.js +63 -68
- package/dist/components/PageActions/ActionButton.js +14 -14
- package/dist/components/PageActions/ActionButton.test.js +57 -79
- package/dist/components/PageActions/PageActions.js +11 -11
- package/dist/components/PageActions/PageActions.test.js +87 -116
- package/dist/components/PageActions/index.js +1 -1
- package/dist/components/SummaryList/GroupAction.js +10 -18
- package/dist/components/SummaryList/GroupAction.test.js +38 -34
- package/dist/components/SummaryList/RowAction.js +12 -17
- package/dist/components/SummaryList/RowAction.test.js +38 -34
- package/dist/components/SummaryList/SummaryList.js +23 -25
- package/dist/components/SummaryList/SummaryList.test.js +162 -189
- package/dist/components/SummaryList/SummaryListHeadingRow.js +7 -5
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +7 -5
- package/dist/components/SummaryList/SummaryListRow.js +7 -5
- package/dist/components/SummaryList/SummaryListTitleRow.js +6 -4
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +23 -23
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +23 -23
- package/dist/components/SummaryList/helpers/index.js +2 -2
- package/dist/components/SummaryList/index.js +1 -1
- package/dist/components/TaskList/Task.js +20 -30
- package/dist/components/TaskList/Task.test.js +84 -77
- package/dist/components/TaskList/TaskList.js +56 -79
- package/dist/components/TaskList/TaskList.test.js +149 -149
- package/dist/components/TaskList/TaskState.js +8 -6
- package/dist/components/TaskList/TaskState.test.js +53 -46
- package/dist/components/TaskList/index.js +1 -1
- package/dist/components/index.js +8 -8
- package/dist/context/HooksContext/HooksContext.js +56 -79
- package/dist/context/HooksContext/HooksContext.test.js +27 -36
- package/dist/context/HooksContext/index.js +3 -4
- package/dist/context/ValidationContext/ValidationContext.js +44 -95
- package/dist/context/ValidationContext/ValidationContext.test.js +57 -69
- package/dist/context/ValidationContext/index.js +3 -4
- package/dist/context/index.js +3 -3
- package/dist/hooks/index.js +10 -11
- package/dist/hooks/useAxios.js +15 -41
- package/dist/hooks/useGetRequest.js +62 -98
- package/dist/hooks/useHooks.js +1 -3
- package/dist/hooks/useRefData.js +25 -37
- package/dist/hooks/useValidation.js +1 -3
- package/dist/index.js +14 -15
- 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 +10 -10
- package/dist/setupTests.js +30 -31
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +12 -21
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +32 -33
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +15 -28
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +41 -42
- package/dist/utils/CheckYourAnswers/getCYARow.js +7 -7
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +19 -21
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +27 -34
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +48 -52
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +79 -93
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +110 -115
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +11 -14
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +146 -98
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +14 -19
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +69 -73
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +7 -8
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +15 -16
- package/dist/utils/CheckYourAnswers/index.js +2 -2
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +5 -5
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -19
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +13 -20
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +48 -39
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
- package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
- package/dist/utils/CollectionPage/getErrorsForCollection.js +20 -21
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +21 -23
- package/dist/utils/CollectionPage/getQuickEditPage.js +22 -23
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +17 -18
- package/dist/utils/CollectionPage/index.js +2 -2
- package/dist/utils/CollectionPage/mergeCollectionPages.js +26 -35
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +18 -18
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +5 -7
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
- package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +25 -25
- package/dist/utils/Component/addShowWhen.js +5 -6
- package/dist/utils/Component/addShowWhen.test.js +38 -38
- package/dist/utils/Component/applyToComponentTree.js +12 -15
- package/dist/utils/Component/applyToComponentTree.test.js +28 -31
- package/dist/utils/Component/cleanAttributes.js +12 -11
- package/dist/utils/Component/cleanAttributes.test.js +17 -18
- package/dist/utils/Component/elevateNestedComponents.js +6 -6
- package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
- package/dist/utils/Component/getComponent.js +81 -83
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +41 -58
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +40 -49
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +24 -34
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +21 -19
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +21 -26
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +11 -10
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +10 -9
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +23 -27
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +201 -174
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +58 -73
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +32 -39
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +21 -30
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +10 -9
- package/dist/utils/Component/getDefaultValue.js +7 -9
- package/dist/utils/Component/getDefaultValue.test.js +13 -13
- package/dist/utils/Component/getDefaultValueFromConfig.js +16 -20
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +32 -32
- package/dist/utils/Component/index.js +2 -2
- package/dist/utils/Component/isEditable.js +2 -4
- package/dist/utils/Component/isEditable.test.js +14 -15
- package/dist/utils/Component/optionIsSelected.js +2 -4
- package/dist/utils/Component/optionIsSelected.test.js +12 -12
- package/dist/utils/Component/setupContainerComponentsPath.js +23 -28
- package/dist/utils/Component/setupContainerComponentsPath.test.js +12 -12
- package/dist/utils/Component/showComponent.js +2 -2
- package/dist/utils/Component/showComponent.test.js +29 -29
- package/dist/utils/Component/wrapInFormGroup.js +4 -4
- package/dist/utils/Condition/index.js +2 -2
- package/dist/utils/Condition/meetsAllConditions.js +9 -9
- package/dist/utils/Condition/meetsAllConditions.test.js +21 -21
- package/dist/utils/Condition/meetsCondition.js +17 -26
- package/dist/utils/Condition/meetsCondition.test.js +403 -403
- package/dist/utils/Condition/meetsOneCondition.js +6 -6
- package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
- package/dist/utils/Condition/setupConditions.js +12 -15
- package/dist/utils/Condition/setupConditions.test.js +8 -8
- package/dist/utils/Container/getEditableComponents.js +4 -6
- package/dist/utils/Container/getEditableComponents.test.js +44 -46
- package/dist/utils/Container/index.js +2 -2
- package/dist/utils/Container/setupNesting.js +14 -15
- package/dist/utils/Container/setupNesting.test.js +20 -23
- package/dist/utils/Container/showContainer.js +4 -8
- package/dist/utils/Container/showContainer.test.js +31 -31
- package/dist/utils/Data/applyFormula.js +30 -44
- package/dist/utils/Data/applyFormula.test.js +21 -21
- package/dist/utils/Data/deleteValues.js +4 -8
- package/dist/utils/Data/deleteValues.test.js +11 -11
- package/dist/utils/Data/getAutocompleteSource.js +19 -27
- package/dist/utils/Data/getAutocompleteSource.test.js +76 -81
- package/dist/utils/Data/getDataPath.js +18 -28
- package/dist/utils/Data/getDataPath.test.js +13 -13
- package/dist/utils/Data/getOptions.js +57 -30
- package/dist/utils/Data/getOptions.test.js +75 -28
- package/dist/utils/Data/getSourceData.js +6 -19
- package/dist/utils/Data/getSourceData.test.js +85 -81
- package/dist/utils/Data/index.js +2 -2
- package/dist/utils/Data/nestInRefdataOptions.js +9 -12
- package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
- package/dist/utils/Data/refDataToOptions.js +9 -10
- package/dist/utils/Data/refDataToOptions.test.js +20 -20
- package/dist/utils/Data/setDataItem.js +7 -8
- package/dist/utils/Data/setDataItem.test.js +38 -38
- package/dist/utils/Data/setupFormData.js +13 -20
- package/dist/utils/Data/setupFormData.test.js +48 -47
- package/dist/utils/Data/setupRefDataUrlForComponent.js +11 -20
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +25 -25
- package/dist/utils/FormPage/applyConditionalProperties.js +7 -8
- package/dist/utils/FormPage/applyConditionalProperties.test.js +14 -15
- package/dist/utils/FormPage/getConditionalText.js +4 -4
- package/dist/utils/FormPage/getConditionalText.test.js +30 -30
- package/dist/utils/FormPage/getFormPage.js +16 -12
- package/dist/utils/FormPage/getFormPage.test.js +23 -24
- package/dist/utils/FormPage/getFormPages.js +8 -11
- package/dist/utils/FormPage/getFormPages.test.js +15 -16
- package/dist/utils/FormPage/getPageActions.js +10 -13
- package/dist/utils/FormPage/getPageActions.test.js +33 -33
- package/dist/utils/FormPage/getParagraphFromText.js +5 -7
- package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
- package/dist/utils/FormPage/index.js +3 -5
- package/dist/utils/FormPage/showFormPage.js +4 -8
- package/dist/utils/FormPage/showFormPage.test.js +33 -33
- package/dist/utils/FormPage/showFormPageCYA.js +2 -2
- package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
- package/dist/utils/FormPage/useComponent.js +25 -22
- package/dist/utils/FormPage/useComponent.test.js +79 -44
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +19 -19
- package/dist/utils/Format/formatDataForComponent.js +6 -7
- package/dist/utils/Format/formatDataForComponent.test.js +50 -78
- package/dist/utils/Format/formatDataForForm.js +5 -6
- package/dist/utils/Format/formatDataForForm.test.js +14 -17
- package/dist/utils/Format/formatDataForPage.js +4 -5
- package/dist/utils/Format/formatDataForPage.test.js +20 -25
- package/dist/utils/Format/index.js +2 -2
- package/dist/utils/Hub/getFormHub.js +2 -2
- package/dist/utils/Hub/getFormHub.test.js +23 -24
- package/dist/utils/Hub/index.js +2 -2
- 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 +25 -17
- package/dist/utils/Meta/documents/index.js +2 -2
- package/dist/utils/Meta/documents/setDocumentsForField.js +12 -13
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +70 -33
- package/dist/utils/Meta/index.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.js +3 -3
- package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
- package/dist/utils/Operate/deleteValueInFormData.js +2 -2
- package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
- package/dist/utils/Operate/getFirstOf.js +6 -6
- package/dist/utils/Operate/getFirstOf.test.js +32 -32
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +11 -11
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
- package/dist/utils/Operate/getLength.js +9 -9
- package/dist/utils/Operate/getLength.test.js +19 -19
- package/dist/utils/Operate/index.js +2 -2
- package/dist/utils/Operate/persistValueInFormData.js +4 -4
- package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
- package/dist/utils/Operate/runPageOperations.js +8 -8
- package/dist/utils/Operate/runPageOperations.test.js +24 -25
- package/dist/utils/Operate/setValueInFormData.js +3 -3
- package/dist/utils/Operate/setValueInFormData.test.js +17 -17
- package/dist/utils/Operate/shouldRun.js +7 -7
- package/dist/utils/Operate/shouldRun.test.js +22 -24
- package/dist/utils/Validate/additional/conditionallyPermittedChange.js +1 -1
- package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +15 -15
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
- package/dist/utils/Validate/additional/index.js +8 -8
- package/dist/utils/Validate/additional/index.test.js +22 -22
- package/dist/utils/Validate/additional/mustBeAfter.js +3 -3
- package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
- package/dist/utils/Validate/additional/mustBeBefore.js +3 -3
- package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +8 -12
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -38
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +3 -3
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeInThePast.js +4 -4
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
- package/dist/utils/Validate/additional/mustBeOneOf.js +1 -1
- package/dist/utils/Validate/additional/mustBeOneOf.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +5 -5
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +35 -36
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +15 -17
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
- package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
- package/dist/utils/Validate/additional/utils.js +9 -22
- package/dist/utils/Validate/index.js +2 -2
- package/dist/utils/Validate/validateCollection.js +18 -23
- package/dist/utils/Validate/validateCollection.test.js +75 -67
- package/dist/utils/Validate/validateComponent.js +19 -19
- package/dist/utils/Validate/validateComponent.test.js +179 -154
- package/dist/utils/Validate/validateContainer.js +14 -17
- package/dist/utils/Validate/validateContainer.test.js +59 -53
- package/dist/utils/Validate/validateDate.js +16 -22
- package/dist/utils/Validate/validateDate.test.js +31 -32
- package/dist/utils/Validate/validateEmail.js +8 -9
- package/dist/utils/Validate/validateEmail.test.js +29 -26
- package/dist/utils/Validate/validateMultifile.js +5 -7
- package/dist/utils/Validate/validateMultifile.test.js +17 -18
- package/dist/utils/Validate/validatePage.js +13 -18
- package/dist/utils/Validate/validatePage.test.js +198 -195
- package/dist/utils/Validate/validateRegex.js +3 -5
- package/dist/utils/Validate/validateRegex.test.js +15 -15
- package/dist/utils/Validate/validateRequired.js +4 -6
- package/dist/utils/Validate/validateRequired.test.js +19 -19
- package/dist/utils/Validate/validateTextArea.js +4 -6
- package/dist/utils/Validate/validateTextArea.test.js +21 -21
- package/dist/utils/Validate/validateTime.js +12 -19
- package/dist/utils/Validate/validateTime.test.js +27 -27
- package/dist/utils/index.js +5 -6
- package/package.json +5 -5
|
@@ -1,26 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _getCYACollectionChangeAction = _interopRequireDefault(require("./getCYACollectionChangeAction"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
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
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
6
5
|
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; }
|
|
7
6
|
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; }
|
|
8
|
-
function _defineProperty(
|
|
9
|
-
function _toPropertyKey(
|
|
10
|
-
function _toPrimitive(
|
|
11
|
-
describe('utils',
|
|
12
|
-
describe('CheckYourAnswers',
|
|
13
|
-
describe('getCYACollectionChangeAction',
|
|
14
|
-
|
|
7
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
8
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
9
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // Local imports
|
|
10
|
+
describe('utils', () => {
|
|
11
|
+
describe('CheckYourAnswers', () => {
|
|
12
|
+
describe('getCYACollectionChangeAction', () => {
|
|
13
|
+
const PAGE = {
|
|
15
14
|
id: 2,
|
|
16
15
|
collection: {
|
|
17
16
|
name: 'collectionName'
|
|
18
17
|
}
|
|
19
18
|
};
|
|
20
|
-
|
|
19
|
+
const ITEM = {
|
|
21
20
|
id: 2
|
|
22
21
|
};
|
|
23
|
-
|
|
22
|
+
let TEST_DATA = {
|
|
24
23
|
page: _objectSpread({}, PAGE),
|
|
25
24
|
collectionName: [{
|
|
26
25
|
id: 1
|
|
@@ -31,28 +30,28 @@ describe('utils', function () {
|
|
|
31
30
|
}],
|
|
32
31
|
collectionNameActiveId: 3
|
|
33
32
|
};
|
|
34
|
-
it('should change activeId to the selected item and call onAction with the correct page',
|
|
35
|
-
|
|
33
|
+
it('should change activeId to the selected item and call onAction with the correct page', () => {
|
|
34
|
+
const ON_ACTION = (row, callback) => {
|
|
36
35
|
expect(row.id).toEqual(2);
|
|
37
36
|
TEST_DATA = callback(TEST_DATA);
|
|
38
37
|
};
|
|
39
|
-
|
|
38
|
+
const action = (0, _getCYACollectionChangeAction.default)(PAGE, ITEM, ON_ACTION, 0, {}, {
|
|
40
39
|
collectionNameActiveId: 2
|
|
41
40
|
});
|
|
42
41
|
action.action.onAction(PAGE);
|
|
43
42
|
expect(TEST_DATA.collectionNameActiveId).toEqual(2);
|
|
44
43
|
});
|
|
45
|
-
it('should change all necessary activeIds when moving to edit a nested collection entry',
|
|
46
|
-
|
|
44
|
+
it('should change all necessary activeIds when moving to edit a nested collection entry', () => {
|
|
45
|
+
const NESTED_COLLECTION_PAGE = {
|
|
47
46
|
id: 'pageid',
|
|
48
47
|
collection: {
|
|
49
48
|
name: 'parent.child.grandchild'
|
|
50
49
|
}
|
|
51
50
|
};
|
|
52
|
-
|
|
51
|
+
const NESTED_ITEM = {
|
|
53
52
|
id: '001'
|
|
54
53
|
};
|
|
55
|
-
|
|
54
|
+
let NESTED_TEST_DATA = {
|
|
56
55
|
parentActiveId: '000',
|
|
57
56
|
childActiveId: '000',
|
|
58
57
|
grandchildActiveId: '000',
|
|
@@ -72,32 +71,32 @@ describe('utils', function () {
|
|
|
72
71
|
}]
|
|
73
72
|
}]
|
|
74
73
|
};
|
|
75
|
-
|
|
74
|
+
const ACTIVE_IDS = {
|
|
76
75
|
parentActiveId: '001',
|
|
77
76
|
childActiveId: '001',
|
|
78
77
|
grandchildActiveId: '001'
|
|
79
78
|
};
|
|
80
|
-
|
|
79
|
+
const ON_ACTION = (row, callback) => {
|
|
81
80
|
expect(row.id).toEqual(2);
|
|
82
81
|
NESTED_TEST_DATA = callback(NESTED_TEST_DATA);
|
|
83
82
|
};
|
|
84
|
-
|
|
83
|
+
const action = (0, _getCYACollectionChangeAction.default)(NESTED_COLLECTION_PAGE, NESTED_ITEM, ON_ACTION, 0, {}, ACTIVE_IDS);
|
|
85
84
|
action.action.onAction(PAGE);
|
|
86
85
|
expect(NESTED_TEST_DATA.parentActiveId).toEqual('001');
|
|
87
86
|
expect(NESTED_TEST_DATA.childActiveId).toEqual('001');
|
|
88
87
|
expect(NESTED_TEST_DATA.grandchildActiveId).toEqual('001');
|
|
89
88
|
});
|
|
90
|
-
it('should not change any active IDs if they are not provided',
|
|
91
|
-
|
|
89
|
+
it('should not change any active IDs if they are not provided', () => {
|
|
90
|
+
const NESTED_COLLECTION_PAGE = {
|
|
92
91
|
id: 'pageid',
|
|
93
92
|
collection: {
|
|
94
93
|
name: 'parent.child.grandchild'
|
|
95
94
|
}
|
|
96
95
|
};
|
|
97
|
-
|
|
96
|
+
const NESTED_ITEM = {
|
|
98
97
|
id: '001'
|
|
99
98
|
};
|
|
100
|
-
|
|
99
|
+
let NESTED_TEST_DATA = {
|
|
101
100
|
parentActiveId: '000',
|
|
102
101
|
childActiveId: '000',
|
|
103
102
|
grandchildActiveId: '000',
|
|
@@ -117,26 +116,26 @@ describe('utils', function () {
|
|
|
117
116
|
}]
|
|
118
117
|
}]
|
|
119
118
|
};
|
|
120
|
-
|
|
119
|
+
const ON_ACTION = (row, callback) => {
|
|
121
120
|
expect(row.id).toEqual(2);
|
|
122
121
|
NESTED_TEST_DATA = callback(NESTED_TEST_DATA);
|
|
123
122
|
};
|
|
124
|
-
|
|
123
|
+
const action = (0, _getCYACollectionChangeAction.default)(NESTED_COLLECTION_PAGE, NESTED_ITEM, ON_ACTION, 0, {});
|
|
125
124
|
action.action.onAction(PAGE);
|
|
126
125
|
expect(NESTED_TEST_DATA.parentActiveId).toEqual('000');
|
|
127
126
|
expect(NESTED_TEST_DATA.childActiveId).toEqual('000');
|
|
128
127
|
expect(NESTED_TEST_DATA.grandchildActiveId).toEqual('000');
|
|
129
128
|
});
|
|
130
|
-
it('should get label to custom value',
|
|
131
|
-
|
|
129
|
+
it('should get label to custom value', () => {
|
|
130
|
+
const action = (0, _getCYACollectionChangeAction.default)(PAGE, ITEM, () => {}, 0, {
|
|
132
131
|
label: 'customName'
|
|
133
132
|
}, {
|
|
134
133
|
collectionNameActiveId: 2
|
|
135
134
|
});
|
|
136
135
|
expect(action.action.label).toEqual('customName');
|
|
137
136
|
});
|
|
138
|
-
it('should call onAction with a custom page',
|
|
139
|
-
|
|
137
|
+
it('should call onAction with a custom page', () => {
|
|
138
|
+
const PAGE_WITH_CUSTOM_DESTINATION = {
|
|
140
139
|
id: 2,
|
|
141
140
|
collection: {
|
|
142
141
|
name: 'collectionName',
|
|
@@ -147,11 +146,11 @@ describe('utils', function () {
|
|
|
147
146
|
}]
|
|
148
147
|
}
|
|
149
148
|
};
|
|
150
|
-
|
|
149
|
+
const ON_ACTION = (page, callback) => {
|
|
151
150
|
expect(page.pageId).toEqual('confirmDelete');
|
|
152
151
|
TEST_DATA = callback(TEST_DATA);
|
|
153
152
|
};
|
|
154
|
-
|
|
153
|
+
const action = (0, _getCYACollectionChangeAction.default)(PAGE_WITH_CUSTOM_DESTINATION, ITEM, ON_ACTION, 0, PAGE_WITH_CUSTOM_DESTINATION.collection.actions[0], {
|
|
155
154
|
collectionNameActiveId: 2
|
|
156
155
|
});
|
|
157
156
|
action.action.onAction({});
|
|
@@ -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
|
});
|
|
@@ -8,22 +7,14 @@ exports.default = void 0;
|
|
|
8
7
|
var _copReactComponents = require("@ukhomeoffice/cop-react-components");
|
|
9
8
|
var _CollectionPage = _interopRequireDefault(require("../CollectionPage"));
|
|
10
9
|
var _models = require("../../models");
|
|
11
|
-
function _interopRequireDefault(
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
11
|
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; }
|
|
13
12
|
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; }
|
|
14
|
-
function _defineProperty(
|
|
15
|
-
function _toPropertyKey(
|
|
16
|
-
function _toPrimitive(
|
|
17
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
18
|
-
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."); }
|
|
19
|
-
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); }
|
|
20
|
-
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; }
|
|
21
|
-
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; } }
|
|
22
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } // Global imports
|
|
13
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
14
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
15
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // Global imports
|
|
23
16
|
// Local imports
|
|
24
|
-
|
|
25
|
-
return typeof value === 'number' && value >= 0;
|
|
26
|
-
};
|
|
17
|
+
const isValidIndex = value => typeof value === 'number' && value >= 0;
|
|
27
18
|
|
|
28
19
|
/**
|
|
29
20
|
* Gets an action object that triggers the removal of an item from a page Collection.
|
|
@@ -36,38 +27,34 @@ var isValidIndex = function isValidIndex(value) {
|
|
|
36
27
|
* @param {array} activeIds A list of active Ids that must be set to make Item the active entry.
|
|
37
28
|
* @returns The resulting action object.
|
|
38
29
|
*/
|
|
39
|
-
|
|
40
|
-
|
|
30
|
+
const getCYACollectionDeleteAction = (page, item, onAction, labelCount, action, activeIds) => {
|
|
31
|
+
const label = (action === null || action === void 0 ? void 0 : action.label) || _models.CollectionLabels.remove;
|
|
41
32
|
return {
|
|
42
33
|
pageId: page.id,
|
|
43
34
|
fieldId: "delete".concat(labelCount),
|
|
44
35
|
key: "delete".concat(labelCount),
|
|
45
36
|
type: 'action',
|
|
46
37
|
action: {
|
|
47
|
-
onAction:
|
|
48
|
-
|
|
49
|
-
|
|
38
|
+
onAction: () => {
|
|
39
|
+
const deleteCallback = cyaData => {
|
|
40
|
+
const data = cyaData;
|
|
50
41
|
if (!activeIds) {
|
|
51
42
|
return data;
|
|
52
43
|
}
|
|
53
44
|
// Apply the activeIds to make sure we're deleting the right item.
|
|
54
45
|
// Not using the spread syntax as data could be a huge object.
|
|
55
|
-
Object.entries(activeIds).forEach(
|
|
56
|
-
|
|
57
|
-
activeIdKey = _entry[0],
|
|
58
|
-
activeId = _entry[1];
|
|
46
|
+
Object.entries(activeIds).forEach(entry => {
|
|
47
|
+
const [activeIdKey, activeId] = entry;
|
|
59
48
|
data[activeIdKey] = activeId;
|
|
60
49
|
});
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
return entry.id === item.id;
|
|
64
|
-
});
|
|
50
|
+
const collectionData = _CollectionPage.default.getData(page.collection.name, data);
|
|
51
|
+
const indexToDelete = collectionData === null || collectionData === void 0 ? void 0 : collectionData.findIndex(entry => entry.id === item.id);
|
|
65
52
|
if (isValidIndex(indexToDelete)) {
|
|
66
53
|
collectionData.splice(indexToDelete, 1);
|
|
67
54
|
}
|
|
68
55
|
return data;
|
|
69
56
|
};
|
|
70
|
-
|
|
57
|
+
onAction(null, deleteCallback);
|
|
71
58
|
},
|
|
72
59
|
label: _copReactComponents.Utils.interpolateString(label, _objectSpread(_objectSpread({}, item), {}, {
|
|
73
60
|
index: labelCount
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _getCYACollectionDeleteAction = _interopRequireDefault(require("./getCYACollectionDeleteAction"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
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
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
6
5
|
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; }
|
|
7
6
|
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; }
|
|
8
|
-
function _defineProperty(
|
|
9
|
-
function _toPropertyKey(
|
|
10
|
-
function _toPrimitive(
|
|
11
|
-
describe('utils',
|
|
12
|
-
describe('CheckYourAnswers',
|
|
13
|
-
describe('getCYACollectionDeleteAction',
|
|
14
|
-
it('should remove selected item from the form data',
|
|
15
|
-
|
|
7
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
8
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
9
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // Local imports
|
|
10
|
+
describe('utils', () => {
|
|
11
|
+
describe('CheckYourAnswers', () => {
|
|
12
|
+
describe('getCYACollectionDeleteAction', () => {
|
|
13
|
+
it('should remove selected item from the form data', () => {
|
|
14
|
+
const PAGE = {
|
|
16
15
|
id: 'pageid',
|
|
17
16
|
collection: {
|
|
18
17
|
name: 'collectionName',
|
|
@@ -21,10 +20,10 @@ describe('utils', function () {
|
|
|
21
20
|
}
|
|
22
21
|
}
|
|
23
22
|
};
|
|
24
|
-
|
|
23
|
+
const ITEM = {
|
|
25
24
|
id: 2
|
|
26
25
|
};
|
|
27
|
-
|
|
26
|
+
const TEST_DATA = {
|
|
28
27
|
page: _objectSpread({}, PAGE),
|
|
29
28
|
collectionName: [{
|
|
30
29
|
id: 1
|
|
@@ -34,27 +33,27 @@ describe('utils', function () {
|
|
|
34
33
|
id: 3
|
|
35
34
|
}]
|
|
36
35
|
};
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
let data = null;
|
|
37
|
+
const ON_ACTION = (_, callback) => {
|
|
39
38
|
data = callback(TEST_DATA);
|
|
40
39
|
};
|
|
41
|
-
|
|
40
|
+
const action = (0, _getCYACollectionDeleteAction.default)(PAGE, ITEM, ON_ACTION, 0, {}, {});
|
|
42
41
|
action.action.onAction();
|
|
43
42
|
expect(data.collectionName.length).toEqual(2);
|
|
44
43
|
expect(data.collectionName[0].id).toEqual(1);
|
|
45
44
|
expect(data.collectionName[1].id).toEqual(3);
|
|
46
45
|
});
|
|
47
|
-
it('should remove nested item from the form data',
|
|
48
|
-
|
|
46
|
+
it('should remove nested item from the form data', () => {
|
|
47
|
+
const PAGE = {
|
|
49
48
|
id: 'pageid',
|
|
50
49
|
collection: {
|
|
51
50
|
name: 'parent.child.grandchild'
|
|
52
51
|
}
|
|
53
52
|
};
|
|
54
|
-
|
|
53
|
+
const ITEM = {
|
|
55
54
|
id: '001'
|
|
56
55
|
};
|
|
57
|
-
|
|
56
|
+
const TEST_DATA = {
|
|
58
57
|
parentActiveId: '000',
|
|
59
58
|
childActiveId: '000',
|
|
60
59
|
grandchildActiveId: '000',
|
|
@@ -74,16 +73,16 @@ describe('utils', function () {
|
|
|
74
73
|
}]
|
|
75
74
|
}]
|
|
76
75
|
};
|
|
77
|
-
|
|
76
|
+
const ACTIVE_IDS = {
|
|
78
77
|
parentActiveId: '001',
|
|
79
78
|
childActiveId: '001',
|
|
80
79
|
grandchildActiveId: '001'
|
|
81
80
|
};
|
|
82
|
-
|
|
83
|
-
|
|
81
|
+
let data = null;
|
|
82
|
+
const ON_ACTION = (_, callback) => {
|
|
84
83
|
data = callback(TEST_DATA);
|
|
85
84
|
};
|
|
86
|
-
|
|
85
|
+
const action = (0, _getCYACollectionDeleteAction.default)(PAGE, ITEM, ON_ACTION, 0, {}, ACTIVE_IDS);
|
|
87
86
|
action.action.onAction();
|
|
88
87
|
expect(data.parentActiveId).toEqual('001');
|
|
89
88
|
expect(data.childActiveId).toEqual('001');
|
|
@@ -91,17 +90,17 @@ describe('utils', function () {
|
|
|
91
90
|
expect(data.parent[1].child[1].grandchild.length).toEqual(1);
|
|
92
91
|
expect(data.parent[1].child[1].grandchild[0].id).toEqual('000');
|
|
93
92
|
});
|
|
94
|
-
it('should do nothing if activeIds are not provided',
|
|
95
|
-
|
|
93
|
+
it('should do nothing if activeIds are not provided', () => {
|
|
94
|
+
const PAGE = {
|
|
96
95
|
id: 'pageid',
|
|
97
96
|
collection: {
|
|
98
97
|
name: 'parent.child.grandchild'
|
|
99
98
|
}
|
|
100
99
|
};
|
|
101
|
-
|
|
100
|
+
const ITEM = {
|
|
102
101
|
id: '001'
|
|
103
102
|
};
|
|
104
|
-
|
|
103
|
+
const TEST_DATA = {
|
|
105
104
|
parentActiveId: '000',
|
|
106
105
|
childActiveId: '000',
|
|
107
106
|
grandchildActiveId: '000',
|
|
@@ -121,28 +120,28 @@ describe('utils', function () {
|
|
|
121
120
|
}]
|
|
122
121
|
}]
|
|
123
122
|
};
|
|
124
|
-
|
|
125
|
-
|
|
123
|
+
let data = null;
|
|
124
|
+
const ON_ACTION = (_, callback) => {
|
|
126
125
|
data = callback(TEST_DATA);
|
|
127
126
|
};
|
|
128
|
-
|
|
127
|
+
const action = (0, _getCYACollectionDeleteAction.default)(PAGE, ITEM, ON_ACTION, 0, {});
|
|
129
128
|
action.action.onAction();
|
|
130
129
|
expect(data.parentActiveId).toEqual('000');
|
|
131
130
|
expect(data.childActiveId).toEqual('000');
|
|
132
131
|
expect(data.grandchildActiveId).toEqual('000');
|
|
133
132
|
expect(data.parent[1].child[1].grandchild.length).toEqual(2);
|
|
134
133
|
});
|
|
135
|
-
it('should do nothing if the activeIds point to an non-existant entry',
|
|
136
|
-
|
|
134
|
+
it('should do nothing if the activeIds point to an non-existant entry', () => {
|
|
135
|
+
const PAGE = {
|
|
137
136
|
id: 'pageid',
|
|
138
137
|
collection: {
|
|
139
138
|
name: 'parent.child.grandchild'
|
|
140
139
|
}
|
|
141
140
|
};
|
|
142
|
-
|
|
141
|
+
const ITEM = {
|
|
143
142
|
id: '001'
|
|
144
143
|
};
|
|
145
|
-
|
|
144
|
+
const TEST_DATA = {
|
|
146
145
|
parentActiveId: '000',
|
|
147
146
|
childActiveId: '000',
|
|
148
147
|
grandchildActiveId: '000',
|
|
@@ -162,21 +161,21 @@ describe('utils', function () {
|
|
|
162
161
|
}]
|
|
163
162
|
}]
|
|
164
163
|
};
|
|
165
|
-
|
|
164
|
+
const ACTIVE_IDS = {
|
|
166
165
|
parentActiveId: 'wrong',
|
|
167
166
|
childActiveId: 'bad',
|
|
168
167
|
grandchildActiveId: 'no'
|
|
169
168
|
};
|
|
170
|
-
|
|
171
|
-
|
|
169
|
+
let data = null;
|
|
170
|
+
const ON_ACTION = (_, callback) => {
|
|
172
171
|
data = callback(TEST_DATA);
|
|
173
172
|
};
|
|
174
|
-
|
|
173
|
+
const action = (0, _getCYACollectionDeleteAction.default)(PAGE, ITEM, ON_ACTION, 0, {}, ACTIVE_IDS);
|
|
175
174
|
action.action.onAction();
|
|
176
175
|
expect(data.parent[1].child[1].grandchild.length).toEqual(2);
|
|
177
176
|
});
|
|
178
|
-
it('should get label to custom value',
|
|
179
|
-
|
|
177
|
+
it('should get label to custom value', () => {
|
|
178
|
+
const PAGE = {
|
|
180
179
|
id: 'pageid',
|
|
181
180
|
collection: {
|
|
182
181
|
name: 'collectionName',
|
|
@@ -185,10 +184,10 @@ describe('utils', function () {
|
|
|
185
184
|
}
|
|
186
185
|
}
|
|
187
186
|
};
|
|
188
|
-
|
|
187
|
+
const ITEM = {
|
|
189
188
|
id: 2
|
|
190
189
|
};
|
|
191
|
-
|
|
190
|
+
const action = (0, _getCYACollectionDeleteAction.default)(PAGE, ITEM, () => {}, 0, {
|
|
192
191
|
label: "customName"
|
|
193
192
|
}, {});
|
|
194
193
|
expect(action.action.label).toEqual('customName');
|
|
@@ -8,18 +8,18 @@ var _copReactComponents = require("@ukhomeoffice/cop-react-components");
|
|
|
8
8
|
var _Component = _interopRequireDefault(require("../Component"));
|
|
9
9
|
var _optionIsSelected = _interopRequireDefault(require("../Component/optionIsSelected"));
|
|
10
10
|
var _getCYAAction = _interopRequireDefault(require("./getCYAAction"));
|
|
11
|
-
function _interopRequireDefault(
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
12
|
// Global imports
|
|
13
13
|
|
|
14
14
|
// Local imports
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
const setNestedValue = (component, page) => {
|
|
17
17
|
var _component$data;
|
|
18
|
-
(_component$data = component.data) === null || _component$data === void 0 || (_component$data = _component$data.options) === null || _component$data === void 0 || _component$data.forEach(
|
|
18
|
+
(_component$data = component.data) === null || _component$data === void 0 || (_component$data = _component$data.options) === null || _component$data === void 0 || _component$data.forEach(option => {
|
|
19
19
|
// check if option is selected and has nested component
|
|
20
20
|
if (Array.isArray(option.nested) && (0, _optionIsSelected.default)(page.formData[component.id], option)) {
|
|
21
|
-
option.nested.forEach(
|
|
22
|
-
|
|
21
|
+
option.nested.forEach(paramChild => {
|
|
22
|
+
const child = paramChild;
|
|
23
23
|
child.value = page.formData[child.id];
|
|
24
24
|
});
|
|
25
25
|
}
|
|
@@ -35,9 +35,9 @@ var setNestedValue = function setNestedValue(component, page) {
|
|
|
35
35
|
*
|
|
36
36
|
* @returns A configuration object for a Check your answers row.
|
|
37
37
|
*/
|
|
38
|
-
|
|
38
|
+
const getCYARow = (page, component, onAction) => {
|
|
39
39
|
var _page$cya_link;
|
|
40
|
-
|
|
40
|
+
let value = '';
|
|
41
41
|
if (page.formData && component.fieldId) {
|
|
42
42
|
value = page.formData[component.fieldId];
|
|
43
43
|
setNestedValue(component, page);
|