@ukhomeoffice/cop-react-form-renderer 5.89.0 → 5.90.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/CheckYourAnswers/Answer.js +15 -15
- package/dist/components/CheckYourAnswers/Answer.test.js +132 -181
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +106 -142
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +563 -941
- package/dist/components/CheckYourAnswers/index.js +1 -1
- package/dist/components/CollectionPage/CollectionPage.js +76 -66
- package/dist/components/CollectionPage/CollectionPage.test.js +318 -369
- package/dist/components/CollectionPage/index.js +1 -1
- package/dist/components/CollectionSummary/BannerStrip.js +15 -15
- package/dist/components/CollectionSummary/BannerStrip.test.js +83 -79
- package/dist/components/CollectionSummary/CollectionSummary.js +109 -131
- package/dist/components/CollectionSummary/CollectionSummary.test.js +198 -180
- package/dist/components/CollectionSummary/Confirmation.js +15 -13
- package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
- package/dist/components/CollectionSummary/RenderListView.js +47 -55
- package/dist/components/CollectionSummary/RenderListView.test.js +82 -81
- package/dist/components/CollectionSummary/SummaryCard.js +121 -157
- package/dist/components/CollectionSummary/SummaryCard.test.js +970 -1000
- package/dist/components/CollectionSummary/SummaryCardDetails.js +103 -94
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +187 -195
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +31 -36
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +64 -76
- package/dist/components/CollectionSummary/index.js +1 -1
- package/dist/components/FormComponent/Collection.js +81 -117
- package/dist/components/FormComponent/Collection.scss +1 -1
- package/dist/components/FormComponent/Collection.test.js +910 -1082
- package/dist/components/FormComponent/Container.js +45 -38
- package/dist/components/FormComponent/Container.scss +15 -0
- package/dist/components/FormComponent/Container.test.js +379 -411
- package/dist/components/FormComponent/FormComponent.js +71 -74
- package/dist/components/FormComponent/FormComponent.test.js +354 -415
- package/dist/components/FormComponent/helpers/addLabel.js +4 -7
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +8 -8
- package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
- package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
- package/dist/components/FormComponent/helpers/index.js +5 -5
- package/dist/components/FormComponent/index.js +1 -1
- package/dist/components/FormPage/FormPage.js +71 -87
- package/dist/components/FormPage/FormPage.test.js +133 -170
- package/dist/components/FormPage/index.js +1 -1
- package/dist/components/FormRenderer/FormRenderer.js +153 -198
- package/dist/components/FormRenderer/FormRenderer.test.js +731 -1116
- package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
- package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
- package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
- package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
- package/dist/components/FormRenderer/handlers/index.js +2 -2
- package/dist/components/FormRenderer/handlers/navigate.js +4 -4
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +16 -16
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +17 -21
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +27 -30
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
- package/dist/components/FormRenderer/helpers/getCYA.js +5 -7
- package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getFormState.js +6 -8
- package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getNextPageId.js +18 -32
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
- package/dist/components/FormRenderer/helpers/getPage.js +2 -4
- package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +8 -11
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +12 -13
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +104 -98
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +65 -64
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +72 -79
- package/dist/components/FormRenderer/helpers/index.js +2 -2
- package/dist/components/FormRenderer/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +61 -54
- package/dist/components/FormRenderer/onCYAAction.test.js +165 -153
- package/dist/components/FormRenderer/onPageAction.js +45 -41
- package/dist/components/FormRenderer/onPageAction.test.js +225 -210
- package/dist/components/FormRenderer/onTaskAction.js +11 -15
- package/dist/components/FormRenderer/onTaskAction.test.js +94 -89
- package/dist/components/PageActions/ActionButton.js +13 -16
- package/dist/components/PageActions/ActionButton.test.js +57 -79
- package/dist/components/PageActions/PageActions.js +11 -11
- package/dist/components/PageActions/PageActions.test.js +87 -116
- package/dist/components/PageActions/index.js +1 -1
- package/dist/components/SummaryList/GroupAction.js +13 -21
- package/dist/components/SummaryList/GroupAction.test.js +41 -37
- package/dist/components/SummaryList/RowAction.js +12 -17
- package/dist/components/SummaryList/RowAction.test.js +41 -37
- package/dist/components/SummaryList/SummaryList.js +23 -28
- package/dist/components/SummaryList/SummaryList.test.js +179 -206
- package/dist/components/SummaryList/SummaryListHeadingRow.js +8 -6
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +7 -5
- package/dist/components/SummaryList/SummaryListRow.js +8 -6
- package/dist/components/SummaryList/SummaryListTitleRow.js +7 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +4 -6
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +24 -24
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +4 -6
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +24 -24
- package/dist/components/SummaryList/helpers/index.js +2 -2
- package/dist/components/SummaryList/index.js +1 -1
- package/dist/components/TaskList/Task.js +20 -30
- package/dist/components/TaskList/Task.test.js +84 -77
- package/dist/components/TaskList/TaskList.js +53 -84
- package/dist/components/TaskList/TaskList.test.js +150 -150
- package/dist/components/TaskList/TaskState.js +8 -6
- package/dist/components/TaskList/TaskState.test.js +56 -49
- package/dist/components/TaskList/index.js +1 -1
- package/dist/components/index.js +8 -8
- package/dist/context/HooksContext/HooksContext.js +58 -81
- package/dist/context/HooksContext/HooksContext.test.js +27 -36
- package/dist/context/HooksContext/index.js +3 -4
- package/dist/context/ValidationContext/ValidationContext.js +44 -95
- package/dist/context/ValidationContext/ValidationContext.test.js +58 -70
- package/dist/context/ValidationContext/index.js +3 -4
- package/dist/context/index.js +3 -3
- package/dist/hooks/index.js +10 -11
- package/dist/hooks/useAxios.js +15 -41
- package/dist/hooks/useGetRequest.js +62 -98
- package/dist/hooks/useHooks.js +1 -3
- package/dist/hooks/useRefData.js +28 -41
- package/dist/hooks/useValidation.js +1 -3
- package/dist/index.js +14 -15
- package/dist/models/CollectionLabels.js +1 -1
- package/dist/models/ComponentTypes.js +25 -25
- package/dist/models/EventTypes.js +4 -4
- package/dist/models/FormPages.js +4 -4
- package/dist/models/FormTypes.js +8 -8
- package/dist/models/HubFormats.js +3 -3
- package/dist/models/PageAction.js +44 -38
- package/dist/models/TaskStates.js +29 -28
- package/dist/models/index.js +10 -10
- package/dist/setupTests.js +31 -32
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +17 -27
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +34 -36
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +20 -34
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +43 -45
- package/dist/utils/CheckYourAnswers/getCYARow.js +8 -10
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +19 -25
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +39 -45
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +72 -75
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +100 -105
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +218 -182
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +26 -21
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +15 -21
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +77 -83
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +13 -13
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +14 -19
- package/dist/utils/CheckYourAnswers/index.js +2 -2
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +6 -6
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +3 -3
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +21 -22
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +15 -24
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +52 -43
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +3 -3
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -12
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
- package/dist/utils/CollectionPage/getCollectionPageData.js +8 -13
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
- package/dist/utils/CollectionPage/getErrorsForCollection.js +25 -26
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +21 -23
- package/dist/utils/CollectionPage/getQuickEditPage.js +37 -32
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +18 -22
- package/dist/utils/CollectionPage/index.js +2 -2
- package/dist/utils/CollectionPage/mergeCollectionPages.js +37 -42
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -22
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +5 -7
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
- package/dist/utils/CollectionPage/setCollectionPageData.js +13 -19
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +26 -26
- package/dist/utils/Component/addShowWhen.js +4 -8
- package/dist/utils/Component/addShowWhen.test.js +38 -38
- package/dist/utils/Component/applyToComponentTree.js +19 -20
- package/dist/utils/Component/applyToComponentTree.test.js +28 -33
- package/dist/utils/Component/cleanAttributes.js +10 -13
- package/dist/utils/Component/cleanAttributes.test.js +17 -18
- package/dist/utils/Component/elevateNestedComponents.js +6 -7
- package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
- package/dist/utils/Component/getComponent.js +90 -97
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +50 -63
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +40 -49
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +30 -40
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +21 -19
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +22 -27
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +12 -11
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +10 -9
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +23 -27
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +58 -73
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +34 -41
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +23 -32
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +10 -9
- package/dist/utils/Component/getDefaultValue.js +7 -9
- package/dist/utils/Component/getDefaultValue.test.js +13 -13
- package/dist/utils/Component/getDefaultValueFromConfig.js +24 -24
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +32 -32
- package/dist/utils/Component/index.js +2 -2
- package/dist/utils/Component/isEditable.js +2 -4
- package/dist/utils/Component/isEditable.test.js +14 -15
- package/dist/utils/Component/optionIsSelected.js +2 -4
- package/dist/utils/Component/optionIsSelected.test.js +12 -12
- package/dist/utils/Component/setupContainerComponentsPath.js +29 -31
- package/dist/utils/Component/setupContainerComponentsPath.test.js +16 -16
- package/dist/utils/Component/showComponent.js +3 -4
- package/dist/utils/Component/showComponent.test.js +29 -29
- package/dist/utils/Component/wrapInFormGroup.js +4 -4
- package/dist/utils/Condition/index.js +2 -2
- package/dist/utils/Condition/meetsAllConditions.js +9 -9
- package/dist/utils/Condition/meetsAllConditions.test.js +21 -21
- package/dist/utils/Condition/meetsCondition.js +20 -31
- package/dist/utils/Condition/meetsCondition.test.js +403 -403
- package/dist/utils/Condition/meetsOneCondition.js +6 -6
- package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
- package/dist/utils/Condition/setupConditions.js +14 -19
- package/dist/utils/Condition/setupConditions.test.js +8 -8
- package/dist/utils/Container/getEditableComponents.js +4 -6
- package/dist/utils/Container/getEditableComponents.test.js +44 -46
- package/dist/utils/Container/index.js +2 -2
- package/dist/utils/Container/setupNesting.js +16 -22
- package/dist/utils/Container/setupNesting.test.js +28 -31
- package/dist/utils/Container/showContainer.js +4 -8
- package/dist/utils/Container/showContainer.test.js +31 -31
- package/dist/utils/Data/applyFormula.js +40 -50
- package/dist/utils/Data/applyFormula.test.js +26 -26
- package/dist/utils/Data/deleteValues.js +4 -8
- package/dist/utils/Data/deleteValues.test.js +11 -11
- package/dist/utils/Data/getAutocompleteSource.js +20 -29
- package/dist/utils/Data/getAutocompleteSource.test.js +81 -87
- package/dist/utils/Data/getDataPath.js +20 -30
- package/dist/utils/Data/getDataPath.test.js +20 -20
- package/dist/utils/Data/getOptions.js +27 -34
- package/dist/utils/Data/getOptions.test.js +28 -28
- package/dist/utils/Data/getSourceData.js +6 -19
- package/dist/utils/Data/getSourceData.test.js +85 -81
- package/dist/utils/Data/index.js +2 -2
- package/dist/utils/Data/nestInRefdataOptions.js +9 -16
- package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
- package/dist/utils/Data/refDataToOptions.js +11 -15
- package/dist/utils/Data/refDataToOptions.test.js +20 -20
- package/dist/utils/Data/setDataItem.js +7 -8
- package/dist/utils/Data/setDataItem.test.js +38 -38
- package/dist/utils/Data/setupFormData.js +14 -22
- package/dist/utils/Data/setupFormData.test.js +52 -51
- package/dist/utils/Data/setupRefDataUrlForComponent.js +21 -28
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +28 -28
- package/dist/utils/FormPage/applyConditionalProperties.js +6 -10
- package/dist/utils/FormPage/applyConditionalProperties.test.js +16 -19
- package/dist/utils/FormPage/getConditionalText.js +4 -4
- package/dist/utils/FormPage/getConditionalText.test.js +35 -35
- package/dist/utils/FormPage/getFormPage.js +16 -17
- package/dist/utils/FormPage/getFormPage.test.js +49 -48
- package/dist/utils/FormPage/getFormPages.js +8 -13
- package/dist/utils/FormPage/getFormPages.test.js +22 -25
- package/dist/utils/FormPage/getPageActions.js +10 -17
- package/dist/utils/FormPage/getPageActions.test.js +33 -33
- package/dist/utils/FormPage/getParagraphFromText.js +5 -7
- package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
- package/dist/utils/FormPage/index.js +3 -5
- package/dist/utils/FormPage/showFormPage.js +4 -8
- package/dist/utils/FormPage/showFormPage.test.js +33 -33
- package/dist/utils/FormPage/showFormPageCYA.js +3 -3
- package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
- package/dist/utils/FormPage/useComponent.js +21 -28
- package/dist/utils/FormPage/useComponent.test.js +78 -80
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +19 -19
- package/dist/utils/Format/formatDataForComponent.js +6 -7
- package/dist/utils/Format/formatDataForComponent.test.js +50 -78
- package/dist/utils/Format/formatDataForForm.js +6 -8
- package/dist/utils/Format/formatDataForForm.test.js +14 -17
- package/dist/utils/Format/formatDataForPage.js +4 -5
- package/dist/utils/Format/formatDataForPage.test.js +20 -25
- package/dist/utils/Format/index.js +2 -2
- package/dist/utils/Hub/getFormHub.js +2 -2
- package/dist/utils/Hub/getFormHub.test.js +29 -32
- package/dist/utils/Hub/index.js +2 -2
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -4
- package/dist/utils/Meta/documents/getDocuments.test.js +25 -17
- package/dist/utils/Meta/documents/index.js +2 -2
- package/dist/utils/Meta/documents/setDocumentsForField.js +15 -17
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +69 -35
- package/dist/utils/Meta/index.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.js +4 -4
- package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
- package/dist/utils/Operate/deleteValueInFormData.js +3 -3
- package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
- package/dist/utils/Operate/getFirstOf.js +8 -8
- package/dist/utils/Operate/getFirstOf.test.js +33 -33
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +12 -12
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
- package/dist/utils/Operate/getLength.js +11 -11
- package/dist/utils/Operate/getLength.test.js +19 -19
- package/dist/utils/Operate/index.js +2 -2
- package/dist/utils/Operate/persistValueInFormData.js +6 -6
- package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
- package/dist/utils/Operate/runPageOperations.js +9 -9
- package/dist/utils/Operate/runPageOperations.test.js +36 -37
- package/dist/utils/Operate/setValueInFormData.js +5 -5
- package/dist/utils/Operate/setValueInFormData.test.js +17 -17
- package/dist/utils/Operate/shouldRun.js +8 -8
- package/dist/utils/Operate/shouldRun.test.js +22 -28
- package/dist/utils/Validate/additional/conditionallyPermittedChange.js +25 -0
- package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +33 -0
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -5
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
- package/dist/utils/Validate/additional/index.js +10 -8
- package/dist/utils/Validate/additional/index.test.js +22 -22
- package/dist/utils/Validate/additional/mustBeAfter.js +3 -3
- package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
- package/dist/utils/Validate/additional/mustBeBefore.js +3 -3
- package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +9 -14
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +38 -42
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +4 -4
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeInThePast.js +5 -5
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
- package/dist/utils/Validate/additional/mustBeOneOf.js +1 -1
- package/dist/utils/Validate/additional/mustBeOneOf.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +5 -5
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +36 -40
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +3 -5
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +15 -17
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
- package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +3 -5
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
- package/dist/utils/Validate/additional/utils.js +11 -24
- package/dist/utils/Validate/index.js +2 -2
- package/dist/utils/Validate/validateCollection.js +21 -27
- package/dist/utils/Validate/validateCollection.test.js +85 -77
- package/dist/utils/Validate/validateComponent.js +22 -23
- package/dist/utils/Validate/validateComponent.test.js +188 -165
- package/dist/utils/Validate/validateContainer.js +16 -21
- package/dist/utils/Validate/validateContainer.test.js +62 -56
- package/dist/utils/Validate/validateDate.js +17 -23
- package/dist/utils/Validate/validateDate.test.js +31 -32
- package/dist/utils/Validate/validateEmail.js +7 -9
- package/dist/utils/Validate/validateEmail.test.js +26 -26
- package/dist/utils/Validate/validateMultifile.js +5 -7
- package/dist/utils/Validate/validateMultifile.test.js +17 -18
- package/dist/utils/Validate/validatePage.js +20 -24
- package/dist/utils/Validate/validatePage.test.js +227 -215
- package/dist/utils/Validate/validateRegex.js +5 -8
- package/dist/utils/Validate/validateRegex.test.js +17 -17
- package/dist/utils/Validate/validateRequired.js +5 -7
- package/dist/utils/Validate/validateRequired.test.js +19 -19
- package/dist/utils/Validate/validateTextArea.js +5 -7
- package/dist/utils/Validate/validateTextArea.test.js +21 -21
- package/dist/utils/Validate/validateTime.js +12 -19
- package/dist/utils/Validate/validateTime.test.js +27 -27
- package/dist/utils/index.js +8 -10
- package/package.json +3 -2
|
@@ -4,19 +4,16 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
4
4
|
var _copReactComponents = require("@ukhomeoffice/cop-react-components");
|
|
5
5
|
var _setupTests = require("../../setupTests");
|
|
6
6
|
var _SummaryCardDetails = _interopRequireWildcard(require("./SummaryCardDetails"));
|
|
7
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function
|
|
8
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" !=
|
|
9
|
-
function _interopRequireDefault(
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13
|
-
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; }
|
|
14
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
15
|
-
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.
|
|
7
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
8
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
// Global imports.
|
|
11
|
+
|
|
16
12
|
// Local imports.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
|
|
14
|
+
describe('components.CollectionSummary.SummaryCardDetails', () => {
|
|
15
|
+
const classes = _copReactComponents.Utils.classBuilder(_SummaryCardDetails.DEFAULT_CLASS, [], '');
|
|
16
|
+
const ENTRY = {
|
|
20
17
|
id: '001',
|
|
21
18
|
bannerText: 'A banner',
|
|
22
19
|
titleText: 'A title',
|
|
@@ -33,8 +30,8 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
33
30
|
childField2: 'bravo'
|
|
34
31
|
}]
|
|
35
32
|
};
|
|
36
|
-
it('should render sections and fields based on summaryLayout config',
|
|
37
|
-
|
|
33
|
+
it('should render sections and fields based on summaryLayout config', () => {
|
|
34
|
+
const CHILD_PAGES = [{
|
|
38
35
|
summaryLayout: {
|
|
39
36
|
sections: [{
|
|
40
37
|
title: 'Section 1',
|
|
@@ -58,36 +55,35 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
58
55
|
fieldId: 'fieldC'
|
|
59
56
|
}]
|
|
60
57
|
}];
|
|
61
|
-
|
|
58
|
+
const MASTER_PAGE = {
|
|
62
59
|
childPages: CHILD_PAGES
|
|
63
60
|
};
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
70
|
-
|
|
61
|
+
const {
|
|
62
|
+
container
|
|
63
|
+
} = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_SummaryCardDetails.default, {
|
|
64
|
+
masterPage: MASTER_PAGE,
|
|
65
|
+
childMasterPages: [],
|
|
66
|
+
formData: {},
|
|
67
|
+
entryData: ENTRY
|
|
68
|
+
}));
|
|
71
69
|
|
|
72
70
|
// Function to find an element by its text content
|
|
73
71
|
function getByTextContent(parent, text) {
|
|
74
|
-
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(
|
|
75
|
-
return el.textContent === text;
|
|
76
|
-
});
|
|
72
|
+
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(el => el.textContent === text);
|
|
77
73
|
}
|
|
78
74
|
|
|
79
75
|
// Check for section titles
|
|
80
|
-
|
|
81
|
-
|
|
76
|
+
const section1Title = getByTextContent(container, 'Section 1');
|
|
77
|
+
const section2Title = getByTextContent(container, 'Section 2');
|
|
82
78
|
expect(section1Title).not.toBeUndefined();
|
|
83
79
|
expect(section2Title).not.toBeUndefined();
|
|
84
|
-
|
|
85
|
-
expect(section1Content.querySelectorAll(
|
|
86
|
-
|
|
87
|
-
expect(section2Content.querySelectorAll(
|
|
80
|
+
const section1Content = section1Title.parentNode.querySelector(`.${classes('section-content')}`);
|
|
81
|
+
expect(section1Content.querySelectorAll(`.${classes('field')}`).length).toEqual(2);
|
|
82
|
+
const section2Content = section2Title.parentNode.querySelector(`.${classes('section-content')}`);
|
|
83
|
+
expect(section2Content.querySelectorAll(`.${classes('field')}`).length).toEqual(1);
|
|
88
84
|
});
|
|
89
|
-
it('should render sections containing containers based on summaryLayout config',
|
|
90
|
-
|
|
85
|
+
it('should render sections containing containers based on summaryLayout config', () => {
|
|
86
|
+
const CHILD_PAGES = [{
|
|
91
87
|
summaryLayout: {
|
|
92
88
|
sections: [{
|
|
93
89
|
title: 'Section 1',
|
|
@@ -112,7 +108,7 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
112
108
|
}]
|
|
113
109
|
}]
|
|
114
110
|
}];
|
|
115
|
-
|
|
111
|
+
const CONTAINER_ENTRY = {
|
|
116
112
|
id: '001',
|
|
117
113
|
bannerText: 'A banner',
|
|
118
114
|
titleText: 'A title',
|
|
@@ -125,30 +121,29 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
125
121
|
subThree: 'charlie'
|
|
126
122
|
}
|
|
127
123
|
};
|
|
128
|
-
|
|
124
|
+
const MASTER_PAGE = {
|
|
129
125
|
childPages: CHILD_PAGES
|
|
130
126
|
};
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
}
|
|
137
|
-
|
|
127
|
+
const {
|
|
128
|
+
container
|
|
129
|
+
} = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_SummaryCardDetails.default, {
|
|
130
|
+
masterPage: MASTER_PAGE,
|
|
131
|
+
childMasterPages: [],
|
|
132
|
+
formData: {},
|
|
133
|
+
entryData: CONTAINER_ENTRY
|
|
134
|
+
}));
|
|
138
135
|
|
|
139
136
|
// Function to find an element by its text content
|
|
140
137
|
function getByTextContent(parent, text) {
|
|
141
|
-
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(
|
|
142
|
-
return el.textContent === text;
|
|
143
|
-
});
|
|
138
|
+
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(el => el.textContent === text);
|
|
144
139
|
}
|
|
145
140
|
|
|
146
141
|
// Check for section title
|
|
147
|
-
|
|
142
|
+
const section1Title = getByTextContent(container, 'Section 1');
|
|
148
143
|
expect(section1Title).not.toBeUndefined();
|
|
149
144
|
|
|
150
145
|
// All three subcomponents from the container should have labels and values displayed
|
|
151
|
-
|
|
146
|
+
const section1Content = section1Title.parentNode.querySelector(`.${classes('section-content')}`);
|
|
152
147
|
expect(section1Content.textContent).toContain('subOneLabel');
|
|
153
148
|
expect(section1Content.textContent).toContain('alpha');
|
|
154
149
|
expect(section1Content.textContent).toContain('subTwoLabel');
|
|
@@ -156,11 +151,11 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
156
151
|
expect(section1Content.textContent).toContain('subThreeLabel');
|
|
157
152
|
expect(section1Content.textContent).toContain('charlie');
|
|
158
153
|
});
|
|
159
|
-
it('should render sections containing collections with dynamic titles based on summaryLayout config',
|
|
160
|
-
|
|
154
|
+
it('should render sections containing collections with dynamic titles based on summaryLayout config', () => {
|
|
155
|
+
const FORM_DATA = {
|
|
161
156
|
dummyTitleContent: "Kellogg's"
|
|
162
157
|
};
|
|
163
|
-
|
|
158
|
+
const CHILD_PAGES = [{
|
|
164
159
|
summaryLayout: {
|
|
165
160
|
sections: [{
|
|
166
161
|
// eslint-disable-next-line no-template-curly-in-string
|
|
@@ -206,7 +201,7 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
206
201
|
}]
|
|
207
202
|
}]
|
|
208
203
|
}];
|
|
209
|
-
|
|
204
|
+
const COLLECTION_ENTRY = {
|
|
210
205
|
summaryText: 'Full details',
|
|
211
206
|
collectionComponent: [{
|
|
212
207
|
north: 'Never',
|
|
@@ -215,26 +210,27 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
215
210
|
west: 'Wheat'
|
|
216
211
|
}]
|
|
217
212
|
};
|
|
218
|
-
|
|
213
|
+
const MASTER_PAGE = {
|
|
219
214
|
childPages: CHILD_PAGES
|
|
220
215
|
};
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
}
|
|
227
|
-
|
|
216
|
+
const {
|
|
217
|
+
container
|
|
218
|
+
} = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_SummaryCardDetails.default, {
|
|
219
|
+
masterPage: MASTER_PAGE,
|
|
220
|
+
childMasterPages: [],
|
|
221
|
+
formData: {},
|
|
222
|
+
entryData: COLLECTION_ENTRY
|
|
223
|
+
}));
|
|
228
224
|
|
|
229
225
|
// Check for section title
|
|
230
|
-
|
|
226
|
+
const section1Title = container.querySelector(`.${classes('section-title')}`);
|
|
231
227
|
expect(section1Title).not.toBeUndefined();
|
|
232
228
|
|
|
233
229
|
// Check for embedded variables in title
|
|
234
|
-
expect(section1Title.textContent).toEqual(
|
|
230
|
+
expect(section1Title.textContent).toEqual(`Section 1 - Kellogg's`);
|
|
235
231
|
|
|
236
232
|
// All four subcomponents from the container should have labels and values displayed
|
|
237
|
-
|
|
233
|
+
const section1Content = section1Title.parentNode.querySelector(`.${classes('section-content')}`);
|
|
238
234
|
expect(section1Content.textContent).toContain('North');
|
|
239
235
|
expect(section1Content.textContent).toContain('Never');
|
|
240
236
|
expect(section1Content.textContent).toContain('East');
|
|
@@ -244,8 +240,8 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
244
240
|
expect(section1Content.textContent).toContain('West');
|
|
245
241
|
expect(section1Content.textContent).toContain('Wheat');
|
|
246
242
|
});
|
|
247
|
-
it('should render sections if they have show_when checks and pass them',
|
|
248
|
-
|
|
243
|
+
it('should render sections if they have show_when checks and pass them', () => {
|
|
244
|
+
const CHILD_PAGES = [{
|
|
249
245
|
summaryLayout: {
|
|
250
246
|
sections: [{
|
|
251
247
|
title: 'Section 1',
|
|
@@ -274,39 +270,39 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
274
270
|
fieldId: 'fieldC'
|
|
275
271
|
}]
|
|
276
272
|
}];
|
|
277
|
-
|
|
273
|
+
const MASTER_PAGE = {
|
|
278
274
|
childPages: CHILD_PAGES
|
|
279
275
|
};
|
|
280
|
-
|
|
276
|
+
const CUSTOM_ENTRY = {
|
|
277
|
+
...ENTRY,
|
|
281
278
|
showSection1: true
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
}
|
|
289
|
-
|
|
279
|
+
};
|
|
280
|
+
const {
|
|
281
|
+
container
|
|
282
|
+
} = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_SummaryCardDetails.default, {
|
|
283
|
+
masterPage: MASTER_PAGE,
|
|
284
|
+
childMasterPages: [],
|
|
285
|
+
formData: {},
|
|
286
|
+
entryData: CUSTOM_ENTRY
|
|
287
|
+
}));
|
|
290
288
|
|
|
291
289
|
// Function to find an element by its text content
|
|
292
290
|
function getByTextContent(parent, text) {
|
|
293
|
-
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(
|
|
294
|
-
return el.textContent === text;
|
|
295
|
-
});
|
|
291
|
+
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(el => el.textContent === text);
|
|
296
292
|
}
|
|
297
293
|
|
|
298
294
|
// Check for section titles
|
|
299
|
-
|
|
300
|
-
|
|
295
|
+
const section1Title = getByTextContent(container, 'Section 1');
|
|
296
|
+
const section2Title = getByTextContent(container, 'Section 2');
|
|
301
297
|
expect(section1Title).not.toBeUndefined();
|
|
302
298
|
expect(section2Title).not.toBeUndefined();
|
|
303
|
-
|
|
304
|
-
expect(section1Content.querySelectorAll(
|
|
305
|
-
|
|
306
|
-
expect(section2Content.querySelectorAll(
|
|
299
|
+
const section1Content = section1Title.parentNode.querySelector(`.${classes('section-content')}`);
|
|
300
|
+
expect(section1Content.querySelectorAll(`.${classes('field')}`).length).toEqual(2);
|
|
301
|
+
const section2Content = section2Title.parentNode.querySelector(`.${classes('section-content')}`);
|
|
302
|
+
expect(section2Content.querySelectorAll(`.${classes('field')}`).length).toEqual(1);
|
|
307
303
|
});
|
|
308
|
-
it('should not render sections if they have show_when checks and fail them',
|
|
309
|
-
|
|
304
|
+
it('should not render sections if they have show_when checks and fail them', () => {
|
|
305
|
+
const CHILD_PAGES = [{
|
|
310
306
|
summaryLayout: {
|
|
311
307
|
sections: [{
|
|
312
308
|
title: 'Section 1',
|
|
@@ -335,37 +331,37 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
335
331
|
fieldId: 'fieldC'
|
|
336
332
|
}]
|
|
337
333
|
}];
|
|
338
|
-
|
|
334
|
+
const MASTER_PAGE = {
|
|
339
335
|
childPages: CHILD_PAGES
|
|
340
336
|
};
|
|
341
|
-
|
|
337
|
+
const CUSTOM_ENTRY = {
|
|
338
|
+
...ENTRY,
|
|
342
339
|
showSection1: false
|
|
343
|
-
}
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
}
|
|
350
|
-
|
|
340
|
+
};
|
|
341
|
+
const {
|
|
342
|
+
container
|
|
343
|
+
} = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_SummaryCardDetails.default, {
|
|
344
|
+
masterPage: MASTER_PAGE,
|
|
345
|
+
childMasterPages: [],
|
|
346
|
+
formData: {},
|
|
347
|
+
entryData: CUSTOM_ENTRY
|
|
348
|
+
}));
|
|
351
349
|
|
|
352
350
|
// Function to find an element by its text content
|
|
353
351
|
function getByTextContent(parent, text) {
|
|
354
|
-
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(
|
|
355
|
-
return el.textContent === text;
|
|
356
|
-
});
|
|
352
|
+
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(el => el.textContent === text);
|
|
357
353
|
}
|
|
358
354
|
|
|
359
355
|
// Check for section titles
|
|
360
|
-
|
|
361
|
-
|
|
356
|
+
const section1Title = getByTextContent(container, 'Section 1');
|
|
357
|
+
const section2Title = getByTextContent(container, 'Section 2');
|
|
362
358
|
expect(section1Title).toBeUndefined();
|
|
363
359
|
expect(section2Title).not.toBeUndefined();
|
|
364
|
-
|
|
365
|
-
expect(section2Content.querySelectorAll(
|
|
360
|
+
const section2Content = section2Title.parentNode.querySelector(`.${classes('section-content')}`);
|
|
361
|
+
expect(section2Content.querySelectorAll(`.${classes('field')}`).length).toEqual(1);
|
|
366
362
|
});
|
|
367
|
-
it('should not render components that fail show_when checks',
|
|
368
|
-
|
|
363
|
+
it('should not render components that fail show_when checks', () => {
|
|
364
|
+
const CHILD_PAGES = [{
|
|
369
365
|
summaryLayout: {
|
|
370
366
|
sections: [{
|
|
371
367
|
title: 'Section 1',
|
|
@@ -394,37 +390,36 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
394
390
|
fieldId: 'fieldC'
|
|
395
391
|
}]
|
|
396
392
|
}];
|
|
397
|
-
|
|
393
|
+
const MASTER_PAGE = {
|
|
398
394
|
childPages: CHILD_PAGES
|
|
399
395
|
};
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
}
|
|
406
|
-
|
|
396
|
+
const {
|
|
397
|
+
container
|
|
398
|
+
} = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_SummaryCardDetails.default, {
|
|
399
|
+
masterPage: MASTER_PAGE,
|
|
400
|
+
childMasterPages: [],
|
|
401
|
+
formData: {},
|
|
402
|
+
entryData: ENTRY
|
|
403
|
+
}));
|
|
407
404
|
|
|
408
405
|
// Function to find an element by its text content
|
|
409
406
|
function getByTextContent(parent, text) {
|
|
410
|
-
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(
|
|
411
|
-
return el.textContent === text;
|
|
412
|
-
});
|
|
407
|
+
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(el => el.textContent === text);
|
|
413
408
|
}
|
|
414
409
|
|
|
415
410
|
// Check for section titles
|
|
416
|
-
|
|
417
|
-
|
|
411
|
+
const section1Title = getByTextContent(container, 'Section 1');
|
|
412
|
+
const section2Title = getByTextContent(container, 'Section 2');
|
|
418
413
|
expect(section1Title).not.toBeUndefined();
|
|
419
414
|
expect(section2Title).not.toBeUndefined();
|
|
420
|
-
|
|
421
|
-
expect(section1Content.querySelectorAll(
|
|
415
|
+
const section1Content = section1Title.parentNode.querySelector(`.${classes('section-content')}`);
|
|
416
|
+
expect(section1Content.querySelectorAll(`.${classes('field')}`).length).toEqual(1); // Just Field A, Field B should be hidden.
|
|
422
417
|
|
|
423
|
-
|
|
424
|
-
expect(section2Content.querySelectorAll(
|
|
418
|
+
const section2Content = section2Title.parentNode.querySelector(`.${classes('section-content')}`);
|
|
419
|
+
expect(section2Content.querySelectorAll(`.${classes('field')}`).length).toEqual(1);
|
|
425
420
|
});
|
|
426
|
-
it('should not render sections on pages that fail show_when checks',
|
|
427
|
-
|
|
421
|
+
it('should not render sections on pages that fail show_when checks', () => {
|
|
422
|
+
const CHILD_PAGES = [{
|
|
428
423
|
show_when: [{
|
|
429
424
|
field: 'testField',
|
|
430
425
|
op: '=',
|
|
@@ -458,37 +453,37 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
458
453
|
fieldId: 'fieldC'
|
|
459
454
|
}]
|
|
460
455
|
}];
|
|
461
|
-
|
|
456
|
+
const MASTER_PAGE = {
|
|
462
457
|
childPages: CHILD_PAGES
|
|
463
458
|
};
|
|
464
|
-
|
|
459
|
+
const CUSTOM_ENTRY = {
|
|
460
|
+
...ENTRY,
|
|
465
461
|
showSection1: false
|
|
466
|
-
}
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
}
|
|
475
|
-
|
|
462
|
+
};
|
|
463
|
+
const {
|
|
464
|
+
container
|
|
465
|
+
} = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_SummaryCardDetails.default, {
|
|
466
|
+
masterPage: MASTER_PAGE,
|
|
467
|
+
childMasterPages: [],
|
|
468
|
+
formData: {
|
|
469
|
+
testField: false
|
|
470
|
+
},
|
|
471
|
+
entryData: CUSTOM_ENTRY
|
|
472
|
+
}));
|
|
476
473
|
|
|
477
474
|
// Function to find an element by its text content
|
|
478
475
|
function getByTextContent(parent, text) {
|
|
479
|
-
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(
|
|
480
|
-
return el.textContent === text;
|
|
481
|
-
});
|
|
476
|
+
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(el => el.textContent === text);
|
|
482
477
|
}
|
|
483
478
|
|
|
484
479
|
// Check for section titles
|
|
485
|
-
|
|
486
|
-
|
|
480
|
+
const section1Title = getByTextContent(container, 'Section 1');
|
|
481
|
+
const section2Title = getByTextContent(container, 'Section 2');
|
|
487
482
|
expect(section1Title).toBeUndefined();
|
|
488
483
|
expect(section2Title).toBeUndefined();
|
|
489
484
|
});
|
|
490
|
-
it('should not render columns that fail show_when checks',
|
|
491
|
-
|
|
485
|
+
it('should not render columns that fail show_when checks', () => {
|
|
486
|
+
const CHILD_PAGES = [{
|
|
492
487
|
summaryLayout: {
|
|
493
488
|
sections: [{
|
|
494
489
|
title: 'Section 1',
|
|
@@ -512,34 +507,33 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
512
507
|
label: 'fieldB'
|
|
513
508
|
}]
|
|
514
509
|
}];
|
|
515
|
-
|
|
510
|
+
const MASTER_PAGE = {
|
|
516
511
|
childPages: CHILD_PAGES
|
|
517
512
|
};
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
}
|
|
526
|
-
|
|
513
|
+
const {
|
|
514
|
+
container
|
|
515
|
+
} = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_SummaryCardDetails.default, {
|
|
516
|
+
masterPage: MASTER_PAGE,
|
|
517
|
+
childMasterPages: [],
|
|
518
|
+
formData: {
|
|
519
|
+
testField: false
|
|
520
|
+
},
|
|
521
|
+
entryData: ENTRY
|
|
522
|
+
}));
|
|
527
523
|
|
|
528
524
|
// Function to find an element by its text content
|
|
529
525
|
function getByTextContent(parent, text) {
|
|
530
|
-
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(
|
|
531
|
-
return el.textContent === text;
|
|
532
|
-
});
|
|
526
|
+
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(el => el.textContent === text);
|
|
533
527
|
}
|
|
534
528
|
|
|
535
529
|
// Check for section titles
|
|
536
|
-
|
|
530
|
+
const section1Title = getByTextContent(container, 'Section 1');
|
|
537
531
|
expect(section1Title).toBeDefined();
|
|
538
|
-
|
|
539
|
-
expect(section1Content.querySelectorAll(
|
|
532
|
+
const section1Content = section1Title.parentNode.querySelector(`.${classes('section-content')}`);
|
|
533
|
+
expect(section1Content.querySelectorAll(`.${classes('field')}`).length).toEqual(1);
|
|
540
534
|
});
|
|
541
|
-
it('should render child collections',
|
|
542
|
-
|
|
535
|
+
it('should render child collections', () => {
|
|
536
|
+
const CHILD_MASTER_PAGES = [{
|
|
543
537
|
collection: {
|
|
544
538
|
name: 'childCollection'
|
|
545
539
|
},
|
|
@@ -561,7 +555,7 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
561
555
|
}
|
|
562
556
|
}]
|
|
563
557
|
}];
|
|
564
|
-
|
|
558
|
+
const CHILD_PAGES = [{
|
|
565
559
|
summaryLayout: {
|
|
566
560
|
sections: [{
|
|
567
561
|
type: 'childCollection',
|
|
@@ -577,35 +571,33 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
577
571
|
fieldId: 'fieldC'
|
|
578
572
|
}]
|
|
579
573
|
}];
|
|
580
|
-
|
|
574
|
+
const MASTER_PAGE = {
|
|
581
575
|
childPages: [].concat(CHILD_PAGES, CHILD_MASTER_PAGES)
|
|
582
576
|
};
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
}
|
|
590
|
-
|
|
577
|
+
const CHILD_COLLECTIONS = ['childCollection'];
|
|
578
|
+
const {
|
|
579
|
+
container
|
|
580
|
+
} = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_SummaryCardDetails.default, {
|
|
581
|
+
masterPage: MASTER_PAGE,
|
|
582
|
+
childCollections: CHILD_COLLECTIONS,
|
|
583
|
+
formData: {},
|
|
584
|
+
entryData: ENTRY
|
|
585
|
+
}));
|
|
591
586
|
|
|
592
587
|
// Function to find an element by its text content
|
|
593
588
|
function getByTextContent(parent, text) {
|
|
594
|
-
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(
|
|
595
|
-
return el.textContent === text;
|
|
596
|
-
});
|
|
589
|
+
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(el => el.textContent === text);
|
|
597
590
|
}
|
|
598
|
-
|
|
591
|
+
const childCollectionSectionTitle = getByTextContent(container, 'Children');
|
|
599
592
|
expect(childCollectionSectionTitle).not.toBeUndefined();
|
|
600
|
-
|
|
593
|
+
const childSectionTitles = getByTextContent(container, 'Hidden Title');
|
|
601
594
|
expect(childSectionTitles).toBeUndefined(); // Individual section title for child collections should be hidden.
|
|
602
595
|
|
|
603
|
-
|
|
596
|
+
const childFields = container.querySelectorAll(`.${classes('section')}`);
|
|
604
597
|
expect(childFields.length).toEqual(2); // One for each entry in the child collection.
|
|
605
598
|
});
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
var CHILD_PAGES = [{
|
|
599
|
+
it('should render components if a component with the same ID has already failed a show_when', () => {
|
|
600
|
+
const CHILD_PAGES = [{
|
|
609
601
|
summaryLayout: {
|
|
610
602
|
sections: [{
|
|
611
603
|
title: 'Section 1',
|
|
@@ -636,28 +628,28 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
636
628
|
}]
|
|
637
629
|
}]
|
|
638
630
|
}];
|
|
639
|
-
|
|
631
|
+
const MASTER_PAGE = {
|
|
640
632
|
childPages: CHILD_PAGES
|
|
641
633
|
};
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
634
|
+
const {
|
|
635
|
+
container
|
|
636
|
+
} = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react.default.createElement(_SummaryCardDetails.default, {
|
|
637
|
+
masterPage: MASTER_PAGE,
|
|
638
|
+
childMasterPages: [],
|
|
639
|
+
formData: {},
|
|
640
|
+
entryData: {
|
|
641
|
+
...ENTRY,
|
|
642
|
+
fieldA: 'notTheRightValue'
|
|
643
|
+
}
|
|
644
|
+
}));
|
|
651
645
|
|
|
652
646
|
// Function to find an element by its text content
|
|
653
647
|
function getByTextContent(parent, text) {
|
|
654
|
-
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(
|
|
655
|
-
return el.textContent === text;
|
|
656
|
-
});
|
|
648
|
+
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(el => el.textContent === text);
|
|
657
649
|
}
|
|
658
|
-
|
|
650
|
+
const section1Title = getByTextContent(container, 'Section 1');
|
|
659
651
|
expect(section1Title).not.toBeUndefined();
|
|
660
|
-
|
|
661
|
-
expect(section1Content.querySelectorAll(
|
|
652
|
+
const section1Content = section1Title.parentNode.querySelector(`.${classes('section-content')}`);
|
|
653
|
+
expect(section1Content.querySelectorAll(`.${classes('field')}`).length).toEqual(2);
|
|
662
654
|
});
|
|
663
655
|
});
|