@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
|
@@ -2,26 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
var _getCYARowsForCollectionPage = _interopRequireDefault(require("./getCYARowsForCollectionPage"));
|
|
4
4
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
10
|
-
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); } // Local imports
|
|
11
|
-
describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
|
|
12
|
-
var TEXT_COMP = {
|
|
5
|
+
// Local imports
|
|
6
|
+
|
|
7
|
+
describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', () => {
|
|
8
|
+
const TEXT_COMP = {
|
|
13
9
|
id: 'testText',
|
|
14
10
|
fieldId: 'testText',
|
|
15
11
|
label: 'Test text',
|
|
16
12
|
type: 'text'
|
|
17
13
|
};
|
|
18
|
-
|
|
14
|
+
const DATE_COMP = {
|
|
19
15
|
id: 'testDate',
|
|
20
16
|
fieldId: 'testDate',
|
|
21
17
|
label: 'Test date',
|
|
22
18
|
type: 'date'
|
|
23
19
|
};
|
|
24
|
-
|
|
20
|
+
const PAGES = [{
|
|
25
21
|
id: 'page1',
|
|
26
22
|
collection: {
|
|
27
23
|
name: 'collection'
|
|
@@ -34,7 +30,7 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
|
|
|
34
30
|
},
|
|
35
31
|
components: [DATE_COMP]
|
|
36
32
|
}];
|
|
37
|
-
|
|
33
|
+
const MASTER_PAGE = {
|
|
38
34
|
id: 'page1',
|
|
39
35
|
collection: {
|
|
40
36
|
name: 'collection',
|
|
@@ -55,73 +51,80 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
|
|
|
55
51
|
},
|
|
56
52
|
childPages: PAGES
|
|
57
53
|
};
|
|
58
|
-
it('should return no rows for a collection if it does not exist in formData',
|
|
59
|
-
|
|
60
|
-
|
|
54
|
+
it('should return no rows for a collection if it does not exist in formData', () => {
|
|
55
|
+
const FORM_DATA = {};
|
|
56
|
+
const PAGE = {
|
|
57
|
+
...MASTER_PAGE,
|
|
61
58
|
formData: FORM_DATA
|
|
62
|
-
}
|
|
63
|
-
|
|
59
|
+
};
|
|
60
|
+
const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
|
|
64
61
|
expect(ROWS.length).toEqual(0);
|
|
65
62
|
});
|
|
66
|
-
it('should return no rows for a collection if it has no entries',
|
|
67
|
-
|
|
63
|
+
it('should return no rows for a collection if it has no entries', () => {
|
|
64
|
+
const FORM_DATA = {
|
|
68
65
|
collection: []
|
|
69
66
|
};
|
|
70
|
-
|
|
67
|
+
const PAGE = {
|
|
68
|
+
...MASTER_PAGE,
|
|
71
69
|
formData: FORM_DATA
|
|
72
|
-
}
|
|
73
|
-
|
|
70
|
+
};
|
|
71
|
+
const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
|
|
74
72
|
expect(ROWS.length).toEqual(0);
|
|
75
73
|
});
|
|
76
|
-
it('should accept the hideNameFromCYA collection flag',
|
|
77
|
-
|
|
74
|
+
it('should accept the hideNameFromCYA collection flag', () => {
|
|
75
|
+
const FORM_DATA = {
|
|
78
76
|
collection: [{
|
|
79
77
|
testText: 'hello'
|
|
80
78
|
}]
|
|
81
79
|
};
|
|
82
|
-
|
|
80
|
+
const PAGE = {
|
|
81
|
+
...MASTER_PAGE,
|
|
83
82
|
formData: FORM_DATA,
|
|
84
|
-
collection:
|
|
83
|
+
collection: {
|
|
84
|
+
...MASTER_PAGE.collection,
|
|
85
85
|
hideNameFromCYA: true
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
const TITLE_FIELD_ID = "".concat(PAGE.collection.name, "Title");
|
|
89
|
+
const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
|
|
90
90
|
expect(ROWS[0].fieldId).not.toEqual(TITLE_FIELD_ID);
|
|
91
91
|
});
|
|
92
|
-
it('should format titles correctly when collection.labels.item is specified',
|
|
93
|
-
|
|
92
|
+
it('should format titles correctly when collection.labels.item is specified', () => {
|
|
93
|
+
const FORM_DATA = {
|
|
94
94
|
collection: [{
|
|
95
95
|
id: '01',
|
|
96
96
|
testText: 'value'
|
|
97
97
|
}]
|
|
98
98
|
};
|
|
99
|
-
|
|
99
|
+
const PAGE = {
|
|
100
|
+
...MASTER_PAGE,
|
|
100
101
|
formData: FORM_DATA
|
|
101
|
-
}
|
|
102
|
-
|
|
102
|
+
};
|
|
103
|
+
const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
|
|
103
104
|
expect(ROWS.length).toEqual(7); // Collection title, item title, action rows & component rows
|
|
104
105
|
expect(ROWS[1].key).toEqual('Collection entry 1');
|
|
105
106
|
});
|
|
106
|
-
it('should provide default titles if collection.labels.item is not specified',
|
|
107
|
-
|
|
107
|
+
it('should provide default titles if collection.labels.item is not specified', () => {
|
|
108
|
+
const FORM_DATA = {
|
|
108
109
|
collection: [{
|
|
109
110
|
id: '01',
|
|
110
111
|
testText: 'value'
|
|
111
112
|
}]
|
|
112
113
|
};
|
|
113
|
-
|
|
114
|
-
|
|
114
|
+
const PAGE = {
|
|
115
|
+
...MASTER_PAGE,
|
|
116
|
+
collection: {
|
|
117
|
+
...MASTER_PAGE.collection,
|
|
115
118
|
labels: {}
|
|
116
|
-
}
|
|
119
|
+
},
|
|
117
120
|
formData: FORM_DATA
|
|
118
|
-
}
|
|
119
|
-
|
|
121
|
+
};
|
|
122
|
+
const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
|
|
120
123
|
expect(ROWS.length).toEqual(7); // Collection title, item title, action rows & component rows
|
|
121
124
|
expect(ROWS[1].key).toEqual('Item 1');
|
|
122
125
|
});
|
|
123
|
-
it('should return correctly formatted rows for mutliple entries',
|
|
124
|
-
|
|
126
|
+
it('should return correctly formatted rows for mutliple entries', () => {
|
|
127
|
+
const FORM_DATA = {
|
|
125
128
|
collection: [{
|
|
126
129
|
id: '01',
|
|
127
130
|
testText: 'value'
|
|
@@ -130,10 +133,11 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
|
|
|
130
133
|
testText: 'value'
|
|
131
134
|
}]
|
|
132
135
|
};
|
|
133
|
-
|
|
136
|
+
const PAGE = {
|
|
137
|
+
...MASTER_PAGE,
|
|
134
138
|
formData: FORM_DATA
|
|
135
|
-
}
|
|
136
|
-
|
|
139
|
+
};
|
|
140
|
+
const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
|
|
137
141
|
expect(ROWS.length).toEqual(13); // Title row + component row for each item
|
|
138
142
|
expect(ROWS[0]).toMatchObject({
|
|
139
143
|
type: 'heading',
|
|
@@ -170,20 +174,22 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
|
|
|
170
174
|
key: 'Test date'
|
|
171
175
|
});
|
|
172
176
|
});
|
|
173
|
-
it('should use values from top-level formData if they don\'t exist in the item',
|
|
174
|
-
|
|
177
|
+
it('should use values from top-level formData if they don\'t exist in the item', () => {
|
|
178
|
+
const FORM_DATA = {
|
|
175
179
|
testText: 'value',
|
|
176
180
|
collection: [{
|
|
177
181
|
id: '01'
|
|
178
182
|
}]
|
|
179
183
|
};
|
|
180
|
-
|
|
181
|
-
|
|
184
|
+
const PAGE = {
|
|
185
|
+
...MASTER_PAGE,
|
|
186
|
+
childPages: [{
|
|
187
|
+
...PAGES[0],
|
|
182
188
|
formData: FORM_DATA
|
|
183
|
-
}
|
|
189
|
+
}, PAGES[1]],
|
|
184
190
|
formData: FORM_DATA
|
|
185
|
-
}
|
|
186
|
-
|
|
191
|
+
};
|
|
192
|
+
const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
|
|
187
193
|
expect(ROWS.length).toEqual(7); // Title row + component row for each item
|
|
188
194
|
expect(ROWS[0]).toMatchObject({
|
|
189
195
|
type: 'heading',
|
|
@@ -205,8 +211,8 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
|
|
|
205
211
|
key: 'Test date'
|
|
206
212
|
});
|
|
207
213
|
});
|
|
208
|
-
it('should return correctly formatted rows for only the active entry when page.collection.onlyShowActiveEntryOnCYA is defined',
|
|
209
|
-
|
|
214
|
+
it('should return correctly formatted rows for only the active entry when page.collection.onlyShowActiveEntryOnCYA is defined', () => {
|
|
215
|
+
const FORM_DATA = {
|
|
210
216
|
collectionActiveId: '02',
|
|
211
217
|
collection: [{
|
|
212
218
|
id: '01',
|
|
@@ -216,13 +222,15 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
|
|
|
216
222
|
testText: 'value'
|
|
217
223
|
}]
|
|
218
224
|
};
|
|
219
|
-
|
|
220
|
-
|
|
225
|
+
const PAGE = {
|
|
226
|
+
...MASTER_PAGE,
|
|
227
|
+
collection: {
|
|
228
|
+
...MASTER_PAGE.collection,
|
|
221
229
|
onlyShowActiveEntryOnCYA: true
|
|
222
|
-
}
|
|
230
|
+
},
|
|
223
231
|
formData: FORM_DATA
|
|
224
|
-
}
|
|
225
|
-
|
|
232
|
+
};
|
|
233
|
+
const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
|
|
226
234
|
expect(ROWS.length).toEqual(7); // Title row + component row for only the active item.
|
|
227
235
|
expect(ROWS[0]).toMatchObject({
|
|
228
236
|
type: 'heading',
|
|
@@ -244,8 +252,8 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
|
|
|
244
252
|
key: 'Test date'
|
|
245
253
|
});
|
|
246
254
|
});
|
|
247
|
-
it('should return correctly formatted rows for only the active entry when page.collection.onlyShowActiveEntryOnCYA is an array',
|
|
248
|
-
|
|
255
|
+
it('should return correctly formatted rows for only the active entry when page.collection.onlyShowActiveEntryOnCYA is an array', () => {
|
|
256
|
+
const FORM_DATA = {
|
|
249
257
|
text: 'blue',
|
|
250
258
|
collectionActiveId: '02',
|
|
251
259
|
collection: [{
|
|
@@ -256,17 +264,19 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
|
|
|
256
264
|
testText: 'value'
|
|
257
265
|
}]
|
|
258
266
|
};
|
|
259
|
-
|
|
260
|
-
|
|
267
|
+
const PAGE = {
|
|
268
|
+
...MASTER_PAGE,
|
|
269
|
+
collection: {
|
|
270
|
+
...MASTER_PAGE.collection,
|
|
261
271
|
onlyShowActiveEntryOnCYA: [{
|
|
262
272
|
field: 'text',
|
|
263
273
|
op: 'eq',
|
|
264
274
|
value: 'blue'
|
|
265
275
|
}]
|
|
266
|
-
}
|
|
276
|
+
},
|
|
267
277
|
formData: FORM_DATA
|
|
268
|
-
}
|
|
269
|
-
|
|
278
|
+
};
|
|
279
|
+
const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
|
|
270
280
|
expect(ROWS.length).toEqual(7); // Title row + component row for only the active item.
|
|
271
281
|
expect(ROWS[0]).toMatchObject({
|
|
272
282
|
type: 'heading',
|
|
@@ -288,8 +298,8 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
|
|
|
288
298
|
key: 'Test date'
|
|
289
299
|
});
|
|
290
300
|
});
|
|
291
|
-
it('should exclude components that should not be shown',
|
|
292
|
-
|
|
301
|
+
it('should exclude components that should not be shown', () => {
|
|
302
|
+
const FD = {
|
|
293
303
|
collection: [{
|
|
294
304
|
id: '01',
|
|
295
305
|
otherField: 'yes',
|
|
@@ -300,12 +310,14 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
|
|
|
300
310
|
testText: 'testing'
|
|
301
311
|
}]
|
|
302
312
|
};
|
|
303
|
-
|
|
313
|
+
const PAGE = {
|
|
314
|
+
...MASTER_PAGE,
|
|
304
315
|
collection: {
|
|
305
316
|
name: 'collection'
|
|
306
317
|
},
|
|
307
318
|
formData: FD,
|
|
308
|
-
childPages: [
|
|
319
|
+
childPages: [{
|
|
320
|
+
...PAGES[0],
|
|
309
321
|
components: [{
|
|
310
322
|
id: 'testText',
|
|
311
323
|
fieldId: 'testText',
|
|
@@ -317,9 +329,9 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
|
|
|
317
329
|
value: "yes"
|
|
318
330
|
}
|
|
319
331
|
}]
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
|
|
332
|
+
}]
|
|
333
|
+
};
|
|
334
|
+
const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FD);
|
|
323
335
|
expect(ROWS.length).toEqual(4);
|
|
324
336
|
expect(ROWS[0]).toMatchObject({
|
|
325
337
|
type: 'heading',
|
|
@@ -338,28 +350,30 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
|
|
|
338
350
|
key: 'Test text'
|
|
339
351
|
});
|
|
340
352
|
});
|
|
341
|
-
it('should exclude pages that should not be shown',
|
|
342
|
-
|
|
353
|
+
it('should exclude pages that should not be shown', () => {
|
|
354
|
+
const FD = {
|
|
343
355
|
collection: [{
|
|
344
356
|
id: '01',
|
|
345
357
|
otherField: 'yes',
|
|
346
358
|
testText: 'testing'
|
|
347
359
|
}]
|
|
348
360
|
};
|
|
349
|
-
|
|
361
|
+
const PAGE = {
|
|
362
|
+
...MASTER_PAGE,
|
|
350
363
|
collection: {
|
|
351
364
|
name: 'collection'
|
|
352
365
|
},
|
|
353
366
|
formData: FD,
|
|
354
|
-
childPages: [
|
|
367
|
+
childPages: [{
|
|
368
|
+
...PAGES[0],
|
|
355
369
|
show_when: {
|
|
356
370
|
field: "otherField",
|
|
357
371
|
op: "!=",
|
|
358
372
|
value: "yes"
|
|
359
373
|
}
|
|
360
|
-
}
|
|
361
|
-
}
|
|
362
|
-
|
|
374
|
+
}, PAGES[1]]
|
|
375
|
+
};
|
|
376
|
+
const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FD);
|
|
363
377
|
expect(ROWS.length).toEqual(3); // Missing the page with the text component on.
|
|
364
378
|
expect(ROWS[0]).toMatchObject({
|
|
365
379
|
type: 'heading',
|
|
@@ -374,25 +388,28 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
|
|
|
374
388
|
key: 'Test date'
|
|
375
389
|
});
|
|
376
390
|
});
|
|
377
|
-
it('should include rows for custom headings',
|
|
378
|
-
|
|
391
|
+
it('should include rows for custom headings', () => {
|
|
392
|
+
const FORM_DATA = {
|
|
379
393
|
collection: [{
|
|
380
394
|
id: '01',
|
|
381
395
|
testText: 'value'
|
|
382
396
|
}]
|
|
383
397
|
};
|
|
384
|
-
|
|
398
|
+
const PAGE = {
|
|
399
|
+
...MASTER_PAGE,
|
|
385
400
|
formData: FORM_DATA,
|
|
386
|
-
childPages: [
|
|
387
|
-
|
|
401
|
+
childPages: [{
|
|
402
|
+
...PAGES[0],
|
|
403
|
+
collection: {
|
|
404
|
+
...PAGES[0].collection,
|
|
388
405
|
heading: {
|
|
389
406
|
size: 'm',
|
|
390
407
|
text: 'Custom page heading'
|
|
391
408
|
}
|
|
392
|
-
}
|
|
393
|
-
}
|
|
394
|
-
}
|
|
395
|
-
|
|
409
|
+
}
|
|
410
|
+
}]
|
|
411
|
+
};
|
|
412
|
+
const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
|
|
396
413
|
expect(ROWS.length).toEqual(7);
|
|
397
414
|
expect(ROWS[0]).toMatchObject({
|
|
398
415
|
type: 'heading',
|
|
@@ -415,99 +432,106 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
|
|
|
415
432
|
key: 'Test text'
|
|
416
433
|
});
|
|
417
434
|
});
|
|
418
|
-
it('should default to a title size of small if one is not specified',
|
|
419
|
-
|
|
435
|
+
it('should default to a title size of small if one is not specified', () => {
|
|
436
|
+
const FORM_DATA = {
|
|
420
437
|
collection: [{
|
|
421
438
|
id: '01',
|
|
422
439
|
testText: 'value'
|
|
423
440
|
}]
|
|
424
441
|
};
|
|
425
|
-
|
|
442
|
+
const PAGE = {
|
|
443
|
+
...MASTER_PAGE,
|
|
426
444
|
formData: FORM_DATA,
|
|
427
|
-
childPages: [
|
|
428
|
-
|
|
445
|
+
childPages: [{
|
|
446
|
+
...PAGES[0],
|
|
447
|
+
collection: {
|
|
448
|
+
...PAGES[0].collection,
|
|
429
449
|
heading: {
|
|
430
450
|
text: 'Custom page heading'
|
|
431
451
|
}
|
|
432
|
-
}
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
-
|
|
452
|
+
}
|
|
453
|
+
}]
|
|
454
|
+
};
|
|
455
|
+
const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
|
|
436
456
|
expect(ROWS[5]).toMatchObject({
|
|
437
457
|
type: 'heading',
|
|
438
458
|
key: 'Custom page heading',
|
|
439
459
|
size: 's'
|
|
440
460
|
});
|
|
441
461
|
});
|
|
442
|
-
it('should position actions under the title if actionPosition flag is not specified',
|
|
443
|
-
|
|
462
|
+
it('should position actions under the title if actionPosition flag is not specified', () => {
|
|
463
|
+
const FORM_DATA = {
|
|
444
464
|
collection: [{
|
|
445
465
|
id: '01',
|
|
446
466
|
testText: 'value'
|
|
447
467
|
}]
|
|
448
468
|
};
|
|
449
|
-
|
|
469
|
+
const PAGE = {
|
|
470
|
+
...MASTER_PAGE,
|
|
450
471
|
formData: FORM_DATA
|
|
451
|
-
}
|
|
452
|
-
|
|
472
|
+
};
|
|
473
|
+
const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
|
|
453
474
|
expect(ROWS[2].action.label).toEqual('Change');
|
|
454
475
|
expect(ROWS[3].action.label).toEqual('custom remove label');
|
|
455
476
|
expect(ROWS[4].action.label).toEqual('custom change label');
|
|
456
477
|
});
|
|
457
|
-
it('should position actions under the title if actionPosition flag is top',
|
|
458
|
-
|
|
478
|
+
it('should position actions under the title if actionPosition flag is top', () => {
|
|
479
|
+
const FORM_DATA = {
|
|
459
480
|
collection: [{
|
|
460
481
|
id: '01',
|
|
461
482
|
testText: 'value'
|
|
462
483
|
}]
|
|
463
484
|
};
|
|
464
|
-
|
|
465
|
-
|
|
485
|
+
const PAGE = {
|
|
486
|
+
...MASTER_PAGE,
|
|
487
|
+
collection: {
|
|
488
|
+
...MASTER_PAGE.collection,
|
|
466
489
|
actionPosition: 'top'
|
|
467
|
-
}
|
|
490
|
+
},
|
|
468
491
|
formData: FORM_DATA
|
|
469
|
-
}
|
|
470
|
-
|
|
492
|
+
};
|
|
493
|
+
const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
|
|
471
494
|
expect(ROWS[2].action.label).toEqual('Change');
|
|
472
495
|
expect(ROWS[3].action.label).toEqual('custom remove label');
|
|
473
496
|
expect(ROWS[4].action.label).toEqual('custom change label');
|
|
474
497
|
});
|
|
475
|
-
it('should position actions under all other rows if actionPosition flag is bottom',
|
|
476
|
-
|
|
498
|
+
it('should position actions under all other rows if actionPosition flag is bottom', () => {
|
|
499
|
+
const FORM_DATA = {
|
|
477
500
|
collection: [{
|
|
478
501
|
id: '01',
|
|
479
502
|
testText: 'value'
|
|
480
503
|
}]
|
|
481
504
|
};
|
|
482
|
-
|
|
483
|
-
|
|
505
|
+
const PAGE = {
|
|
506
|
+
...MASTER_PAGE,
|
|
507
|
+
collection: {
|
|
508
|
+
...MASTER_PAGE.collection,
|
|
484
509
|
actionPosition: 'bottom'
|
|
485
|
-
}
|
|
510
|
+
},
|
|
486
511
|
formData: FORM_DATA
|
|
487
|
-
}
|
|
488
|
-
|
|
512
|
+
};
|
|
513
|
+
const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, FORM_DATA);
|
|
489
514
|
expect(ROWS[ROWS.length - 3].action.label).toEqual('Change');
|
|
490
515
|
expect(ROWS[ROWS.length - 2].action.label).toEqual('custom remove label');
|
|
491
516
|
expect(ROWS[ROWS.length - 1].action.label).toEqual('custom change label');
|
|
492
517
|
});
|
|
493
|
-
it('should ignore the result of the override function if it returns nullish',
|
|
494
|
-
|
|
518
|
+
it('should ignore the result of the override function if it returns nullish', () => {
|
|
519
|
+
const FORM_DATA = {
|
|
495
520
|
collection: [{
|
|
496
521
|
id: '01',
|
|
497
522
|
testText: 'value'
|
|
498
523
|
}]
|
|
499
524
|
};
|
|
500
|
-
|
|
525
|
+
const PAGE = {
|
|
526
|
+
...MASTER_PAGE,
|
|
501
527
|
formData: FORM_DATA
|
|
502
|
-
}
|
|
503
|
-
|
|
504
|
-
return null;
|
|
505
|
-
}, FORM_DATA);
|
|
528
|
+
};
|
|
529
|
+
const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, () => null, FORM_DATA);
|
|
506
530
|
expect(ROWS.length).toEqual(7); // Collection title, item title, action rows & component rows
|
|
507
531
|
expect(ROWS[5].key).toEqual("Test text");
|
|
508
532
|
});
|
|
509
|
-
it('should use the rows produced by the override function if provided',
|
|
510
|
-
|
|
533
|
+
it('should use the rows produced by the override function if provided', () => {
|
|
534
|
+
const FORM_DATA = {
|
|
511
535
|
collection: [{
|
|
512
536
|
id: '01',
|
|
513
537
|
testText: 'value'
|
|
@@ -515,22 +539,23 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
|
|
|
515
539
|
};
|
|
516
540
|
|
|
517
541
|
// eslint-disable-next-line arrow-body-style
|
|
518
|
-
|
|
542
|
+
const OVERRIDE = (page, comp) => {
|
|
519
543
|
// This will be called for each component on the page,
|
|
520
544
|
// returning a custom row object.
|
|
521
545
|
return {
|
|
522
546
|
key: "CustomRowFor".concat(comp.label)
|
|
523
547
|
};
|
|
524
548
|
};
|
|
525
|
-
|
|
549
|
+
const PAGE = {
|
|
550
|
+
...MASTER_PAGE,
|
|
526
551
|
formData: FORM_DATA
|
|
527
|
-
}
|
|
528
|
-
|
|
552
|
+
};
|
|
553
|
+
const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, OVERRIDE, FORM_DATA);
|
|
529
554
|
expect(ROWS.length).toEqual(7); // Collection title, item title, action rows & component rows
|
|
530
555
|
expect(ROWS[5].key).toEqual("CustomRowFor".concat(TEXT_COMP.label));
|
|
531
556
|
});
|
|
532
|
-
it('should create rows for nested collections correctly',
|
|
533
|
-
|
|
557
|
+
it('should create rows for nested collections correctly', () => {
|
|
558
|
+
const CUSTOM_FORM_DATA = {
|
|
534
559
|
parentActiveId: '001',
|
|
535
560
|
childActiveId: '001',
|
|
536
561
|
parent: [{
|
|
@@ -542,7 +567,7 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
|
|
|
542
567
|
}]
|
|
543
568
|
}]
|
|
544
569
|
};
|
|
545
|
-
|
|
570
|
+
const CHILD_MASTER_PAGE = {
|
|
546
571
|
id: 'childPage',
|
|
547
572
|
collection: {
|
|
548
573
|
name: 'parent.child',
|
|
@@ -566,7 +591,7 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
|
|
|
566
591
|
components: [TEXT_COMP]
|
|
567
592
|
}]
|
|
568
593
|
};
|
|
569
|
-
|
|
594
|
+
const PARENT_MASTER_PAGE = {
|
|
570
595
|
id: 'parentPage',
|
|
571
596
|
collection: {
|
|
572
597
|
name: 'parent',
|
|
@@ -580,10 +605,11 @@ describe('utils.CheckYourAnswers.getCYARowsForCollectionPage', function () {
|
|
|
580
605
|
components: [TEXT_COMP]
|
|
581
606
|
}, CHILD_MASTER_PAGE]
|
|
582
607
|
};
|
|
583
|
-
|
|
608
|
+
const PAGE = {
|
|
609
|
+
...PARENT_MASTER_PAGE,
|
|
584
610
|
formData: CUSTOM_FORM_DATA
|
|
585
|
-
}
|
|
586
|
-
|
|
611
|
+
};
|
|
612
|
+
const ROWS = (0, _getCYARowsForCollectionPage.default)(PAGE, null, null, CUSTOM_FORM_DATA);
|
|
587
613
|
expect(ROWS.length).toEqual(8);
|
|
588
614
|
expect(ROWS[0]).toMatchObject({
|
|
589
615
|
type: 'heading',
|
|
@@ -10,36 +10,41 @@ var _getCYARow = _interopRequireDefault(require("./getCYARow"));
|
|
|
10
10
|
var _getCYARowsForCollection = _interopRequireDefault(require("./getCYARowsForCollection"));
|
|
11
11
|
var _showComponentCYA = _interopRequireDefault(require("./showComponentCYA"));
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}).flatMap(
|
|
25
|
-
|
|
13
|
+
// Local imports
|
|
14
|
+
|
|
15
|
+
const getCYARowsForContainer = (page, container, formData, onAction, fnOverride) => {
|
|
16
|
+
if ((0, _showComponentCYA.default)(container, {
|
|
17
|
+
...page.formData,
|
|
18
|
+
...formData
|
|
19
|
+
})) {
|
|
20
|
+
const allComponents = (0, _elevateNestedComponents.default)(container.components, formData);
|
|
21
|
+
return allComponents.filter(c => (0, _showComponentCYA.default)(c, {
|
|
22
|
+
...page.formData,
|
|
23
|
+
...formData
|
|
24
|
+
})).flatMap(component => {
|
|
25
|
+
const fd = formData ? formData[component.fieldId] : undefined;
|
|
26
26
|
if (typeof fnOverride === 'function') {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
const overrideRows = fnOverride({
|
|
28
|
+
...page,
|
|
29
|
+
formData
|
|
30
|
+
}, component, onAction);
|
|
30
31
|
if (overrideRows) {
|
|
31
32
|
return overrideRows;
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
35
|
if (component.type === _models.ComponentTypes.CONTAINER) {
|
|
35
|
-
return getCYARowsForContainer(page, component,
|
|
36
|
+
return getCYARowsForContainer(page, component, {
|
|
37
|
+
...fd,
|
|
38
|
+
...formData
|
|
39
|
+
}, onAction, fnOverride);
|
|
36
40
|
}
|
|
37
41
|
if (component.type === _models.ComponentTypes.COLLECTION) {
|
|
38
42
|
return (0, _getCYARowsForCollection.default)(page, component, fd, onAction, fnOverride);
|
|
39
43
|
}
|
|
40
|
-
return (0, _getCYARow.default)(
|
|
41
|
-
|
|
42
|
-
|
|
44
|
+
return (0, _getCYARow.default)({
|
|
45
|
+
...page,
|
|
46
|
+
formData
|
|
47
|
+
}, component, onAction);
|
|
43
48
|
});
|
|
44
49
|
}
|
|
45
50
|
return null;
|