@ukhomeoffice/cop-react-form-renderer 5.45.2-alpha → 5.48.1-bravo
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 +127 -92
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +131 -101
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +769 -464
- package/dist/components/CollectionPage/CollectionPage.js +58 -66
- package/dist/components/CollectionPage/CollectionPage.test.js +342 -300
- package/dist/components/CollectionSummary/BannerStrip.js +12 -12
- package/dist/components/CollectionSummary/BannerStrip.test.js +59 -63
- package/dist/components/CollectionSummary/CollectionSummary.js +88 -61
- package/dist/components/CollectionSummary/CollectionSummary.test.js +96 -102
- package/dist/components/CollectionSummary/Confirmation.js +12 -14
- package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
- package/dist/components/CollectionSummary/SummaryCard.js +148 -109
- package/dist/components/CollectionSummary/SummaryCard.scss +1 -1
- package/dist/components/CollectionSummary/SummaryCard.test.js +927 -905
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +29 -23
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +73 -61
- package/dist/components/FormComponent/Collection.js +107 -73
- package/dist/components/FormComponent/Collection.test.js +945 -809
- package/dist/components/FormComponent/Container.js +38 -40
- package/dist/components/FormComponent/Container.test.js +345 -314
- package/dist/components/FormComponent/FormComponent.js +70 -67
- package/dist/components/FormComponent/FormComponent.test.js +342 -284
- package/dist/components/FormComponent/helpers/addLabel.js +7 -4
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
- package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
- package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
- package/dist/components/FormComponent/helpers/index.js +4 -4
- package/dist/components/FormPage/FormPage.js +80 -65
- package/dist/components/FormPage/FormPage.test.js +163 -127
- package/dist/components/FormRenderer/FormRenderer.js +181 -144
- package/dist/components/FormRenderer/FormRenderer.test.js +1115 -730
- package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
- package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
- package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
- package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
- package/dist/components/FormRenderer/handlers/index.js +1 -1
- package/dist/components/FormRenderer/handlers/navigate.js +3 -3
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +5 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +47 -11
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +20 -16
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -17
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +16 -16
- package/dist/components/FormRenderer/helpers/getCYA.js +5 -3
- package/dist/components/FormRenderer/helpers/getCYA.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getFormState.js +7 -5
- package/dist/components/FormRenderer/helpers/getFormState.test.js +10 -10
- package/dist/components/FormRenderer/helpers/getNextPageId.js +24 -13
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +67 -67
- package/dist/components/FormRenderer/helpers/getPage.js +4 -2
- package/dist/components/FormRenderer/helpers/getPage.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -7
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +14 -14
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +5 -5
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +91 -97
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +60 -62
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +73 -71
- package/dist/components/FormRenderer/helpers/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +51 -59
- package/dist/components/FormRenderer/onCYAAction.test.js +152 -164
- package/dist/components/FormRenderer/onPageAction.js +40 -44
- package/dist/components/FormRenderer/onPageAction.test.js +206 -223
- package/dist/components/FormRenderer/onTaskAction.js +13 -9
- package/dist/components/FormRenderer/onTaskAction.test.js +88 -93
- package/dist/components/PageActions/ActionButton.js +15 -12
- package/dist/components/PageActions/ActionButton.test.js +78 -56
- package/dist/components/PageActions/PageActions.js +10 -10
- package/dist/components/PageActions/PageActions.test.js +115 -86
- package/dist/components/SummaryList/GroupAction.js +17 -9
- package/dist/components/SummaryList/GroupAction.test.js +33 -37
- package/dist/components/SummaryList/RowAction.js +16 -11
- package/dist/components/SummaryList/RowAction.test.js +33 -37
- package/dist/components/SummaryList/SummaryList.js +26 -21
- package/dist/components/SummaryList/SummaryList.test.js +166 -143
- package/dist/components/SummaryList/SummaryListHeadingRow.js +4 -6
- package/dist/components/SummaryList/SummaryListRow.js +4 -6
- package/dist/components/SummaryList/SummaryListTitleRow.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -3
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -3
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/index.js +1 -1
- package/dist/components/TaskList/Task.js +29 -19
- package/dist/components/TaskList/Task.test.js +76 -83
- package/dist/components/TaskList/TaskList.js +71 -45
- package/dist/components/TaskList/TaskList.test.js +111 -113
- package/dist/components/TaskList/TaskState.js +5 -7
- package/dist/components/TaskList/TaskState.test.js +45 -52
- package/dist/components/index.js +7 -7
- package/dist/context/HooksContext/HooksContext.js +79 -58
- package/dist/context/HooksContext/HooksContext.test.js +35 -26
- package/dist/context/HooksContext/index.js +4 -3
- package/dist/context/ValidationContext/ValidationContext.js +72 -32
- package/dist/context/ValidationContext/ValidationContext.test.js +59 -47
- package/dist/context/ValidationContext/index.js +4 -3
- package/dist/context/index.js +2 -2
- package/dist/hooks/index.js +10 -9
- package/dist/hooks/useAxios.js +40 -14
- package/dist/hooks/useGetRequest.js +97 -61
- package/dist/hooks/useHooks.js +3 -1
- package/dist/hooks/useRefData.js +39 -26
- package/dist/hooks/useValidation.js +3 -1
- package/dist/index.js +14 -13
- package/dist/models/CollectionLabels.js +1 -1
- package/dist/models/ComponentTypes.js +25 -25
- package/dist/models/EventTypes.js +4 -4
- package/dist/models/FormPages.js +4 -4
- package/dist/models/FormTypes.js +8 -8
- package/dist/models/HubFormats.js +3 -3
- package/dist/models/PageAction.js +38 -44
- package/dist/models/TaskStates.js +28 -30
- package/dist/models/index.js +9 -9
- package/dist/setupTests.js +31 -30
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +54 -52
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +25 -15
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +35 -33
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +31 -17
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +44 -42
- package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +24 -18
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -15
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +36 -33
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +60 -58
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +88 -79
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +124 -146
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +20 -25
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +97 -103
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +18 -13
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +76 -70
- package/dist/utils/CheckYourAnswers/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 +18 -9
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +22 -27
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +11 -7
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
- package/dist/utils/CollectionPage/getCollectionPageData.js +12 -8
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
- package/dist/utils/CollectionPage/getQuickEditPage.js +19 -19
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +16 -12
- package/dist/utils/CollectionPage/index.js +1 -1
- package/dist/utils/CollectionPage/mergeCollectionPages.js +30 -29
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +17 -17
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +6 -4
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
- package/dist/utils/CollectionPage/setCollectionPageData.js +12 -8
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +17 -17
- package/dist/utils/Component/addShowWhen.js +8 -4
- package/dist/utils/Component/addShowWhen.test.js +37 -37
- package/dist/utils/Component/applyToComponentTree.js +18 -18
- package/dist/utils/Component/applyToComponentTree.test.js +32 -27
- package/dist/utils/Component/cleanAttributes.js +13 -10
- package/dist/utils/Component/cleanAttributes.test.js +18 -17
- package/dist/utils/Component/elevateNestedComponents.js +5 -5
- package/dist/utils/Component/elevateNestedComponents.test.js +30 -30
- package/dist/utils/Component/getComponent.js +95 -88
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +17 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +59 -46
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +48 -39
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -23
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +18 -20
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +25 -20
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +9 -10
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +8 -9
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +26 -22
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +70 -57
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +38 -31
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +29 -20
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +8 -9
- package/dist/utils/Component/getDefaultValue.js +8 -6
- package/dist/utils/Component/getDefaultValue.test.js +12 -12
- package/dist/utils/Component/getDefaultValueFromConfig.js +22 -23
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
- package/dist/utils/Component/index.js +1 -1
- package/dist/utils/Component/isEditable.js +4 -2
- package/dist/utils/Component/isEditable.test.js +15 -14
- package/dist/utils/Component/optionIsSelected.js +1 -1
- package/dist/utils/Component/optionIsSelected.test.js +9 -9
- package/dist/utils/Component/setupContainerComponentsPath.js +29 -27
- package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
- package/dist/utils/Component/showComponent.js +1 -1
- package/dist/utils/Component/showComponent.test.js +28 -28
- package/dist/utils/Component/wrapInFormGroup.js +2 -2
- package/dist/utils/Condition/index.js +1 -1
- package/dist/utils/Condition/meetsAllConditions.js +7 -7
- package/dist/utils/Condition/meetsAllConditions.test.js +17 -17
- package/dist/utils/Condition/meetsCondition.js +17 -14
- 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 +18 -13
- package/dist/utils/Condition/setupConditions.test.js +7 -7
- package/dist/utils/Container/getEditableComponents.js +5 -3
- package/dist/utils/Container/getEditableComponents.test.js +45 -43
- package/dist/utils/Container/index.js +1 -1
- package/dist/utils/Container/setupNesting.js +20 -16
- package/dist/utils/Container/setupNesting.test.js +30 -27
- package/dist/utils/Container/showContainer.js +7 -3
- package/dist/utils/Container/showContainer.test.js +30 -30
- package/dist/utils/Data/applyFormula.js +48 -38
- package/dist/utils/Data/applyFormula.test.js +20 -20
- package/dist/utils/Data/getAutocompleteSource.js +26 -18
- package/dist/utils/Data/getAutocompleteSource.test.js +86 -80
- package/dist/utils/Data/getDataPath.js +28 -18
- package/dist/utils/Data/getDataPath.test.js +12 -12
- package/dist/utils/Data/getOptions.js +25 -19
- package/dist/utils/Data/getOptions.test.js +20 -20
- package/dist/utils/Data/getSourceData.js +19 -6
- package/dist/utils/Data/getSourceData.test.js +80 -84
- package/dist/utils/Data/index.js +1 -1
- package/dist/utils/Data/refDataToOptions.js +13 -10
- package/dist/utils/Data/refDataToOptions.test.js +19 -19
- package/dist/utils/Data/setDataItem.js +8 -7
- package/dist/utils/Data/setDataItem.test.js +37 -37
- package/dist/utils/Data/setupFormData.js +21 -13
- package/dist/utils/Data/setupFormData.test.js +50 -51
- package/dist/utils/Data/setupRefDataUrlForComponent.js +26 -20
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
- package/dist/utils/FormPage/applyConditionalProperties.js +9 -5
- package/dist/utils/FormPage/applyConditionalProperties.test.js +18 -15
- package/dist/utils/FormPage/getFormPage.js +16 -15
- package/dist/utils/FormPage/getFormPage.test.js +46 -47
- package/dist/utils/FormPage/getFormPages.js +12 -7
- package/dist/utils/FormPage/getFormPages.test.js +23 -20
- package/dist/utils/FormPage/getPageActions.js +15 -9
- package/dist/utils/FormPage/getPageActions.test.js +32 -32
- package/dist/utils/FormPage/getPageTitle.js +2 -2
- package/dist/utils/FormPage/getPageTitle.test.js +22 -22
- package/dist/utils/FormPage/getParagraphFromText.js +7 -5
- package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
- package/dist/utils/FormPage/index.js +1 -1
- package/dist/utils/FormPage/showFormPage.js +7 -3
- package/dist/utils/FormPage/showFormPage.test.js +32 -32
- package/dist/utils/FormPage/showFormPageCYA.js +1 -1
- package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
- package/dist/utils/FormPage/useComponent.js +28 -21
- package/dist/utils/FormPage/useComponent.test.js +79 -78
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +18 -18
- package/dist/utils/Format/formatDataForComponent.js +6 -5
- package/dist/utils/Format/formatDataForComponent.test.js +77 -50
- package/dist/utils/Format/formatDataForForm.js +8 -6
- package/dist/utils/Format/formatDataForForm.test.js +15 -13
- package/dist/utils/Format/formatDataForPage.js +5 -4
- package/dist/utils/Format/formatDataForPage.test.js +23 -20
- package/dist/utils/Format/index.js +1 -1
- package/dist/utils/Hub/getFormHub.js +1 -1
- package/dist/utils/Hub/getFormHub.test.js +31 -28
- package/dist/utils/Hub/index.js +1 -1
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +16 -24
- package/dist/utils/Meta/documents/index.js +1 -1
- package/dist/utils/Meta/documents/setDocumentsForField.js +16 -14
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +34 -68
- package/dist/utils/Meta/index.js +1 -1
- package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
- package/dist/utils/Operate/getFirstOf.js +5 -5
- package/dist/utils/Operate/getFirstOf.test.js +31 -31
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +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 +20 -22
- package/dist/utils/Operate/runPageOperations.js +7 -7
- package/dist/utils/Operate/runPageOperations.test.js +36 -35
- package/dist/utils/Operate/setValueInFormData.js +2 -2
- package/dist/utils/Operate/setValueInFormData.test.js +16 -16
- package/dist/utils/Operate/shouldRun.js +6 -6
- package/dist/utils/Operate/shouldRun.test.js +26 -21
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
- package/dist/utils/Validate/additional/index.js +10 -8
- package/dist/utils/Validate/additional/index.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeAfter.js +2 -2
- package/dist/utils/Validate/additional/mustBeAfter.test.js +40 -40
- package/dist/utils/Validate/additional/mustBeBefore.js +2 -2
- package/dist/utils/Validate/additional/mustBeBefore.test.js +28 -28
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +11 -7
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +41 -37
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +2 -2
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeInThePast.js +3 -3
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +12 -12
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +20 -20
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +16 -16
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +35 -0
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +127 -0
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +16 -14
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
- package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +26 -28
- package/dist/utils/Validate/additional/utils.js +22 -9
- package/dist/utils/Validate/index.js +1 -1
- package/dist/utils/Validate/validateCollection.js +25 -19
- package/dist/utils/Validate/validateCollection.test.js +66 -74
- package/dist/utils/Validate/validateComponent.js +16 -18
- package/dist/utils/Validate/validateComponent.test.js +146 -167
- package/dist/utils/Validate/validateContainer.js +19 -14
- package/dist/utils/Validate/validateContainer.test.js +45 -49
- package/dist/utils/Validate/validateDate.js +17 -11
- package/dist/utils/Validate/validateDate.test.js +29 -28
- package/dist/utils/Validate/validateEmail.js +8 -6
- package/dist/utils/Validate/validateEmail.test.js +25 -25
- package/dist/utils/Validate/validateMultifile.js +7 -5
- package/dist/utils/Validate/validateMultifile.test.js +18 -17
- package/dist/utils/Validate/validatePage.js +18 -17
- package/dist/utils/Validate/validatePage.test.js +182 -185
- package/dist/utils/Validate/validateRegex.js +5 -3
- package/dist/utils/Validate/validateRegex.test.js +14 -14
- package/dist/utils/Validate/validateRequired.js +6 -4
- package/dist/utils/Validate/validateRequired.test.js +18 -18
- package/dist/utils/Validate/validateTextArea.js +6 -4
- package/dist/utils/Validate/validateTextArea.test.js +20 -20
- package/dist/utils/Validate/validateTime.js +14 -7
- package/dist/utils/Validate/validateTime.test.js +14 -14
- package/dist/utils/index.js +9 -7
- package/package.json +1 -1
|
@@ -8,7 +8,13 @@ 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
|
-
|
|
11
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
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) {
|
|
12
18
|
if (!row.value) {
|
|
13
19
|
return null;
|
|
14
20
|
}
|
|
@@ -18,43 +24,43 @@ const getRowValue = row => {
|
|
|
18
24
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
19
25
|
key: row.id
|
|
20
26
|
}, /*#__PURE__*/_react.default.createElement(_FormComponent.default, {
|
|
21
|
-
component: {
|
|
22
|
-
...row.component,
|
|
27
|
+
component: _objectSpread(_objectSpread({}, row.component), {}, {
|
|
23
28
|
readonly: true
|
|
24
|
-
},
|
|
29
|
+
}),
|
|
25
30
|
wrap: false,
|
|
26
31
|
value: row.value
|
|
27
32
|
}));
|
|
28
33
|
};
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
34
|
+
var getGroupValue = function getGroupValue(group, rows) {
|
|
35
|
+
var firstComponentIndex = -1;
|
|
36
|
+
var value = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, group.components.map(function (componentId) {
|
|
37
|
+
var rowIndex = rows.findIndex(function (r) {
|
|
38
|
+
return r.id === componentId;
|
|
39
|
+
});
|
|
33
40
|
if (firstComponentIndex < 0) {
|
|
34
41
|
firstComponentIndex = rowIndex;
|
|
35
42
|
}
|
|
36
43
|
return rowIndex > -1 ? getRowValue(rows[rowIndex]) : null;
|
|
37
44
|
}));
|
|
38
45
|
return {
|
|
39
|
-
value,
|
|
40
|
-
firstComponentIndex
|
|
46
|
+
value: value,
|
|
47
|
+
firstComponentIndex: firstComponentIndex
|
|
41
48
|
};
|
|
42
49
|
};
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
value,
|
|
46
|
-
firstComponentIndex
|
|
47
|
-
|
|
48
|
-
const row = {
|
|
50
|
+
var getCYARowForGroup = function getCYARowForGroup(page, group, rows, onAction) {
|
|
51
|
+
var _getGroupValue = getGroupValue(group, rows),
|
|
52
|
+
value = _getGroupValue.value,
|
|
53
|
+
firstComponentIndex = _getGroupValue.firstComponentIndex;
|
|
54
|
+
var row = {
|
|
49
55
|
pageId: page.id,
|
|
50
56
|
fieldId: group.id,
|
|
51
57
|
key: group.label,
|
|
52
58
|
required: group.required,
|
|
53
|
-
value,
|
|
59
|
+
value: value,
|
|
54
60
|
action: (0, _getCYAAction.default)(false, page, onAction)
|
|
55
61
|
};
|
|
56
62
|
return {
|
|
57
|
-
row,
|
|
63
|
+
row: row,
|
|
58
64
|
insertAt: firstComponentIndex
|
|
59
65
|
};
|
|
60
66
|
};
|
|
@@ -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', function () {
|
|
10
|
+
describe('CheckYourAnswers', function () {
|
|
11
|
+
describe('getCYARowsForGroup', function () {
|
|
12
|
+
it('should check address values block', function () {
|
|
13
|
+
var COMPONENT_ADDRESS = {
|
|
14
14
|
id: 'firstLineOfTheAddress',
|
|
15
15
|
fieldId: 'firstLineOfTheAddress',
|
|
16
16
|
label: 'address',
|
|
17
17
|
type: 'text'
|
|
18
18
|
};
|
|
19
|
-
|
|
19
|
+
var COMPONENT_TOWN = {
|
|
20
20
|
id: 'town',
|
|
21
21
|
fieldId: 'town',
|
|
22
22
|
label: 'Town',
|
|
23
23
|
type: 'text'
|
|
24
24
|
};
|
|
25
|
-
|
|
25
|
+
var COMPONENT_CITY = {
|
|
26
26
|
id: 'city',
|
|
27
27
|
fieldId: 'city',
|
|
28
28
|
label: 'City',
|
|
29
29
|
type: 'text'
|
|
30
30
|
};
|
|
31
|
-
|
|
31
|
+
var COMPONENT_POSTCODE = {
|
|
32
32
|
id: 'postCode',
|
|
33
33
|
fieldId: 'postCode',
|
|
34
34
|
label: 'postCode',
|
|
35
35
|
type: 'text'
|
|
36
36
|
};
|
|
37
|
-
|
|
37
|
+
var PAGE = {
|
|
38
38
|
components: [COMPONENT_ADDRESS, COMPONENT_TOWN, COMPONENT_CITY, COMPONENT_POSTCODE],
|
|
39
39
|
id: 'addressDetails',
|
|
40
40
|
fieldId: 'UK address',
|
|
@@ -52,13 +52,14 @@ describe('utils', () => {
|
|
|
52
52
|
postCode: 'SW1A 2AA'
|
|
53
53
|
}
|
|
54
54
|
};
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
55
|
+
var ON_ACTION = function ON_ACTION() {};
|
|
56
|
+
var rows = PAGE.components.map(function (component) {
|
|
57
|
+
return (0, _getCYARow.default)(PAGE, component, ON_ACTION);
|
|
58
|
+
});
|
|
59
|
+
var _renderWithValidation = (0, _setupTests.renderWithValidation)((0, _getCYARowForGroup.default)(PAGE, PAGE.groups[0], rows, ON_ACTION).row.value),
|
|
60
|
+
container = _renderWithValidation.container;
|
|
60
61
|
expect(container.childNodes.length).toEqual(4);
|
|
61
|
-
|
|
62
|
+
var addressValues = container.childNodes;
|
|
62
63
|
expect(addressValues[0].childNodes[0].textContent).toEqual('10 Downing Street');
|
|
63
64
|
expect(addressValues[1].childNodes[0].textContent).toEqual('City of Westminster');
|
|
64
65
|
expect(addressValues[2].childNodes[0].textContent).toEqual('London');
|
|
@@ -11,11 +11,14 @@ 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
|
-
|
|
14
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
15
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
16
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
17
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
18
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
19
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // Global imports
|
|
16
20
|
// Local imports
|
|
17
|
-
|
|
18
|
-
const getEntryToCollectionRow = (page, onAction) => {
|
|
21
|
+
var getEntryToCollectionRow = function getEntryToCollectionRow(page, onAction) {
|
|
19
22
|
var _page$components$0$la;
|
|
20
23
|
return [{
|
|
21
24
|
pageId: page.id,
|
|
@@ -24,50 +27,50 @@ const getEntryToCollectionRow = (page, onAction) => {
|
|
|
24
27
|
action: (0, _getCYAAction.default)(false, page, onAction)
|
|
25
28
|
}];
|
|
26
29
|
};
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
})
|
|
42
|
-
const getTitleRowForItem = (collection, item, pageId, labelCount, fullPath) => {
|
|
43
|
-
const labels = {
|
|
44
|
-
..._models.CollectionLabels,
|
|
45
|
-
...collection.labels
|
|
30
|
+
var getContainerForItem = function getContainerForItem(collection, item, labelCount, fullPath) {
|
|
31
|
+
return {
|
|
32
|
+
id: item.id,
|
|
33
|
+
fieldId: item.id,
|
|
34
|
+
type: _models.ComponentTypes.CONTAINER,
|
|
35
|
+
required: collection.required,
|
|
36
|
+
full_path: fullPath,
|
|
37
|
+
components: collection.item.map(function (component) {
|
|
38
|
+
return _objectSpread(_objectSpread({}, component), {}, {
|
|
39
|
+
label: _copReactComponents.Utils.interpolateString(component.label, _objectSpread(_objectSpread({}, item), {}, {
|
|
40
|
+
index: labelCount
|
|
41
|
+
})),
|
|
42
|
+
full_path: "".concat(fullPath, ".").concat(component.fieldId)
|
|
43
|
+
});
|
|
44
|
+
})
|
|
46
45
|
};
|
|
46
|
+
};
|
|
47
|
+
var getTitleRowForItem = function getTitleRowForItem(collection, item, pageId, labelCount, fullPath) {
|
|
48
|
+
var labels = _objectSpread(_objectSpread({}, _models.CollectionLabels), collection.labels);
|
|
47
49
|
if (labels.item) {
|
|
48
50
|
return {
|
|
49
|
-
pageId,
|
|
51
|
+
pageId: pageId,
|
|
50
52
|
fieldId: collection.fieldId,
|
|
51
53
|
full_path: fullPath,
|
|
52
|
-
key: _copReactComponents.Utils.interpolateString(labels.item, {
|
|
53
|
-
...item,
|
|
54
|
+
key: _copReactComponents.Utils.interpolateString(labels.item, _objectSpread(_objectSpread({}, item), {}, {
|
|
54
55
|
index: labelCount
|
|
55
|
-
}),
|
|
56
|
+
})),
|
|
56
57
|
type: 'title',
|
|
57
58
|
action: null
|
|
58
59
|
};
|
|
59
60
|
}
|
|
60
61
|
return null;
|
|
61
62
|
};
|
|
62
|
-
|
|
63
|
+
var getCYARowsForCollection = function getCYARowsForCollection(page, collection, items, onAction, fnOverride) {
|
|
63
64
|
if (Array.isArray(items) && items.length && (0, _showComponentCYA.default)(collection, page.formData)) {
|
|
64
|
-
return items.flatMap((item, index)
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
65
|
+
return items.flatMap(function (item, index) {
|
|
66
|
+
var labelCount = (collection.countOffset || 0) + index + 1;
|
|
67
|
+
var fullPath = "".concat(collection.full_path || collection.fieldId, "[").concat(index, "]");
|
|
68
|
+
var container = getContainerForItem(collection, item, labelCount, fullPath);
|
|
68
69
|
container = (0, _setupContainerComponentsPath.default)(container);
|
|
69
70
|
return [getTitleRowForItem(collection, item, page.id, labelCount, fullPath)].concat((0, _getCYARowsForContainer.default)(page, container, item, onAction, fnOverride));
|
|
70
|
-
}).filter(
|
|
71
|
+
}).filter(function (r) {
|
|
72
|
+
return !!r;
|
|
73
|
+
});
|
|
71
74
|
}
|
|
72
75
|
return getEntryToCollectionRow(page, onAction);
|
|
73
76
|
};
|
|
@@ -4,12 +4,16 @@ 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
|
-
|
|
7
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
8
|
+
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; }
|
|
9
|
+
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; }
|
|
10
|
+
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; }
|
|
11
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
12
|
+
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
|
|
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 = {
|
|
13
17
|
id: 'page',
|
|
14
18
|
components: [{
|
|
15
19
|
labels: {
|
|
@@ -19,42 +23,42 @@ describe('utils.CheckYourAnswers.getCYARowsForCollection', () => {
|
|
|
19
23
|
formData: FORM_DATA,
|
|
20
24
|
cya_link: {}
|
|
21
25
|
};
|
|
22
|
-
|
|
26
|
+
var COMPONENT = {
|
|
23
27
|
type: 'text',
|
|
24
28
|
readonly: true,
|
|
25
29
|
id: 'a',
|
|
26
30
|
fieldId: 'a',
|
|
27
31
|
label: 'Alpha'
|
|
28
32
|
};
|
|
29
|
-
|
|
33
|
+
var COLLECTION = {
|
|
30
34
|
id: 'collection',
|
|
31
35
|
fieldId: 'collection',
|
|
32
36
|
type: _models.ComponentTypes.COLLECTION,
|
|
33
37
|
item: [COMPONENT]
|
|
34
38
|
};
|
|
35
|
-
|
|
36
|
-
|
|
39
|
+
var ON_ACTION = function ON_ACTION() {};
|
|
40
|
+
var ROWS = (0, _getCYARowsForCollection.default)(PAGE, COLLECTION, undefined, ON_ACTION);
|
|
37
41
|
expect(ROWS.length).toEqual(1);
|
|
38
42
|
});
|
|
39
|
-
it('should get an appropriate row for a collection with a single readonly text component', ()
|
|
40
|
-
|
|
43
|
+
it('should get an appropriate row for a collection with a single readonly text component', function () {
|
|
44
|
+
var FORM_DATA = {
|
|
41
45
|
collection: [{
|
|
42
46
|
a: 'Bravo'
|
|
43
47
|
}]
|
|
44
48
|
};
|
|
45
|
-
|
|
49
|
+
var PAGE = {
|
|
46
50
|
id: 'page',
|
|
47
51
|
formData: FORM_DATA,
|
|
48
52
|
cya_link: {}
|
|
49
53
|
};
|
|
50
|
-
|
|
54
|
+
var COMPONENT = {
|
|
51
55
|
type: 'text',
|
|
52
56
|
readonly: true,
|
|
53
57
|
id: 'a',
|
|
54
58
|
fieldId: 'a',
|
|
55
59
|
label: 'Alpha'
|
|
56
60
|
};
|
|
57
|
-
|
|
61
|
+
var COLLECTION = {
|
|
58
62
|
id: 'collection',
|
|
59
63
|
fieldId: 'collection',
|
|
60
64
|
type: _models.ComponentTypes.COLLECTION,
|
|
@@ -63,8 +67,8 @@ describe('utils.CheckYourAnswers.getCYARowsForCollection', () => {
|
|
|
63
67
|
value: FORM_DATA.collection,
|
|
64
68
|
formData: FORM_DATA
|
|
65
69
|
};
|
|
66
|
-
|
|
67
|
-
|
|
70
|
+
var ON_ACTION = function ON_ACTION() {};
|
|
71
|
+
var ROWS = (0, _getCYARowsForCollection.default)(PAGE, COLLECTION, FORM_DATA.collection, ON_ACTION);
|
|
68
72
|
expect(ROWS.length).toEqual(2); // Item title row + component row
|
|
69
73
|
(0, _setupTests.expectObjectLike)(ROWS[0], {
|
|
70
74
|
pageId: PAGE.id,
|
|
@@ -81,32 +85,31 @@ describe('utils.CheckYourAnswers.getCYARowsForCollection', () => {
|
|
|
81
85
|
full_path: "".concat(COLLECTION.fieldId, "[0].").concat(COMPONENT.fieldId),
|
|
82
86
|
key: COMPONENT.label,
|
|
83
87
|
action: null,
|
|
84
|
-
component: {
|
|
85
|
-
...COMPONENT,
|
|
88
|
+
component: _objectSpread(_objectSpread({}, COMPONENT), {}, {
|
|
86
89
|
full_path: "".concat(COLLECTION.fieldId, "[0].").concat(COMPONENT.fieldId)
|
|
87
|
-
},
|
|
90
|
+
}),
|
|
88
91
|
value: 'Bravo'
|
|
89
92
|
});
|
|
90
93
|
});
|
|
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
|
-
|
|
94
|
+
it('should get an appropriate row for a collection with a single readonly text component where the item label is an empty string', function () {
|
|
95
|
+
var FORM_DATA = {
|
|
93
96
|
collection: [{
|
|
94
97
|
a: 'Bravo'
|
|
95
98
|
}]
|
|
96
99
|
};
|
|
97
|
-
|
|
100
|
+
var PAGE = {
|
|
98
101
|
id: 'page',
|
|
99
102
|
formData: FORM_DATA,
|
|
100
103
|
cya_link: {}
|
|
101
104
|
};
|
|
102
|
-
|
|
105
|
+
var COMPONENT = {
|
|
103
106
|
type: 'text',
|
|
104
107
|
readonly: true,
|
|
105
108
|
id: 'a',
|
|
106
109
|
fieldId: 'a',
|
|
107
110
|
label: 'Alpha'
|
|
108
111
|
};
|
|
109
|
-
|
|
112
|
+
var COLLECTION = {
|
|
110
113
|
id: 'collection',
|
|
111
114
|
fieldId: 'collection',
|
|
112
115
|
type: _models.ComponentTypes.COLLECTION,
|
|
@@ -118,8 +121,8 @@ describe('utils.CheckYourAnswers.getCYARowsForCollection', () => {
|
|
|
118
121
|
value: FORM_DATA.collection,
|
|
119
122
|
formData: FORM_DATA
|
|
120
123
|
};
|
|
121
|
-
|
|
122
|
-
|
|
124
|
+
var ON_ACTION = function ON_ACTION() {};
|
|
125
|
+
var ROWS = (0, _getCYARowsForCollection.default)(PAGE, COLLECTION, FORM_DATA.collection, ON_ACTION);
|
|
123
126
|
expect(ROWS.length).toEqual(1); // Just the component row, no title row
|
|
124
127
|
(0, _setupTests.expectObjectLike)(ROWS[0], {
|
|
125
128
|
pageId: PAGE.id,
|
|
@@ -127,33 +130,32 @@ describe('utils.CheckYourAnswers.getCYARowsForCollection', () => {
|
|
|
127
130
|
full_path: "".concat(COLLECTION.fieldId, "[0].").concat(COMPONENT.fieldId),
|
|
128
131
|
key: COMPONENT.label,
|
|
129
132
|
action: null,
|
|
130
|
-
component: {
|
|
131
|
-
...COMPONENT,
|
|
133
|
+
component: _objectSpread(_objectSpread({}, COMPONENT), {}, {
|
|
132
134
|
full_path: "".concat(COLLECTION.fieldId, "[0].").concat(COMPONENT.fieldId)
|
|
133
|
-
},
|
|
135
|
+
}),
|
|
134
136
|
value: 'Bravo'
|
|
135
137
|
});
|
|
136
138
|
});
|
|
137
|
-
it('should interpolate a field label appropriately', ()
|
|
138
|
-
|
|
139
|
+
it('should interpolate a field label appropriately', function () {
|
|
140
|
+
var FORM_DATA = {
|
|
139
141
|
collection: [{
|
|
140
142
|
a: 'Bravo'
|
|
141
143
|
}]
|
|
142
144
|
};
|
|
143
|
-
|
|
145
|
+
var PAGE = {
|
|
144
146
|
id: 'page',
|
|
145
147
|
formData: FORM_DATA,
|
|
146
148
|
cya_link: {}
|
|
147
149
|
};
|
|
148
150
|
// eslint-disable-next-line no-template-curly-in-string
|
|
149
|
-
|
|
151
|
+
var COMPONENT = {
|
|
150
152
|
type: 'text',
|
|
151
153
|
readonly: true,
|
|
152
154
|
id: 'a',
|
|
153
155
|
fieldId: 'a',
|
|
154
156
|
label: 'Alpha ${index}'
|
|
155
157
|
};
|
|
156
|
-
|
|
158
|
+
var COLLECTION = {
|
|
157
159
|
id: 'collection',
|
|
158
160
|
fieldId: 'collection',
|
|
159
161
|
type: _models.ComponentTypes.COLLECTION,
|
|
@@ -161,8 +163,8 @@ describe('utils.CheckYourAnswers.getCYARowsForCollection', () => {
|
|
|
161
163
|
value: FORM_DATA.collection,
|
|
162
164
|
formData: FORM_DATA
|
|
163
165
|
};
|
|
164
|
-
|
|
165
|
-
|
|
166
|
+
var ON_ACTION = function ON_ACTION() {};
|
|
167
|
+
var ROWS = (0, _getCYARowsForCollection.default)(PAGE, COLLECTION, FORM_DATA.collection, ON_ACTION);
|
|
166
168
|
expect(ROWS.length).toEqual(2); // Title and item row.
|
|
167
169
|
(0, _setupTests.expectObjectLike)(ROWS[1], {
|
|
168
170
|
pageId: PAGE.id,
|
|
@@ -171,34 +173,33 @@ describe('utils.CheckYourAnswers.getCYARowsForCollection', () => {
|
|
|
171
173
|
key: 'Alpha 1',
|
|
172
174
|
// no countOffset
|
|
173
175
|
action: null,
|
|
174
|
-
component: {
|
|
175
|
-
...COMPONENT,
|
|
176
|
+
component: _objectSpread(_objectSpread({}, COMPONENT), {}, {
|
|
176
177
|
full_path: "".concat(COLLECTION.fieldId, "[0].").concat(COMPONENT.fieldId),
|
|
177
178
|
label: 'Alpha 1' // no countOffset
|
|
178
|
-
},
|
|
179
|
+
}),
|
|
179
180
|
|
|
180
181
|
value: 'Bravo'
|
|
181
182
|
});
|
|
182
183
|
});
|
|
183
|
-
it('should ignore the result of the override function if it returns nullish', ()
|
|
184
|
-
|
|
184
|
+
it('should ignore the result of the override function if it returns nullish', function () {
|
|
185
|
+
var FORM_DATA = {
|
|
185
186
|
collection: [{
|
|
186
187
|
a: 'Bravo'
|
|
187
188
|
}]
|
|
188
189
|
};
|
|
189
|
-
|
|
190
|
+
var PAGE = {
|
|
190
191
|
id: 'page',
|
|
191
192
|
formData: FORM_DATA,
|
|
192
193
|
cya_link: {}
|
|
193
194
|
};
|
|
194
|
-
|
|
195
|
+
var COMPONENT = {
|
|
195
196
|
type: 'text',
|
|
196
197
|
readonly: true,
|
|
197
198
|
id: 'a',
|
|
198
199
|
fieldId: 'a',
|
|
199
200
|
label: 'Alpha'
|
|
200
201
|
};
|
|
201
|
-
|
|
202
|
+
var COLLECTION = {
|
|
202
203
|
id: 'collection',
|
|
203
204
|
fieldId: 'collection',
|
|
204
205
|
type: _models.ComponentTypes.COLLECTION,
|
|
@@ -207,8 +208,10 @@ describe('utils.CheckYourAnswers.getCYARowsForCollection', () => {
|
|
|
207
208
|
value: FORM_DATA.collection,
|
|
208
209
|
formData: FORM_DATA
|
|
209
210
|
};
|
|
210
|
-
|
|
211
|
-
|
|
211
|
+
var ON_ACTION = function ON_ACTION() {};
|
|
212
|
+
var ROWS = (0, _getCYARowsForCollection.default)(PAGE, COLLECTION, FORM_DATA.collection, ON_ACTION, function () {
|
|
213
|
+
return null;
|
|
214
|
+
});
|
|
212
215
|
expect(ROWS.length).toEqual(2); // Item title row + component row
|
|
213
216
|
(0, _setupTests.expectObjectLike)(ROWS[0], {
|
|
214
217
|
pageId: PAGE.id,
|
|
@@ -225,32 +228,31 @@ describe('utils.CheckYourAnswers.getCYARowsForCollection', () => {
|
|
|
225
228
|
full_path: "".concat(COLLECTION.fieldId, "[0].").concat(COMPONENT.fieldId),
|
|
226
229
|
key: COMPONENT.label,
|
|
227
230
|
action: null,
|
|
228
|
-
component: {
|
|
229
|
-
...COMPONENT,
|
|
231
|
+
component: _objectSpread(_objectSpread({}, COMPONENT), {}, {
|
|
230
232
|
full_path: "".concat(COLLECTION.fieldId, "[0].").concat(COMPONENT.fieldId)
|
|
231
|
-
},
|
|
233
|
+
}),
|
|
232
234
|
value: 'Bravo'
|
|
233
235
|
});
|
|
234
236
|
});
|
|
235
|
-
it('should use rows produced by the override function if provided', ()
|
|
236
|
-
|
|
237
|
+
it('should use rows produced by the override function if provided', function () {
|
|
238
|
+
var FORM_DATA = {
|
|
237
239
|
collection: [{
|
|
238
240
|
a: 'Bravo'
|
|
239
241
|
}]
|
|
240
242
|
};
|
|
241
|
-
|
|
243
|
+
var PAGE = {
|
|
242
244
|
id: 'page',
|
|
243
245
|
formData: FORM_DATA,
|
|
244
246
|
cya_link: {}
|
|
245
247
|
};
|
|
246
|
-
|
|
248
|
+
var COMPONENT = {
|
|
247
249
|
type: 'text',
|
|
248
250
|
readonly: true,
|
|
249
251
|
id: 'a',
|
|
250
252
|
fieldId: 'a',
|
|
251
253
|
label: 'Alpha'
|
|
252
254
|
};
|
|
253
|
-
|
|
255
|
+
var COLLECTION = {
|
|
254
256
|
id: 'collection',
|
|
255
257
|
fieldId: 'collection',
|
|
256
258
|
type: _models.ComponentTypes.COLLECTION,
|
|
@@ -259,16 +261,16 @@ describe('utils.CheckYourAnswers.getCYARowsForCollection', () => {
|
|
|
259
261
|
value: FORM_DATA.collection,
|
|
260
262
|
formData: FORM_DATA
|
|
261
263
|
};
|
|
262
|
-
|
|
264
|
+
var ON_ACTION = function ON_ACTION() {};
|
|
263
265
|
// eslint-disable-next-line arrow-body-style
|
|
264
|
-
|
|
266
|
+
var OVERRIDE = function OVERRIDE(page, comp) {
|
|
265
267
|
// This will be called for each component in the collection,
|
|
266
268
|
// returning a custom row object.
|
|
267
269
|
return {
|
|
268
270
|
key: "CustomRowFor".concat(comp.label)
|
|
269
271
|
};
|
|
270
272
|
};
|
|
271
|
-
|
|
273
|
+
var ROWS = (0, _getCYARowsForCollection.default)(PAGE, COLLECTION, FORM_DATA.collection, ON_ACTION, OVERRIDE);
|
|
272
274
|
expect(ROWS.length).toEqual(2); // Item title row + component row
|
|
273
275
|
(0, _setupTests.expectObjectLike)(ROWS[0], {
|
|
274
276
|
pageId: PAGE.id,
|