@ukhomeoffice/cop-react-form-renderer 6.14.0 → 6.14.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/README.md +5 -0
- package/dist/components/CheckYourAnswers/Answer.js +12 -11
- package/dist/components/CheckYourAnswers/Answer.test.js +132 -181
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +98 -133
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +544 -939
- package/dist/components/CheckYourAnswers/index.js +1 -1
- package/dist/components/CollectionPage/CollectionPage.js +62 -60
- package/dist/components/CollectionPage/CollectionPage.test.js +315 -365
- package/dist/components/CollectionPage/index.js +1 -1
- package/dist/components/CollectionSummary/BannerStrip.js +14 -14
- package/dist/components/CollectionSummary/BannerStrip.test.js +79 -74
- package/dist/components/CollectionSummary/CollectionSummary.js +75 -97
- package/dist/components/CollectionSummary/CollectionSummary.test.js +182 -166
- package/dist/components/CollectionSummary/Confirmation.js +15 -13
- package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
- package/dist/components/CollectionSummary/RenderListView.js +34 -47
- package/dist/components/CollectionSummary/RenderListView.test.js +113 -111
- package/dist/components/CollectionSummary/SummaryCard.js +101 -133
- package/dist/components/CollectionSummary/SummaryCard.test.js +961 -993
- package/dist/components/CollectionSummary/SummaryCardButtons.js +25 -30
- package/dist/components/CollectionSummary/SummaryCardButtons.test.js +30 -28
- package/dist/components/CollectionSummary/SummaryCardDetails.js +59 -76
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +170 -180
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +31 -36
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +63 -75
- package/dist/components/CollectionSummary/index.js +1 -1
- package/dist/components/FormComponent/Collection.js +63 -100
- package/dist/components/FormComponent/Collection.test.js +907 -1080
- package/dist/components/FormComponent/Container.js +35 -29
- package/dist/components/FormComponent/Container.test.js +378 -409
- package/dist/components/FormComponent/FormComponent.js +59 -63
- 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 +70 -93
- package/dist/components/FormPage/FormPage.test.js +150 -202
- package/dist/components/FormPage/index.js +1 -1
- package/dist/components/FormRenderer/FormRenderer.js +131 -173
- package/dist/components/FormRenderer/FormRenderer.test.js +732 -1114
- 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 +22 -25
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
- package/dist/components/FormRenderer/helpers/getCYA.js +4 -6
- 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 +14 -25
- 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 +7 -9
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +6 -6
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +104 -98
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +44 -51
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +68 -74
- package/dist/components/FormRenderer/helpers/index.js +2 -2
- package/dist/components/FormRenderer/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +43 -44
- package/dist/components/FormRenderer/onCYAAction.test.js +126 -133
- package/dist/components/FormRenderer/onPageAction.js +26 -35
- package/dist/components/FormRenderer/onPageAction.test.js +177 -186
- package/dist/components/FormRenderer/onTaskAction.js +11 -12
- package/dist/components/FormRenderer/onTaskAction.test.js +63 -68
- package/dist/components/PageActions/ActionButton.js +14 -14
- 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 +10 -18
- package/dist/components/SummaryList/GroupAction.test.js +38 -34
- package/dist/components/SummaryList/RowAction.js +12 -17
- package/dist/components/SummaryList/RowAction.test.js +38 -34
- package/dist/components/SummaryList/SummaryList.js +23 -25
- package/dist/components/SummaryList/SummaryList.test.js +162 -189
- package/dist/components/SummaryList/SummaryListHeadingRow.js +7 -5
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +7 -5
- package/dist/components/SummaryList/SummaryListRow.js +7 -5
- package/dist/components/SummaryList/SummaryListTitleRow.js +6 -4
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +23 -23
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +23 -23
- 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 +56 -79
- package/dist/components/TaskList/TaskList.test.js +149 -149
- package/dist/components/TaskList/TaskState.js +8 -6
- package/dist/components/TaskList/TaskState.test.js +53 -46
- package/dist/components/TaskList/index.js +1 -1
- package/dist/components/index.js +8 -8
- package/dist/context/HooksContext/HooksContext.js +56 -79
- 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 +57 -69
- 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 +25 -37
- 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 +30 -31
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +12 -21
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +32 -33
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +15 -28
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +41 -42
- package/dist/utils/CheckYourAnswers/getCYARow.js +7 -7
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +19 -21
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +27 -34
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +48 -52
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +76 -93
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +110 -115
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +11 -16
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +14 -19
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +69 -73
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +7 -8
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +15 -16
- package/dist/utils/CheckYourAnswers/index.js +2 -2
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +5 -5
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -19
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +13 -20
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +48 -39
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
- package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
- package/dist/utils/CollectionPage/getErrorsForCollection.js +20 -21
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +21 -23
- package/dist/utils/CollectionPage/getQuickEditPage.js +22 -23
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +17 -18
- package/dist/utils/CollectionPage/index.js +2 -2
- package/dist/utils/CollectionPage/mergeCollectionPages.js +26 -35
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +18 -18
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +5 -7
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
- package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +25 -25
- package/dist/utils/Component/addShowWhen.js +5 -6
- package/dist/utils/Component/addShowWhen.test.js +38 -38
- package/dist/utils/Component/applyToComponentTree.js +12 -15
- package/dist/utils/Component/applyToComponentTree.test.js +28 -31
- package/dist/utils/Component/cleanAttributes.js +12 -11
- package/dist/utils/Component/cleanAttributes.test.js +17 -18
- package/dist/utils/Component/elevateNestedComponents.js +6 -6
- package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
- package/dist/utils/Component/getComponent.js +79 -85
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +41 -58
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +40 -49
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +24 -34
- 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 +21 -26
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +11 -10
- 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 +201 -226
- 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 +32 -39
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +21 -30
- 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 +16 -20
- 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 +23 -28
- package/dist/utils/Component/setupContainerComponentsPath.test.js +12 -12
- package/dist/utils/Component/showComponent.js +2 -2
- 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 +17 -26
- 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 +12 -15
- 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 +14 -15
- package/dist/utils/Container/setupNesting.test.js +20 -23
- package/dist/utils/Container/showContainer.js +4 -8
- package/dist/utils/Container/showContainer.test.js +31 -31
- package/dist/utils/Data/applyFormula.js +30 -44
- package/dist/utils/Data/applyFormula.test.js +21 -21
- package/dist/utils/Data/deleteValues.js +4 -8
- package/dist/utils/Data/deleteValues.test.js +11 -11
- package/dist/utils/Data/getAutocompleteSource.js +19 -27
- package/dist/utils/Data/getAutocompleteSource.test.js +76 -81
- package/dist/utils/Data/getDataPath.js +18 -28
- package/dist/utils/Data/getDataPath.test.js +13 -13
- package/dist/utils/Data/getOptions.js +35 -42
- package/dist/utils/Data/getOptions.test.js +37 -38
- 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 -12
- package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
- package/dist/utils/Data/refDataToOptions.js +9 -10
- 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 +13 -20
- package/dist/utils/Data/setupFormData.test.js +48 -47
- package/dist/utils/Data/setupRefDataUrlForComponent.js +11 -20
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +25 -25
- package/dist/utils/FormPage/applyConditionalProperties.js +7 -8
- package/dist/utils/FormPage/applyConditionalProperties.test.js +14 -15
- package/dist/utils/FormPage/getConditionalText.js +4 -4
- package/dist/utils/FormPage/getConditionalText.test.js +30 -30
- package/dist/utils/FormPage/getFormPage.js +12 -15
- package/dist/utils/FormPage/getFormPage.test.js +23 -24
- package/dist/utils/FormPage/getFormPages.js +8 -11
- package/dist/utils/FormPage/getFormPages.test.js +15 -16
- package/dist/utils/FormPage/getPageActions.js +10 -13
- 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 +2 -2
- package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
- package/dist/utils/FormPage/useComponent.js +15 -23
- package/dist/utils/FormPage/useComponent.test.js +49 -50
- 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 +5 -6
- 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 +23 -24
- package/dist/utils/Hub/index.js +2 -2
- 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 +25 -17
- package/dist/utils/Meta/documents/index.js +2 -2
- package/dist/utils/Meta/documents/setDocumentsForField.js +12 -13
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +70 -33
- package/dist/utils/Meta/index.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.js +3 -3
- package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
- package/dist/utils/Operate/deleteValueInFormData.js +2 -2
- package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
- package/dist/utils/Operate/getFirstOf.js +6 -6
- package/dist/utils/Operate/getFirstOf.test.js +32 -32
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +11 -11
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
- package/dist/utils/Operate/getLength.js +9 -9
- package/dist/utils/Operate/getLength.test.js +19 -19
- package/dist/utils/Operate/index.js +2 -2
- package/dist/utils/Operate/persistValueInFormData.js +4 -4
- package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
- package/dist/utils/Operate/runPageOperations.js +8 -8
- package/dist/utils/Operate/runPageOperations.test.js +24 -25
- package/dist/utils/Operate/setValueInFormData.js +3 -3
- package/dist/utils/Operate/setValueInFormData.test.js +17 -17
- package/dist/utils/Operate/shouldRun.js +7 -7
- package/dist/utils/Operate/shouldRun.test.js +22 -24
- package/dist/utils/Validate/additional/conditionallyPermittedChange.js +1 -1
- package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +15 -15
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
- package/dist/utils/Validate/additional/index.js +8 -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 +8 -12
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -38
- 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 +3 -3
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeInThePast.js +4 -4
- 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 +35 -36
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- 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 +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
- package/dist/utils/Validate/additional/utils.js +9 -22
- package/dist/utils/Validate/index.js +2 -2
- package/dist/utils/Validate/validateCollection.js +18 -23
- package/dist/utils/Validate/validateCollection.test.js +75 -67
- package/dist/utils/Validate/validateComponent.js +19 -19
- package/dist/utils/Validate/validateComponent.test.js +179 -154
- package/dist/utils/Validate/validateContainer.js +14 -17
- package/dist/utils/Validate/validateContainer.test.js +59 -53
- package/dist/utils/Validate/validateDate.js +16 -22
- package/dist/utils/Validate/validateDate.test.js +31 -32
- package/dist/utils/Validate/validateEmail.js +7 -9
- package/dist/utils/Validate/validateEmail.test.js +27 -27
- package/dist/utils/Validate/validateMultifile.js +5 -7
- package/dist/utils/Validate/validateMultifile.test.js +17 -18
- package/dist/utils/Validate/validatePage.js +13 -18
- package/dist/utils/Validate/validatePage.test.js +198 -195
- package/dist/utils/Validate/validateRegex.js +3 -5
- package/dist/utils/Validate/validateRegex.test.js +15 -15
- package/dist/utils/Validate/validateRequired.js +4 -6
- package/dist/utils/Validate/validateRequired.test.js +19 -19
- package/dist/utils/Validate/validateTextArea.js +4 -6
- 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 +5 -6
- package/package.json +2 -4
|
@@ -4,19 +4,18 @@ 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
|
-
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); }
|
|
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 }; }
|
|
11
10
|
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; }
|
|
12
11
|
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(
|
|
14
|
-
function _toPropertyKey(
|
|
15
|
-
function _toPrimitive(
|
|
12
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
13
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
14
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // Global imports.
|
|
16
15
|
// Local imports.
|
|
17
|
-
describe('components.CollectionSummary.SummaryCardDetails',
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
describe('components.CollectionSummary.SummaryCardDetails', () => {
|
|
17
|
+
const classes = _copReactComponents.Utils.classBuilder(_SummaryCardDetails.DEFAULT_CLASS, [], '');
|
|
18
|
+
const ENTRY = {
|
|
20
19
|
id: '001',
|
|
21
20
|
bannerText: 'A banner',
|
|
22
21
|
titleText: 'A title',
|
|
@@ -33,8 +32,8 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
33
32
|
childField2: 'bravo'
|
|
34
33
|
}]
|
|
35
34
|
};
|
|
36
|
-
it('should render sections and fields based on summaryLayout config',
|
|
37
|
-
|
|
35
|
+
it('should render sections and fields based on summaryLayout config', () => {
|
|
36
|
+
const CHILD_PAGES = [{
|
|
38
37
|
summaryLayout: {
|
|
39
38
|
sections: [{
|
|
40
39
|
title: 'Section 1',
|
|
@@ -58,36 +57,35 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
58
57
|
fieldId: 'fieldC'
|
|
59
58
|
}]
|
|
60
59
|
}];
|
|
61
|
-
|
|
60
|
+
const MASTER_PAGE = {
|
|
62
61
|
childPages: CHILD_PAGES
|
|
63
62
|
};
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
70
|
-
|
|
63
|
+
const {
|
|
64
|
+
container
|
|
65
|
+
} = (0, _setupTests.renderWithValidation)(/*#__PURE__*/_react.default.createElement(_SummaryCardDetails.default, {
|
|
66
|
+
masterPage: MASTER_PAGE,
|
|
67
|
+
childMasterPages: [],
|
|
68
|
+
formData: {},
|
|
69
|
+
entryData: ENTRY
|
|
70
|
+
}));
|
|
71
71
|
|
|
72
72
|
// Function to find an element by its text content
|
|
73
73
|
function getByTextContent(parent, text) {
|
|
74
|
-
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(
|
|
75
|
-
return el.textContent === text;
|
|
76
|
-
});
|
|
74
|
+
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(el => el.textContent === text);
|
|
77
75
|
}
|
|
78
76
|
|
|
79
77
|
// Check for section titles
|
|
80
|
-
|
|
81
|
-
|
|
78
|
+
const section1Title = getByTextContent(container, 'Section 1');
|
|
79
|
+
const section2Title = getByTextContent(container, 'Section 2');
|
|
82
80
|
expect(section1Title).not.toBeUndefined();
|
|
83
81
|
expect(section2Title).not.toBeUndefined();
|
|
84
|
-
|
|
82
|
+
const section1Content = section1Title.parentNode.querySelector(".".concat(classes('section-content')));
|
|
85
83
|
expect(section1Content.querySelectorAll(".".concat(classes('field'))).length).toEqual(2);
|
|
86
|
-
|
|
84
|
+
const section2Content = section2Title.parentNode.querySelector(".".concat(classes('section-content')));
|
|
87
85
|
expect(section2Content.querySelectorAll(".".concat(classes('field'))).length).toEqual(1);
|
|
88
86
|
});
|
|
89
|
-
it('should render sections containing containers based on summaryLayout config',
|
|
90
|
-
|
|
87
|
+
it('should render sections containing containers based on summaryLayout config', () => {
|
|
88
|
+
const CHILD_PAGES = [{
|
|
91
89
|
summaryLayout: {
|
|
92
90
|
sections: [{
|
|
93
91
|
title: 'Section 1',
|
|
@@ -112,7 +110,7 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
112
110
|
}]
|
|
113
111
|
}]
|
|
114
112
|
}];
|
|
115
|
-
|
|
113
|
+
const CONTAINER_ENTRY = {
|
|
116
114
|
id: '001',
|
|
117
115
|
bannerText: 'A banner',
|
|
118
116
|
titleText: 'A title',
|
|
@@ -125,30 +123,29 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
125
123
|
subThree: 'charlie'
|
|
126
124
|
}
|
|
127
125
|
};
|
|
128
|
-
|
|
126
|
+
const MASTER_PAGE = {
|
|
129
127
|
childPages: CHILD_PAGES
|
|
130
128
|
};
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
}
|
|
137
|
-
|
|
129
|
+
const {
|
|
130
|
+
container
|
|
131
|
+
} = (0, _setupTests.renderWithValidation)(/*#__PURE__*/_react.default.createElement(_SummaryCardDetails.default, {
|
|
132
|
+
masterPage: MASTER_PAGE,
|
|
133
|
+
childMasterPages: [],
|
|
134
|
+
formData: {},
|
|
135
|
+
entryData: CONTAINER_ENTRY
|
|
136
|
+
}));
|
|
138
137
|
|
|
139
138
|
// Function to find an element by its text content
|
|
140
139
|
function getByTextContent(parent, text) {
|
|
141
|
-
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(
|
|
142
|
-
return el.textContent === text;
|
|
143
|
-
});
|
|
140
|
+
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(el => el.textContent === text);
|
|
144
141
|
}
|
|
145
142
|
|
|
146
143
|
// Check for section title
|
|
147
|
-
|
|
144
|
+
const section1Title = getByTextContent(container, 'Section 1');
|
|
148
145
|
expect(section1Title).not.toBeUndefined();
|
|
149
146
|
|
|
150
147
|
// All three subcomponents from the container should have labels and values displayed
|
|
151
|
-
|
|
148
|
+
const section1Content = section1Title.parentNode.querySelector(".".concat(classes('section-content')));
|
|
152
149
|
expect(section1Content.textContent).toContain('subOneLabel');
|
|
153
150
|
expect(section1Content.textContent).toContain('alpha');
|
|
154
151
|
expect(section1Content.textContent).toContain('subTwoLabel');
|
|
@@ -156,11 +153,11 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
156
153
|
expect(section1Content.textContent).toContain('subThreeLabel');
|
|
157
154
|
expect(section1Content.textContent).toContain('charlie');
|
|
158
155
|
});
|
|
159
|
-
it('should render sections containing collections with dynamic titles based on summaryLayout config',
|
|
160
|
-
|
|
156
|
+
it('should render sections containing collections with dynamic titles based on summaryLayout config', () => {
|
|
157
|
+
const FORM_DATA = {
|
|
161
158
|
dummyTitleContent: "Kellogg's"
|
|
162
159
|
};
|
|
163
|
-
|
|
160
|
+
const CHILD_PAGES = [{
|
|
164
161
|
summaryLayout: {
|
|
165
162
|
sections: [{
|
|
166
163
|
// eslint-disable-next-line no-template-curly-in-string
|
|
@@ -206,7 +203,7 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
206
203
|
}]
|
|
207
204
|
}]
|
|
208
205
|
}];
|
|
209
|
-
|
|
206
|
+
const COLLECTION_ENTRY = {
|
|
210
207
|
summaryText: 'Full details',
|
|
211
208
|
collectionComponent: [{
|
|
212
209
|
north: 'Never',
|
|
@@ -215,26 +212,27 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
215
212
|
west: 'Wheat'
|
|
216
213
|
}]
|
|
217
214
|
};
|
|
218
|
-
|
|
215
|
+
const MASTER_PAGE = {
|
|
219
216
|
childPages: CHILD_PAGES
|
|
220
217
|
};
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
}
|
|
227
|
-
|
|
218
|
+
const {
|
|
219
|
+
container
|
|
220
|
+
} = (0, _setupTests.renderWithValidation)(/*#__PURE__*/_react.default.createElement(_SummaryCardDetails.default, {
|
|
221
|
+
masterPage: MASTER_PAGE,
|
|
222
|
+
childMasterPages: [],
|
|
223
|
+
formData: {},
|
|
224
|
+
entryData: COLLECTION_ENTRY
|
|
225
|
+
}));
|
|
228
226
|
|
|
229
227
|
// Check for section title
|
|
230
|
-
|
|
228
|
+
const section1Title = container.querySelector(".".concat(classes('section-title')));
|
|
231
229
|
expect(section1Title).not.toBeUndefined();
|
|
232
230
|
|
|
233
231
|
// Check for embedded variables in title
|
|
234
232
|
expect(section1Title.textContent).toEqual("Section 1 - Kellogg's");
|
|
235
233
|
|
|
236
234
|
// All four subcomponents from the container should have labels and values displayed
|
|
237
|
-
|
|
235
|
+
const section1Content = section1Title.parentNode.querySelector(".".concat(classes('section-content')));
|
|
238
236
|
expect(section1Content.textContent).toContain('North');
|
|
239
237
|
expect(section1Content.textContent).toContain('Never');
|
|
240
238
|
expect(section1Content.textContent).toContain('East');
|
|
@@ -244,8 +242,8 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
244
242
|
expect(section1Content.textContent).toContain('West');
|
|
245
243
|
expect(section1Content.textContent).toContain('Wheat');
|
|
246
244
|
});
|
|
247
|
-
it('should render sections if they have show_when checks and pass them',
|
|
248
|
-
|
|
245
|
+
it('should render sections if they have show_when checks and pass them', () => {
|
|
246
|
+
const CHILD_PAGES = [{
|
|
249
247
|
summaryLayout: {
|
|
250
248
|
sections: [{
|
|
251
249
|
title: 'Section 1',
|
|
@@ -274,39 +272,38 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
274
272
|
fieldId: 'fieldC'
|
|
275
273
|
}]
|
|
276
274
|
}];
|
|
277
|
-
|
|
275
|
+
const MASTER_PAGE = {
|
|
278
276
|
childPages: CHILD_PAGES
|
|
279
277
|
};
|
|
280
|
-
|
|
278
|
+
const CUSTOM_ENTRY = _objectSpread(_objectSpread({}, ENTRY), {}, {
|
|
281
279
|
showSection1: true
|
|
282
280
|
});
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
}
|
|
289
|
-
|
|
281
|
+
const {
|
|
282
|
+
container
|
|
283
|
+
} = (0, _setupTests.renderWithValidation)(/*#__PURE__*/_react.default.createElement(_SummaryCardDetails.default, {
|
|
284
|
+
masterPage: MASTER_PAGE,
|
|
285
|
+
childMasterPages: [],
|
|
286
|
+
formData: {},
|
|
287
|
+
entryData: CUSTOM_ENTRY
|
|
288
|
+
}));
|
|
290
289
|
|
|
291
290
|
// Function to find an element by its text content
|
|
292
291
|
function getByTextContent(parent, text) {
|
|
293
|
-
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(
|
|
294
|
-
return el.textContent === text;
|
|
295
|
-
});
|
|
292
|
+
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(el => el.textContent === text);
|
|
296
293
|
}
|
|
297
294
|
|
|
298
295
|
// Check for section titles
|
|
299
|
-
|
|
300
|
-
|
|
296
|
+
const section1Title = getByTextContent(container, 'Section 1');
|
|
297
|
+
const section2Title = getByTextContent(container, 'Section 2');
|
|
301
298
|
expect(section1Title).not.toBeUndefined();
|
|
302
299
|
expect(section2Title).not.toBeUndefined();
|
|
303
|
-
|
|
300
|
+
const section1Content = section1Title.parentNode.querySelector(".".concat(classes('section-content')));
|
|
304
301
|
expect(section1Content.querySelectorAll(".".concat(classes('field'))).length).toEqual(2);
|
|
305
|
-
|
|
302
|
+
const section2Content = section2Title.parentNode.querySelector(".".concat(classes('section-content')));
|
|
306
303
|
expect(section2Content.querySelectorAll(".".concat(classes('field'))).length).toEqual(1);
|
|
307
304
|
});
|
|
308
|
-
it('should not render sections if they have show_when checks and fail them',
|
|
309
|
-
|
|
305
|
+
it('should not render sections if they have show_when checks and fail them', () => {
|
|
306
|
+
const CHILD_PAGES = [{
|
|
310
307
|
summaryLayout: {
|
|
311
308
|
sections: [{
|
|
312
309
|
title: 'Section 1',
|
|
@@ -335,37 +332,36 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
335
332
|
fieldId: 'fieldC'
|
|
336
333
|
}]
|
|
337
334
|
}];
|
|
338
|
-
|
|
335
|
+
const MASTER_PAGE = {
|
|
339
336
|
childPages: CHILD_PAGES
|
|
340
337
|
};
|
|
341
|
-
|
|
338
|
+
const CUSTOM_ENTRY = _objectSpread(_objectSpread({}, ENTRY), {}, {
|
|
342
339
|
showSection1: false
|
|
343
340
|
});
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
}
|
|
350
|
-
|
|
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
|
-
|
|
360
|
+
const section2Content = section2Title.parentNode.querySelector(".".concat(classes('section-content')));
|
|
365
361
|
expect(section2Content.querySelectorAll(".".concat(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
|
-
|
|
415
|
+
const section1Content = section1Title.parentNode.querySelector(".".concat(classes('section-content')));
|
|
421
416
|
expect(section1Content.querySelectorAll(".".concat(classes('field'))).length).toEqual(1); // Just Field A, Field B should be hidden.
|
|
422
417
|
|
|
423
|
-
|
|
418
|
+
const section2Content = section2Title.parentNode.querySelector(".".concat(classes('section-content')));
|
|
424
419
|
expect(section2Content.querySelectorAll(".".concat(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,36 @@ 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 = _objectSpread(_objectSpread({}, ENTRY), {}, {
|
|
465
460
|
showSection1: false
|
|
466
461
|
});
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
}
|
|
475
|
-
|
|
462
|
+
const {
|
|
463
|
+
container
|
|
464
|
+
} = (0, _setupTests.renderWithValidation)(/*#__PURE__*/_react.default.createElement(_SummaryCardDetails.default, {
|
|
465
|
+
masterPage: MASTER_PAGE,
|
|
466
|
+
childMasterPages: [],
|
|
467
|
+
formData: {
|
|
468
|
+
testField: false
|
|
469
|
+
},
|
|
470
|
+
entryData: CUSTOM_ENTRY
|
|
471
|
+
}));
|
|
476
472
|
|
|
477
473
|
// Function to find an element by its text content
|
|
478
474
|
function getByTextContent(parent, text) {
|
|
479
|
-
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(
|
|
480
|
-
return el.textContent === text;
|
|
481
|
-
});
|
|
475
|
+
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(el => el.textContent === text);
|
|
482
476
|
}
|
|
483
477
|
|
|
484
478
|
// Check for section titles
|
|
485
|
-
|
|
486
|
-
|
|
479
|
+
const section1Title = getByTextContent(container, 'Section 1');
|
|
480
|
+
const section2Title = getByTextContent(container, 'Section 2');
|
|
487
481
|
expect(section1Title).toBeUndefined();
|
|
488
482
|
expect(section2Title).toBeUndefined();
|
|
489
483
|
});
|
|
490
|
-
it('should not render columns that fail show_when checks',
|
|
491
|
-
|
|
484
|
+
it('should not render columns that fail show_when checks', () => {
|
|
485
|
+
const CHILD_PAGES = [{
|
|
492
486
|
summaryLayout: {
|
|
493
487
|
sections: [{
|
|
494
488
|
title: 'Section 1',
|
|
@@ -512,34 +506,33 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
512
506
|
label: 'fieldB'
|
|
513
507
|
}]
|
|
514
508
|
}];
|
|
515
|
-
|
|
509
|
+
const MASTER_PAGE = {
|
|
516
510
|
childPages: CHILD_PAGES
|
|
517
511
|
};
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
}
|
|
526
|
-
|
|
512
|
+
const {
|
|
513
|
+
container
|
|
514
|
+
} = (0, _setupTests.renderWithValidation)(/*#__PURE__*/_react.default.createElement(_SummaryCardDetails.default, {
|
|
515
|
+
masterPage: MASTER_PAGE,
|
|
516
|
+
childMasterPages: [],
|
|
517
|
+
formData: {
|
|
518
|
+
testField: false
|
|
519
|
+
},
|
|
520
|
+
entryData: ENTRY
|
|
521
|
+
}));
|
|
527
522
|
|
|
528
523
|
// Function to find an element by its text content
|
|
529
524
|
function getByTextContent(parent, text) {
|
|
530
|
-
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(
|
|
531
|
-
return el.textContent === text;
|
|
532
|
-
});
|
|
525
|
+
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(el => el.textContent === text);
|
|
533
526
|
}
|
|
534
527
|
|
|
535
528
|
// Check for section titles
|
|
536
|
-
|
|
529
|
+
const section1Title = getByTextContent(container, 'Section 1');
|
|
537
530
|
expect(section1Title).toBeDefined();
|
|
538
|
-
|
|
531
|
+
const section1Content = section1Title.parentNode.querySelector(".".concat(classes('section-content')));
|
|
539
532
|
expect(section1Content.querySelectorAll(".".concat(classes('field'))).length).toEqual(1);
|
|
540
533
|
});
|
|
541
|
-
it('should render child collections',
|
|
542
|
-
|
|
534
|
+
it('should render child collections', () => {
|
|
535
|
+
const CHILD_MASTER_PAGES = [{
|
|
543
536
|
collection: {
|
|
544
537
|
name: 'childCollection'
|
|
545
538
|
},
|
|
@@ -561,7 +554,7 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
561
554
|
}
|
|
562
555
|
}]
|
|
563
556
|
}];
|
|
564
|
-
|
|
557
|
+
const CHILD_PAGES = [{
|
|
565
558
|
summaryLayout: {
|
|
566
559
|
sections: [{
|
|
567
560
|
type: 'childCollection',
|
|
@@ -577,35 +570,33 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
577
570
|
fieldId: 'fieldC'
|
|
578
571
|
}]
|
|
579
572
|
}];
|
|
580
|
-
|
|
573
|
+
const MASTER_PAGE = {
|
|
581
574
|
childPages: [].concat(CHILD_PAGES, CHILD_MASTER_PAGES)
|
|
582
575
|
};
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
}
|
|
590
|
-
|
|
576
|
+
const CHILD_COLLECTIONS = ['childCollection'];
|
|
577
|
+
const {
|
|
578
|
+
container
|
|
579
|
+
} = (0, _setupTests.renderWithValidation)(/*#__PURE__*/_react.default.createElement(_SummaryCardDetails.default, {
|
|
580
|
+
masterPage: MASTER_PAGE,
|
|
581
|
+
childCollections: CHILD_COLLECTIONS,
|
|
582
|
+
formData: {},
|
|
583
|
+
entryData: ENTRY
|
|
584
|
+
}));
|
|
591
585
|
|
|
592
586
|
// Function to find an element by its text content
|
|
593
587
|
function getByTextContent(parent, text) {
|
|
594
|
-
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(
|
|
595
|
-
return el.textContent === text;
|
|
596
|
-
});
|
|
588
|
+
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(el => el.textContent === text);
|
|
597
589
|
}
|
|
598
|
-
|
|
590
|
+
const childCollectionSectionTitle = getByTextContent(container, 'Children');
|
|
599
591
|
expect(childCollectionSectionTitle).not.toBeUndefined();
|
|
600
|
-
|
|
592
|
+
const childSectionTitles = getByTextContent(container, 'Hidden Title');
|
|
601
593
|
expect(childSectionTitles).toBeUndefined(); // Individual section title for child collections should be hidden.
|
|
602
594
|
|
|
603
|
-
|
|
595
|
+
const childFields = container.querySelectorAll(".".concat(classes('section')));
|
|
604
596
|
expect(childFields.length).toEqual(2); // One for each entry in the child collection.
|
|
605
597
|
});
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
var CHILD_PAGES = [{
|
|
598
|
+
it('should render components if a component with the same ID has already failed a show_when', () => {
|
|
599
|
+
const CHILD_PAGES = [{
|
|
609
600
|
summaryLayout: {
|
|
610
601
|
sections: [{
|
|
611
602
|
title: 'Section 1',
|
|
@@ -636,28 +627,27 @@ describe('components.CollectionSummary.SummaryCardDetails', function () {
|
|
|
636
627
|
}]
|
|
637
628
|
}]
|
|
638
629
|
}];
|
|
639
|
-
|
|
630
|
+
const MASTER_PAGE = {
|
|
640
631
|
childPages: CHILD_PAGES
|
|
641
632
|
};
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
633
|
+
const {
|
|
634
|
+
container
|
|
635
|
+
} = (0, _setupTests.renderWithValidation)(/*#__PURE__*/_react.default.createElement(_SummaryCardDetails.default, {
|
|
636
|
+
masterPage: MASTER_PAGE,
|
|
637
|
+
childMasterPages: [],
|
|
638
|
+
formData: {},
|
|
639
|
+
entryData: _objectSpread(_objectSpread({}, ENTRY), {}, {
|
|
640
|
+
fieldA: 'notTheRightValue'
|
|
641
|
+
})
|
|
642
|
+
}));
|
|
651
643
|
|
|
652
644
|
// Function to find an element by its text content
|
|
653
645
|
function getByTextContent(parent, text) {
|
|
654
|
-
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(
|
|
655
|
-
return el.textContent === text;
|
|
656
|
-
});
|
|
646
|
+
return Array.from(parent.getElementsByClassName(classes('section-title'))).find(el => el.textContent === text);
|
|
657
647
|
}
|
|
658
|
-
|
|
648
|
+
const section1Title = getByTextContent(container, 'Section 1');
|
|
659
649
|
expect(section1Title).not.toBeUndefined();
|
|
660
|
-
|
|
650
|
+
const section1Content = section1Title.parentNode.querySelector(".".concat(classes('section-content')));
|
|
661
651
|
expect(section1Content.querySelectorAll(".".concat(classes('field'))).length).toEqual(2);
|
|
662
652
|
});
|
|
663
653
|
});
|