@ukhomeoffice/cop-react-form-renderer 6.7.0-alpha → 6.12.0
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 +22 -16
- package/dist/components/CheckYourAnswers/Answer.test.js +180 -92
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +143 -105
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +942 -463
- package/dist/components/CollectionPage/CollectionPage.js +63 -73
- package/dist/components/CollectionPage/CollectionPage.test.js +366 -316
- package/dist/components/CollectionSummary/BannerStrip.js +13 -13
- package/dist/components/CollectionSummary/BannerStrip.test.js +76 -80
- package/dist/components/CollectionSummary/CollectionSummary.js +131 -102
- package/dist/components/CollectionSummary/CollectionSummary.scss +5 -0
- package/dist/components/CollectionSummary/CollectionSummary.test.js +233 -173
- package/dist/components/CollectionSummary/Confirmation.js +12 -14
- package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
- package/dist/components/CollectionSummary/RenderListView.js +57 -48
- package/dist/components/CollectionSummary/RenderListView.scss +1 -1
- package/dist/components/CollectionSummary/RenderListView.test.js +77 -78
- package/dist/components/CollectionSummary/SummaryCard.js +156 -112
- package/dist/components/CollectionSummary/SummaryCard.scss +6 -0
- package/dist/components/CollectionSummary/SummaryCard.test.js +1023 -934
- package/dist/components/CollectionSummary/SummaryCardDetails.js +138 -94
- package/dist/components/CollectionSummary/SummaryCardDetails.scss +15 -4
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +331 -128
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +35 -30
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +74 -62
- package/dist/components/FormComponent/Collection.js +108 -74
- package/dist/components/FormComponent/Collection.test.js +1081 -909
- package/dist/components/FormComponent/Container.js +39 -40
- package/dist/components/FormComponent/Container.test.js +412 -312
- package/dist/components/FormComponent/FormComponent.js +73 -70
- package/dist/components/FormComponent/FormComponent.test.js +414 -353
- 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 +93 -66
- package/dist/components/FormPage/FormPage.test.js +163 -127
- package/dist/components/FormRenderer/FormRenderer.js +180 -143
- 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 +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
- 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 +39 -22
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +74 -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 +97 -103
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +60 -62
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +78 -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 +44 -44
- package/dist/components/FormRenderer/onPageAction.test.js +208 -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 +34 -21
- package/dist/components/SummaryList/SummaryList.scss +15 -0
- package/dist/components/SummaryList/SummaryList.test.js +226 -143
- package/dist/components/SummaryList/SummaryListHeadingRow.js +4 -6
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +53 -0
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.scss +38 -0
- 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 +92 -49
- package/dist/components/TaskList/TaskList.scss +24 -0
- package/dist/components/TaskList/TaskList.test.js +255 -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 +80 -57
- package/dist/context/HooksContext/HooksContext.test.js +35 -26
- package/dist/context/HooksContext/index.js +4 -3
- package/dist/context/ValidationContext/ValidationContext.js +94 -43
- package/dist/context/ValidationContext/ValidationContext.test.js +68 -56
- 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/json/actions.json +17 -0
- package/dist/json/actionsNoSave.json +17 -0
- 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 -29
- 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 +61 -58
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +113 -89
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +320 -162
- 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/getSummaryListRowForDetails.js +42 -0
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +56 -0
- package/dist/utils/CheckYourAnswers/index.js +1 -1
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -17
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +22 -12
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +38 -47
- 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/getErrorsForCollection.js +24 -24
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +22 -20
- package/dist/utils/CollectionPage/getQuickEditPage.js +31 -35
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +27 -15
- package/dist/utils/CollectionPage/index.js +1 -1
- package/dist/utils/CollectionPage/mergeCollectionPages.js +43 -31
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -26
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +6 -4
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
- package/dist/utils/CollectionPage/setCollectionPageData.js +16 -10
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
- 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 +7 -6
- package/dist/utils/Component/elevateNestedComponents.test.js +68 -30
- package/dist/utils/Component/getComponent.js +94 -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 +72 -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 +21 -22
- 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 +6 -1
- package/dist/utils/Component/optionIsSelected.test.js +35 -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 +8 -8
- package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
- package/dist/utils/Condition/meetsCondition.js +25 -16
- package/dist/utils/Condition/meetsCondition.test.js +402 -402
- package/dist/utils/Condition/meetsOneCondition.js +5 -5
- package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
- package/dist/utils/Condition/setupConditions.js +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/deleteValues.js +22 -0
- package/dist/utils/Data/deleteValues.test.js +57 -0
- package/dist/utils/Data/getAutocompleteSource.js +26 -18
- package/dist/utils/Data/getAutocompleteSource.test.js +100 -85
- package/dist/utils/Data/getDataPath.js +28 -18
- package/dist/utils/Data/getDataPath.test.js +12 -12
- package/dist/utils/Data/getOptions.js +31 -24
- package/dist/utils/Data/getOptions.test.js +53 -35
- package/dist/utils/Data/getSourceData.js +19 -6
- package/dist/utils/Data/getSourceData.test.js +80 -84
- package/dist/utils/Data/index.js +3 -1
- package/dist/utils/Data/nestInRefdataOptions.js +16 -9
- package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
- 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/getConditionalText.js +3 -3
- package/dist/utils/FormPage/getConditionalText.test.js +29 -29
- 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/getParagraphFromText.js +7 -5
- package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
- package/dist/utils/FormPage/index.js +4 -2
- 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 -77
- 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 +78 -50
- package/dist/utils/Format/formatDataForForm.js +8 -6
- package/dist/utils/Format/formatDataForForm.test.js +16 -13
- package/dist/utils/Format/formatDataForPage.js +5 -4
- package/dist/utils/Format/formatDataForPage.test.js +25 -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/deleteValueInFormData.js +26 -0
- package/dist/utils/Operate/deleteValueInFormData.test.js +60 -0
- 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 +52 -46
- package/dist/utils/Operate/getLength.js +50 -0
- package/dist/utils/Operate/getLength.test.js +89 -0
- 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 +11 -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 +27 -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 -7
- package/dist/utils/Validate/additional/index.test.js +78 -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/mustBeOneOf.js +21 -0
- package/dist/utils/Validate/additional/mustBeOneOf.test.js +36 -0
- 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 +4 -4
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +39 -35
- 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 +21 -18
- package/dist/utils/Validate/validateComponent.test.js +176 -166
- package/dist/utils/Validate/validateContainer.js +20 -15
- package/dist/utils/Validate/validateContainer.test.js +52 -58
- package/dist/utils/Validate/validateDate.js +21 -15
- package/dist/utils/Validate/validateDate.test.js +32 -31
- 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 +22 -19
- package/dist/utils/Validate/validatePage.test.js +203 -215
- 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 +26 -11
- package/dist/utils/Validate/validateTime.test.js +62 -16
- package/dist/utils/index.js +9 -7
- package/package.json +2 -2
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +0 -37
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +0 -41
|
@@ -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,33 +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
|
+
}),
|
|
180
|
+
|
|
179
181
|
value: 'Bravo'
|
|
180
182
|
});
|
|
181
183
|
});
|
|
182
|
-
it('should ignore the result of the override function if it returns nullish', ()
|
|
183
|
-
|
|
184
|
+
it('should ignore the result of the override function if it returns nullish', function () {
|
|
185
|
+
var FORM_DATA = {
|
|
184
186
|
collection: [{
|
|
185
187
|
a: 'Bravo'
|
|
186
188
|
}]
|
|
187
189
|
};
|
|
188
|
-
|
|
190
|
+
var PAGE = {
|
|
189
191
|
id: 'page',
|
|
190
192
|
formData: FORM_DATA,
|
|
191
193
|
cya_link: {}
|
|
192
194
|
};
|
|
193
|
-
|
|
195
|
+
var COMPONENT = {
|
|
194
196
|
type: 'text',
|
|
195
197
|
readonly: true,
|
|
196
198
|
id: 'a',
|
|
197
199
|
fieldId: 'a',
|
|
198
200
|
label: 'Alpha'
|
|
199
201
|
};
|
|
200
|
-
|
|
202
|
+
var COLLECTION = {
|
|
201
203
|
id: 'collection',
|
|
202
204
|
fieldId: 'collection',
|
|
203
205
|
type: _models.ComponentTypes.COLLECTION,
|
|
@@ -206,8 +208,10 @@ describe('utils.CheckYourAnswers.getCYARowsForCollection', () => {
|
|
|
206
208
|
value: FORM_DATA.collection,
|
|
207
209
|
formData: FORM_DATA
|
|
208
210
|
};
|
|
209
|
-
|
|
210
|
-
|
|
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
|
+
});
|
|
211
215
|
expect(ROWS.length).toEqual(2); // Item title row + component row
|
|
212
216
|
(0, _setupTests.expectObjectLike)(ROWS[0], {
|
|
213
217
|
pageId: PAGE.id,
|
|
@@ -224,32 +228,31 @@ describe('utils.CheckYourAnswers.getCYARowsForCollection', () => {
|
|
|
224
228
|
full_path: "".concat(COLLECTION.fieldId, "[0].").concat(COMPONENT.fieldId),
|
|
225
229
|
key: COMPONENT.label,
|
|
226
230
|
action: null,
|
|
227
|
-
component: {
|
|
228
|
-
...COMPONENT,
|
|
231
|
+
component: _objectSpread(_objectSpread({}, COMPONENT), {}, {
|
|
229
232
|
full_path: "".concat(COLLECTION.fieldId, "[0].").concat(COMPONENT.fieldId)
|
|
230
|
-
},
|
|
233
|
+
}),
|
|
231
234
|
value: 'Bravo'
|
|
232
235
|
});
|
|
233
236
|
});
|
|
234
|
-
it('should use rows produced by the override function if provided', ()
|
|
235
|
-
|
|
237
|
+
it('should use rows produced by the override function if provided', function () {
|
|
238
|
+
var FORM_DATA = {
|
|
236
239
|
collection: [{
|
|
237
240
|
a: 'Bravo'
|
|
238
241
|
}]
|
|
239
242
|
};
|
|
240
|
-
|
|
243
|
+
var PAGE = {
|
|
241
244
|
id: 'page',
|
|
242
245
|
formData: FORM_DATA,
|
|
243
246
|
cya_link: {}
|
|
244
247
|
};
|
|
245
|
-
|
|
248
|
+
var COMPONENT = {
|
|
246
249
|
type: 'text',
|
|
247
250
|
readonly: true,
|
|
248
251
|
id: 'a',
|
|
249
252
|
fieldId: 'a',
|
|
250
253
|
label: 'Alpha'
|
|
251
254
|
};
|
|
252
|
-
|
|
255
|
+
var COLLECTION = {
|
|
253
256
|
id: 'collection',
|
|
254
257
|
fieldId: 'collection',
|
|
255
258
|
type: _models.ComponentTypes.COLLECTION,
|
|
@@ -258,16 +261,16 @@ describe('utils.CheckYourAnswers.getCYARowsForCollection', () => {
|
|
|
258
261
|
value: FORM_DATA.collection,
|
|
259
262
|
formData: FORM_DATA
|
|
260
263
|
};
|
|
261
|
-
|
|
264
|
+
var ON_ACTION = function ON_ACTION() {};
|
|
262
265
|
// eslint-disable-next-line arrow-body-style
|
|
263
|
-
|
|
266
|
+
var OVERRIDE = function OVERRIDE(page, comp) {
|
|
264
267
|
// This will be called for each component in the collection,
|
|
265
268
|
// returning a custom row object.
|
|
266
269
|
return {
|
|
267
270
|
key: "CustomRowFor".concat(comp.label)
|
|
268
271
|
};
|
|
269
272
|
};
|
|
270
|
-
|
|
273
|
+
var ROWS = (0, _getCYARowsForCollection.default)(PAGE, COLLECTION, FORM_DATA.collection, ON_ACTION, OVERRIDE);
|
|
271
274
|
expect(ROWS.length).toEqual(2); // Item title row + component row
|
|
272
275
|
(0, _setupTests.expectObjectLike)(ROWS[0], {
|
|
273
276
|
pageId: PAGE.id,
|