@ukhomeoffice/cop-react-form-renderer 5.45.1 → 5.45.2-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 +464 -769
- package/dist/components/CollectionPage/CollectionPage.js +66 -58
- package/dist/components/CollectionPage/CollectionPage.test.js +300 -342
- package/dist/components/CollectionSummary/BannerStrip.js +12 -12
- package/dist/components/CollectionSummary/BannerStrip.test.js +63 -59
- package/dist/components/CollectionSummary/CollectionSummary.js +60 -75
- package/dist/components/CollectionSummary/CollectionSummary.test.js +102 -96
- package/dist/components/CollectionSummary/Confirmation.js +14 -12
- package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
- package/dist/components/CollectionSummary/SummaryCard.js +93 -133
- package/dist/components/CollectionSummary/SummaryCard.test.js +902 -924
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +23 -29
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +61 -73
- package/dist/components/FormComponent/Collection.js +73 -107
- package/dist/components/FormComponent/Collection.test.js +809 -945
- package/dist/components/FormComponent/Container.js +40 -38
- package/dist/components/FormComponent/Container.test.js +314 -345
- package/dist/components/FormComponent/FormComponent.js +67 -70
- package/dist/components/FormComponent/FormComponent.test.js +284 -342
- 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 +142 -178
- 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 +9 -9
- 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 +97 -91
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +62 -60
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +71 -73
- package/dist/components/FormRenderer/helpers/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +59 -51
- package/dist/components/FormRenderer/onCYAAction.test.js +164 -152
- package/dist/components/FormRenderer/onPageAction.js +43 -39
- package/dist/components/FormRenderer/onPageAction.test.js +223 -206
- 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 +58 -79
- package/dist/context/HooksContext/HooksContext.test.js +26 -35
- package/dist/context/HooksContext/index.js +3 -4
- package/dist/context/ValidationContext/ValidationContext.js +32 -72
- package/dist/context/ValidationContext/ValidationContext.test.js +47 -59
- 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 +30 -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 -60
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +79 -88
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +146 -124
- 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/index.js +1 -1
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +24 -24
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +1 -1
- 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 -17
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +9 -18
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +27 -22
- 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/getQuickEditPage.js +19 -19
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +12 -16
- package/dist/utils/CollectionPage/index.js +1 -1
- package/dist/utils/CollectionPage/mergeCollectionPages.js +29 -30
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +17 -17
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +4 -6
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
- package/dist/utils/CollectionPage/setCollectionPageData.js +8 -12
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +17 -17
- 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 -70
- 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 +7 -7
- package/dist/utils/Condition/meetsAllConditions.test.js +17 -17
- package/dist/utils/Condition/meetsCondition.js +14 -17
- package/dist/utils/Condition/meetsCondition.test.js +376 -376
- 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 +19 -25
- package/dist/utils/Data/getOptions.test.js +20 -20
- 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/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/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/getPageTitle.js +2 -2
- package/dist/utils/FormPage/getPageTitle.test.js +22 -22
- package/dist/utils/FormPage/getParagraphFromText.js +5 -7
- package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
- package/dist/utils/FormPage/index.js +1 -1
- 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 +78 -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 -77
- package/dist/utils/Format/formatDataForForm.js +6 -8
- package/dist/utils/Format/formatDataForForm.test.js +13 -15
- package/dist/utils/Format/formatDataForPage.js +4 -5
- package/dist/utils/Format/formatDataForPage.test.js +20 -23
- 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 -46
- 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 -26
- 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/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 +14 -19
- package/dist/utils/Validate/validateContainer.test.js +49 -45
- package/dist/utils/Validate/validateDate.js +11 -17
- package/dist/utils/Validate/validateDate.test.js +28 -29
- 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 +17 -18
- package/dist/utils/Validate/validatePage.test.js +185 -182
- 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 +7 -14
- package/dist/utils/Validate/validateTime.test.js +14 -14
- package/dist/utils/index.js +7 -9
- package/package.json +1 -1
|
@@ -8,13 +8,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
8
8
|
var _FormComponent = _interopRequireDefault(require("../../components/FormComponent"));
|
|
9
9
|
var _getCYAAction = _interopRequireDefault(require("./getCYAAction"));
|
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
|
|
12
|
-
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
|
-
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(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
15
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
16
|
-
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); }
|
|
17
|
-
var getRowValue = function getRowValue(row) {
|
|
11
|
+
const getRowValue = row => {
|
|
18
12
|
if (!row.value) {
|
|
19
13
|
return null;
|
|
20
14
|
}
|
|
@@ -24,43 +18,43 @@ var getRowValue = function getRowValue(row) {
|
|
|
24
18
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
25
19
|
key: row.id
|
|
26
20
|
}, /*#__PURE__*/_react.default.createElement(_FormComponent.default, {
|
|
27
|
-
component:
|
|
21
|
+
component: {
|
|
22
|
+
...row.component,
|
|
28
23
|
readonly: true
|
|
29
|
-
}
|
|
24
|
+
},
|
|
30
25
|
wrap: false,
|
|
31
26
|
value: row.value
|
|
32
27
|
}));
|
|
33
28
|
};
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
return r.id === componentId;
|
|
39
|
-
});
|
|
29
|
+
const getGroupValue = (group, rows) => {
|
|
30
|
+
let firstComponentIndex = -1;
|
|
31
|
+
const value = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, group.components.map(componentId => {
|
|
32
|
+
const rowIndex = rows.findIndex(r => r.id === componentId);
|
|
40
33
|
if (firstComponentIndex < 0) {
|
|
41
34
|
firstComponentIndex = rowIndex;
|
|
42
35
|
}
|
|
43
36
|
return rowIndex > -1 ? getRowValue(rows[rowIndex]) : null;
|
|
44
37
|
}));
|
|
45
38
|
return {
|
|
46
|
-
value
|
|
47
|
-
firstComponentIndex
|
|
39
|
+
value,
|
|
40
|
+
firstComponentIndex
|
|
48
41
|
};
|
|
49
42
|
};
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
value
|
|
53
|
-
firstComponentIndex
|
|
54
|
-
|
|
43
|
+
const getCYARowForGroup = (page, group, rows, onAction) => {
|
|
44
|
+
const {
|
|
45
|
+
value,
|
|
46
|
+
firstComponentIndex
|
|
47
|
+
} = getGroupValue(group, rows);
|
|
48
|
+
const row = {
|
|
55
49
|
pageId: page.id,
|
|
56
50
|
fieldId: group.id,
|
|
57
51
|
key: group.label,
|
|
58
52
|
required: group.required,
|
|
59
|
-
value
|
|
53
|
+
value,
|
|
60
54
|
action: (0, _getCYAAction.default)(false, page, onAction)
|
|
61
55
|
};
|
|
62
56
|
return {
|
|
63
|
-
row
|
|
57
|
+
row,
|
|
64
58
|
insertAt: firstComponentIndex
|
|
65
59
|
};
|
|
66
60
|
};
|
|
@@ -6,35 +6,35 @@ var _getCYARow = _interopRequireDefault(require("./getCYARow"));
|
|
|
6
6
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
7
7
|
// Local imports
|
|
8
8
|
|
|
9
|
-
describe('utils',
|
|
10
|
-
describe('CheckYourAnswers',
|
|
11
|
-
describe('getCYARowsForGroup',
|
|
12
|
-
it('should check address values block',
|
|
13
|
-
|
|
9
|
+
describe('utils', () => {
|
|
10
|
+
describe('CheckYourAnswers', () => {
|
|
11
|
+
describe('getCYARowsForGroup', () => {
|
|
12
|
+
it('should check address values block', () => {
|
|
13
|
+
const COMPONENT_ADDRESS = {
|
|
14
14
|
id: 'firstLineOfTheAddress',
|
|
15
15
|
fieldId: 'firstLineOfTheAddress',
|
|
16
16
|
label: 'address',
|
|
17
17
|
type: 'text'
|
|
18
18
|
};
|
|
19
|
-
|
|
19
|
+
const COMPONENT_TOWN = {
|
|
20
20
|
id: 'town',
|
|
21
21
|
fieldId: 'town',
|
|
22
22
|
label: 'Town',
|
|
23
23
|
type: 'text'
|
|
24
24
|
};
|
|
25
|
-
|
|
25
|
+
const COMPONENT_CITY = {
|
|
26
26
|
id: 'city',
|
|
27
27
|
fieldId: 'city',
|
|
28
28
|
label: 'City',
|
|
29
29
|
type: 'text'
|
|
30
30
|
};
|
|
31
|
-
|
|
31
|
+
const COMPONENT_POSTCODE = {
|
|
32
32
|
id: 'postCode',
|
|
33
33
|
fieldId: 'postCode',
|
|
34
34
|
label: 'postCode',
|
|
35
35
|
type: 'text'
|
|
36
36
|
};
|
|
37
|
-
|
|
37
|
+
const PAGE = {
|
|
38
38
|
components: [COMPONENT_ADDRESS, COMPONENT_TOWN, COMPONENT_CITY, COMPONENT_POSTCODE],
|
|
39
39
|
id: 'addressDetails',
|
|
40
40
|
fieldId: 'UK address',
|
|
@@ -52,14 +52,13 @@ describe('utils', function () {
|
|
|
52
52
|
postCode: 'SW1A 2AA'
|
|
53
53
|
}
|
|
54
54
|
};
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
container = _renderWithValidation.container;
|
|
55
|
+
const ON_ACTION = () => {};
|
|
56
|
+
const rows = PAGE.components.map(component => (0, _getCYARow.default)(PAGE, component, ON_ACTION));
|
|
57
|
+
const {
|
|
58
|
+
container
|
|
59
|
+
} = (0, _setupTests.renderWithValidation)((0, _getCYARowForGroup.default)(PAGE, PAGE.groups[0], rows, ON_ACTION).row.value);
|
|
61
60
|
expect(container.childNodes.length).toEqual(4);
|
|
62
|
-
|
|
61
|
+
const addressValues = container.childNodes;
|
|
63
62
|
expect(addressValues[0].childNodes[0].textContent).toEqual('10 Downing Street');
|
|
64
63
|
expect(addressValues[1].childNodes[0].textContent).toEqual('City of Westminster');
|
|
65
64
|
expect(addressValues[2].childNodes[0].textContent).toEqual('London');
|
|
@@ -11,14 +11,11 @@ var _getCYARowsForContainer = _interopRequireDefault(require("./getCYARowsForCon
|
|
|
11
11
|
var _setupContainerComponentsPath = _interopRequireDefault(require("../Component/setupContainerComponentsPath"));
|
|
12
12
|
var _showComponentCYA = _interopRequireDefault(require("./showComponentCYA"));
|
|
13
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
17
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
18
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
19
|
-
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // Global imports
|
|
14
|
+
// Global imports
|
|
15
|
+
|
|
20
16
|
// Local imports
|
|
21
|
-
|
|
17
|
+
|
|
18
|
+
const getEntryToCollectionRow = (page, onAction) => {
|
|
22
19
|
var _page$components$0$la;
|
|
23
20
|
return [{
|
|
24
21
|
pageId: page.id,
|
|
@@ -27,50 +24,50 @@ var getEntryToCollectionRow = function getEntryToCollectionRow(page, onAction) {
|
|
|
27
24
|
action: (0, _getCYAAction.default)(false, page, onAction)
|
|
28
25
|
}];
|
|
29
26
|
};
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
27
|
+
const getContainerForItem = (collection, item, labelCount, fullPath) => ({
|
|
28
|
+
id: item.id,
|
|
29
|
+
fieldId: item.id,
|
|
30
|
+
type: _models.ComponentTypes.CONTAINER,
|
|
31
|
+
required: collection.required,
|
|
32
|
+
full_path: fullPath,
|
|
33
|
+
components: collection.item.map(component => ({
|
|
34
|
+
...component,
|
|
35
|
+
label: _copReactComponents.Utils.interpolateString(component.label, {
|
|
36
|
+
...item,
|
|
37
|
+
index: labelCount
|
|
38
|
+
}),
|
|
39
|
+
full_path: "".concat(fullPath, ".").concat(component.fieldId)
|
|
40
|
+
}))
|
|
41
|
+
});
|
|
42
|
+
const getTitleRowForItem = (collection, item, pageId, labelCount, fullPath) => {
|
|
43
|
+
const labels = {
|
|
44
|
+
..._models.CollectionLabels,
|
|
45
|
+
...collection.labels
|
|
45
46
|
};
|
|
46
|
-
};
|
|
47
|
-
var getTitleRowForItem = function getTitleRowForItem(collection, item, pageId, labelCount, fullPath) {
|
|
48
|
-
var labels = _objectSpread(_objectSpread({}, _models.CollectionLabels), collection.labels);
|
|
49
47
|
if (labels.item) {
|
|
50
48
|
return {
|
|
51
|
-
pageId
|
|
49
|
+
pageId,
|
|
52
50
|
fieldId: collection.fieldId,
|
|
53
51
|
full_path: fullPath,
|
|
54
|
-
key: _copReactComponents.Utils.interpolateString(labels.item,
|
|
52
|
+
key: _copReactComponents.Utils.interpolateString(labels.item, {
|
|
53
|
+
...item,
|
|
55
54
|
index: labelCount
|
|
56
|
-
})
|
|
55
|
+
}),
|
|
57
56
|
type: 'title',
|
|
58
57
|
action: null
|
|
59
58
|
};
|
|
60
59
|
}
|
|
61
60
|
return null;
|
|
62
61
|
};
|
|
63
|
-
|
|
62
|
+
const getCYARowsForCollection = (page, collection, items, onAction, fnOverride) => {
|
|
64
63
|
if (Array.isArray(items) && items.length && (0, _showComponentCYA.default)(collection, page.formData)) {
|
|
65
|
-
return items.flatMap(
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
64
|
+
return items.flatMap((item, index) => {
|
|
65
|
+
const labelCount = (collection.countOffset || 0) + index + 1;
|
|
66
|
+
const fullPath = "".concat(collection.full_path || collection.fieldId, "[").concat(index, "]");
|
|
67
|
+
let container = getContainerForItem(collection, item, labelCount, fullPath);
|
|
69
68
|
container = (0, _setupContainerComponentsPath.default)(container);
|
|
70
69
|
return [getTitleRowForItem(collection, item, page.id, labelCount, fullPath)].concat((0, _getCYARowsForContainer.default)(page, container, item, onAction, fnOverride));
|
|
71
|
-
}).filter(
|
|
72
|
-
return !!r;
|
|
73
|
-
});
|
|
70
|
+
}).filter(r => !!r);
|
|
74
71
|
}
|
|
75
72
|
return getEntryToCollectionRow(page, onAction);
|
|
76
73
|
};
|
|
@@ -4,16 +4,12 @@ var _models = require("../../models");
|
|
|
4
4
|
var _setupTests = require("../../setupTests");
|
|
5
5
|
var _getCYARowsForCollection = _interopRequireDefault(require("./getCYARowsForCollection"));
|
|
6
6
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
describe('utils.CheckYourAnswers.getCYARowsForCollection', function () {
|
|
14
|
-
it('should get a single entry point row when there are no items', function () {
|
|
15
|
-
var FORM_DATA = undefined;
|
|
16
|
-
var PAGE = {
|
|
7
|
+
// Local imports
|
|
8
|
+
|
|
9
|
+
describe('utils.CheckYourAnswers.getCYARowsForCollection', () => {
|
|
10
|
+
it('should get a single entry point row when there are no items', () => {
|
|
11
|
+
const FORM_DATA = undefined;
|
|
12
|
+
const PAGE = {
|
|
17
13
|
id: 'page',
|
|
18
14
|
components: [{
|
|
19
15
|
labels: {
|
|
@@ -23,42 +19,42 @@ describe('utils.CheckYourAnswers.getCYARowsForCollection', function () {
|
|
|
23
19
|
formData: FORM_DATA,
|
|
24
20
|
cya_link: {}
|
|
25
21
|
};
|
|
26
|
-
|
|
22
|
+
const COMPONENT = {
|
|
27
23
|
type: 'text',
|
|
28
24
|
readonly: true,
|
|
29
25
|
id: 'a',
|
|
30
26
|
fieldId: 'a',
|
|
31
27
|
label: 'Alpha'
|
|
32
28
|
};
|
|
33
|
-
|
|
29
|
+
const COLLECTION = {
|
|
34
30
|
id: 'collection',
|
|
35
31
|
fieldId: 'collection',
|
|
36
32
|
type: _models.ComponentTypes.COLLECTION,
|
|
37
33
|
item: [COMPONENT]
|
|
38
34
|
};
|
|
39
|
-
|
|
40
|
-
|
|
35
|
+
const ON_ACTION = () => {};
|
|
36
|
+
const ROWS = (0, _getCYARowsForCollection.default)(PAGE, COLLECTION, undefined, ON_ACTION);
|
|
41
37
|
expect(ROWS.length).toEqual(1);
|
|
42
38
|
});
|
|
43
|
-
it('should get an appropriate row for a collection with a single readonly text component',
|
|
44
|
-
|
|
39
|
+
it('should get an appropriate row for a collection with a single readonly text component', () => {
|
|
40
|
+
const FORM_DATA = {
|
|
45
41
|
collection: [{
|
|
46
42
|
a: 'Bravo'
|
|
47
43
|
}]
|
|
48
44
|
};
|
|
49
|
-
|
|
45
|
+
const PAGE = {
|
|
50
46
|
id: 'page',
|
|
51
47
|
formData: FORM_DATA,
|
|
52
48
|
cya_link: {}
|
|
53
49
|
};
|
|
54
|
-
|
|
50
|
+
const COMPONENT = {
|
|
55
51
|
type: 'text',
|
|
56
52
|
readonly: true,
|
|
57
53
|
id: 'a',
|
|
58
54
|
fieldId: 'a',
|
|
59
55
|
label: 'Alpha'
|
|
60
56
|
};
|
|
61
|
-
|
|
57
|
+
const COLLECTION = {
|
|
62
58
|
id: 'collection',
|
|
63
59
|
fieldId: 'collection',
|
|
64
60
|
type: _models.ComponentTypes.COLLECTION,
|
|
@@ -67,8 +63,8 @@ describe('utils.CheckYourAnswers.getCYARowsForCollection', function () {
|
|
|
67
63
|
value: FORM_DATA.collection,
|
|
68
64
|
formData: FORM_DATA
|
|
69
65
|
};
|
|
70
|
-
|
|
71
|
-
|
|
66
|
+
const ON_ACTION = () => {};
|
|
67
|
+
const ROWS = (0, _getCYARowsForCollection.default)(PAGE, COLLECTION, FORM_DATA.collection, ON_ACTION);
|
|
72
68
|
expect(ROWS.length).toEqual(2); // Item title row + component row
|
|
73
69
|
(0, _setupTests.expectObjectLike)(ROWS[0], {
|
|
74
70
|
pageId: PAGE.id,
|
|
@@ -85,31 +81,32 @@ describe('utils.CheckYourAnswers.getCYARowsForCollection', function () {
|
|
|
85
81
|
full_path: "".concat(COLLECTION.fieldId, "[0].").concat(COMPONENT.fieldId),
|
|
86
82
|
key: COMPONENT.label,
|
|
87
83
|
action: null,
|
|
88
|
-
component:
|
|
84
|
+
component: {
|
|
85
|
+
...COMPONENT,
|
|
89
86
|
full_path: "".concat(COLLECTION.fieldId, "[0].").concat(COMPONENT.fieldId)
|
|
90
|
-
}
|
|
87
|
+
},
|
|
91
88
|
value: 'Bravo'
|
|
92
89
|
});
|
|
93
90
|
});
|
|
94
|
-
it('should get an appropriate row for a collection with a single readonly text component where the item label is an empty string',
|
|
95
|
-
|
|
91
|
+
it('should get an appropriate row for a collection with a single readonly text component where the item label is an empty string', () => {
|
|
92
|
+
const FORM_DATA = {
|
|
96
93
|
collection: [{
|
|
97
94
|
a: 'Bravo'
|
|
98
95
|
}]
|
|
99
96
|
};
|
|
100
|
-
|
|
97
|
+
const PAGE = {
|
|
101
98
|
id: 'page',
|
|
102
99
|
formData: FORM_DATA,
|
|
103
100
|
cya_link: {}
|
|
104
101
|
};
|
|
105
|
-
|
|
102
|
+
const COMPONENT = {
|
|
106
103
|
type: 'text',
|
|
107
104
|
readonly: true,
|
|
108
105
|
id: 'a',
|
|
109
106
|
fieldId: 'a',
|
|
110
107
|
label: 'Alpha'
|
|
111
108
|
};
|
|
112
|
-
|
|
109
|
+
const COLLECTION = {
|
|
113
110
|
id: 'collection',
|
|
114
111
|
fieldId: 'collection',
|
|
115
112
|
type: _models.ComponentTypes.COLLECTION,
|
|
@@ -121,8 +118,8 @@ describe('utils.CheckYourAnswers.getCYARowsForCollection', function () {
|
|
|
121
118
|
value: FORM_DATA.collection,
|
|
122
119
|
formData: FORM_DATA
|
|
123
120
|
};
|
|
124
|
-
|
|
125
|
-
|
|
121
|
+
const ON_ACTION = () => {};
|
|
122
|
+
const ROWS = (0, _getCYARowsForCollection.default)(PAGE, COLLECTION, FORM_DATA.collection, ON_ACTION);
|
|
126
123
|
expect(ROWS.length).toEqual(1); // Just the component row, no title row
|
|
127
124
|
(0, _setupTests.expectObjectLike)(ROWS[0], {
|
|
128
125
|
pageId: PAGE.id,
|
|
@@ -130,32 +127,33 @@ describe('utils.CheckYourAnswers.getCYARowsForCollection', function () {
|
|
|
130
127
|
full_path: "".concat(COLLECTION.fieldId, "[0].").concat(COMPONENT.fieldId),
|
|
131
128
|
key: COMPONENT.label,
|
|
132
129
|
action: null,
|
|
133
|
-
component:
|
|
130
|
+
component: {
|
|
131
|
+
...COMPONENT,
|
|
134
132
|
full_path: "".concat(COLLECTION.fieldId, "[0].").concat(COMPONENT.fieldId)
|
|
135
|
-
}
|
|
133
|
+
},
|
|
136
134
|
value: 'Bravo'
|
|
137
135
|
});
|
|
138
136
|
});
|
|
139
|
-
it('should interpolate a field label appropriately',
|
|
140
|
-
|
|
137
|
+
it('should interpolate a field label appropriately', () => {
|
|
138
|
+
const FORM_DATA = {
|
|
141
139
|
collection: [{
|
|
142
140
|
a: 'Bravo'
|
|
143
141
|
}]
|
|
144
142
|
};
|
|
145
|
-
|
|
143
|
+
const PAGE = {
|
|
146
144
|
id: 'page',
|
|
147
145
|
formData: FORM_DATA,
|
|
148
146
|
cya_link: {}
|
|
149
147
|
};
|
|
150
148
|
// eslint-disable-next-line no-template-curly-in-string
|
|
151
|
-
|
|
149
|
+
const COMPONENT = {
|
|
152
150
|
type: 'text',
|
|
153
151
|
readonly: true,
|
|
154
152
|
id: 'a',
|
|
155
153
|
fieldId: 'a',
|
|
156
154
|
label: 'Alpha ${index}'
|
|
157
155
|
};
|
|
158
|
-
|
|
156
|
+
const COLLECTION = {
|
|
159
157
|
id: 'collection',
|
|
160
158
|
fieldId: 'collection',
|
|
161
159
|
type: _models.ComponentTypes.COLLECTION,
|
|
@@ -163,8 +161,8 @@ describe('utils.CheckYourAnswers.getCYARowsForCollection', function () {
|
|
|
163
161
|
value: FORM_DATA.collection,
|
|
164
162
|
formData: FORM_DATA
|
|
165
163
|
};
|
|
166
|
-
|
|
167
|
-
|
|
164
|
+
const ON_ACTION = () => {};
|
|
165
|
+
const ROWS = (0, _getCYARowsForCollection.default)(PAGE, COLLECTION, FORM_DATA.collection, ON_ACTION);
|
|
168
166
|
expect(ROWS.length).toEqual(2); // Title and item row.
|
|
169
167
|
(0, _setupTests.expectObjectLike)(ROWS[1], {
|
|
170
168
|
pageId: PAGE.id,
|
|
@@ -173,33 +171,34 @@ describe('utils.CheckYourAnswers.getCYARowsForCollection', function () {
|
|
|
173
171
|
key: 'Alpha 1',
|
|
174
172
|
// no countOffset
|
|
175
173
|
action: null,
|
|
176
|
-
component:
|
|
174
|
+
component: {
|
|
175
|
+
...COMPONENT,
|
|
177
176
|
full_path: "".concat(COLLECTION.fieldId, "[0].").concat(COMPONENT.fieldId),
|
|
178
177
|
label: 'Alpha 1' // no countOffset
|
|
179
|
-
}
|
|
178
|
+
},
|
|
180
179
|
|
|
181
180
|
value: 'Bravo'
|
|
182
181
|
});
|
|
183
182
|
});
|
|
184
|
-
it('should ignore the result of the override function if it returns nullish',
|
|
185
|
-
|
|
183
|
+
it('should ignore the result of the override function if it returns nullish', () => {
|
|
184
|
+
const FORM_DATA = {
|
|
186
185
|
collection: [{
|
|
187
186
|
a: 'Bravo'
|
|
188
187
|
}]
|
|
189
188
|
};
|
|
190
|
-
|
|
189
|
+
const PAGE = {
|
|
191
190
|
id: 'page',
|
|
192
191
|
formData: FORM_DATA,
|
|
193
192
|
cya_link: {}
|
|
194
193
|
};
|
|
195
|
-
|
|
194
|
+
const COMPONENT = {
|
|
196
195
|
type: 'text',
|
|
197
196
|
readonly: true,
|
|
198
197
|
id: 'a',
|
|
199
198
|
fieldId: 'a',
|
|
200
199
|
label: 'Alpha'
|
|
201
200
|
};
|
|
202
|
-
|
|
201
|
+
const COLLECTION = {
|
|
203
202
|
id: 'collection',
|
|
204
203
|
fieldId: 'collection',
|
|
205
204
|
type: _models.ComponentTypes.COLLECTION,
|
|
@@ -208,10 +207,8 @@ describe('utils.CheckYourAnswers.getCYARowsForCollection', function () {
|
|
|
208
207
|
value: FORM_DATA.collection,
|
|
209
208
|
formData: FORM_DATA
|
|
210
209
|
};
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
return null;
|
|
214
|
-
});
|
|
210
|
+
const ON_ACTION = () => {};
|
|
211
|
+
const ROWS = (0, _getCYARowsForCollection.default)(PAGE, COLLECTION, FORM_DATA.collection, ON_ACTION, () => null);
|
|
215
212
|
expect(ROWS.length).toEqual(2); // Item title row + component row
|
|
216
213
|
(0, _setupTests.expectObjectLike)(ROWS[0], {
|
|
217
214
|
pageId: PAGE.id,
|
|
@@ -228,31 +225,32 @@ describe('utils.CheckYourAnswers.getCYARowsForCollection', function () {
|
|
|
228
225
|
full_path: "".concat(COLLECTION.fieldId, "[0].").concat(COMPONENT.fieldId),
|
|
229
226
|
key: COMPONENT.label,
|
|
230
227
|
action: null,
|
|
231
|
-
component:
|
|
228
|
+
component: {
|
|
229
|
+
...COMPONENT,
|
|
232
230
|
full_path: "".concat(COLLECTION.fieldId, "[0].").concat(COMPONENT.fieldId)
|
|
233
|
-
}
|
|
231
|
+
},
|
|
234
232
|
value: 'Bravo'
|
|
235
233
|
});
|
|
236
234
|
});
|
|
237
|
-
it('should use rows produced by the override function if provided',
|
|
238
|
-
|
|
235
|
+
it('should use rows produced by the override function if provided', () => {
|
|
236
|
+
const FORM_DATA = {
|
|
239
237
|
collection: [{
|
|
240
238
|
a: 'Bravo'
|
|
241
239
|
}]
|
|
242
240
|
};
|
|
243
|
-
|
|
241
|
+
const PAGE = {
|
|
244
242
|
id: 'page',
|
|
245
243
|
formData: FORM_DATA,
|
|
246
244
|
cya_link: {}
|
|
247
245
|
};
|
|
248
|
-
|
|
246
|
+
const COMPONENT = {
|
|
249
247
|
type: 'text',
|
|
250
248
|
readonly: true,
|
|
251
249
|
id: 'a',
|
|
252
250
|
fieldId: 'a',
|
|
253
251
|
label: 'Alpha'
|
|
254
252
|
};
|
|
255
|
-
|
|
253
|
+
const COLLECTION = {
|
|
256
254
|
id: 'collection',
|
|
257
255
|
fieldId: 'collection',
|
|
258
256
|
type: _models.ComponentTypes.COLLECTION,
|
|
@@ -261,16 +259,16 @@ describe('utils.CheckYourAnswers.getCYARowsForCollection', function () {
|
|
|
261
259
|
value: FORM_DATA.collection,
|
|
262
260
|
formData: FORM_DATA
|
|
263
261
|
};
|
|
264
|
-
|
|
262
|
+
const ON_ACTION = () => {};
|
|
265
263
|
// eslint-disable-next-line arrow-body-style
|
|
266
|
-
|
|
264
|
+
const OVERRIDE = (page, comp) => {
|
|
267
265
|
// This will be called for each component in the collection,
|
|
268
266
|
// returning a custom row object.
|
|
269
267
|
return {
|
|
270
268
|
key: "CustomRowFor".concat(comp.label)
|
|
271
269
|
};
|
|
272
270
|
};
|
|
273
|
-
|
|
271
|
+
const ROWS = (0, _getCYARowsForCollection.default)(PAGE, COLLECTION, FORM_DATA.collection, ON_ACTION, OVERRIDE);
|
|
274
272
|
expect(ROWS.length).toEqual(2); // Item title row + component row
|
|
275
273
|
(0, _setupTests.expectObjectLike)(ROWS[0], {
|
|
276
274
|
pageId: PAGE.id,
|