@ukhomeoffice/cop-react-form-renderer 5.90.1 → 5.91.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/CheckYourAnswers/Answer.js +15 -15
- package/dist/components/CheckYourAnswers/Answer.test.js +181 -132
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +142 -106
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +941 -563
- package/dist/components/CheckYourAnswers/index.js +1 -1
- package/dist/components/CollectionPage/CollectionPage.js +66 -75
- package/dist/components/CollectionPage/CollectionPage.test.js +369 -318
- package/dist/components/CollectionPage/index.js +1 -1
- package/dist/components/CollectionSummary/BannerStrip.js +15 -15
- package/dist/components/CollectionSummary/BannerStrip.test.js +79 -83
- package/dist/components/CollectionSummary/CollectionSummary.js +131 -109
- package/dist/components/CollectionSummary/CollectionSummary.test.js +180 -198
- package/dist/components/CollectionSummary/Confirmation.js +13 -15
- package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
- package/dist/components/CollectionSummary/RenderListView.js +63 -46
- package/dist/components/CollectionSummary/RenderListView.scss +9 -0
- package/dist/components/CollectionSummary/RenderListView.test.js +120 -84
- package/dist/components/CollectionSummary/SummaryCard.js +157 -121
- package/dist/components/CollectionSummary/SummaryCard.test.js +1000 -970
- package/dist/components/CollectionSummary/SummaryCardDetails.js +94 -103
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +195 -187
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +36 -31
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +76 -64
- package/dist/components/CollectionSummary/index.js +1 -1
- package/dist/components/FormComponent/Collection.js +117 -80
- package/dist/components/FormComponent/Collection.test.js +1082 -910
- package/dist/components/FormComponent/Container.js +38 -43
- package/dist/components/FormComponent/Container.test.js +411 -379
- package/dist/components/FormComponent/FormComponent.js +74 -71
- package/dist/components/FormComponent/FormComponent.test.js +415 -354
- package/dist/components/FormComponent/helpers/addLabel.js +7 -4
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +8 -8
- package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
- package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
- 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 +87 -71
- package/dist/components/FormPage/FormPage.test.js +170 -133
- package/dist/components/FormPage/index.js +1 -1
- package/dist/components/FormRenderer/FormRenderer.js +198 -153
- package/dist/components/FormRenderer/FormRenderer.test.js +1116 -731
- package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
- package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
- 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 +3 -1
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +21 -17
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +30 -27
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
- package/dist/components/FormRenderer/helpers/getCYA.js +7 -5
- package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getFormState.js +8 -6
- package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getNextPageId.js +32 -18
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
- package/dist/components/FormRenderer/helpers/getPage.js +4 -2
- package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +11 -8
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +13 -12
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +98 -104
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +64 -65
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +79 -72
- package/dist/components/FormRenderer/helpers/index.js +2 -2
- package/dist/components/FormRenderer/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +54 -61
- package/dist/components/FormRenderer/onCYAAction.test.js +153 -165
- package/dist/components/FormRenderer/onPageAction.js +41 -45
- package/dist/components/FormRenderer/onPageAction.test.js +210 -225
- package/dist/components/FormRenderer/onTaskAction.js +15 -11
- package/dist/components/FormRenderer/onTaskAction.test.js +89 -94
- package/dist/components/PageActions/ActionButton.js +16 -13
- package/dist/components/PageActions/ActionButton.test.js +79 -57
- package/dist/components/PageActions/PageActions.js +11 -11
- package/dist/components/PageActions/PageActions.test.js +116 -87
- package/dist/components/PageActions/index.js +1 -1
- package/dist/components/SummaryList/GroupAction.js +21 -13
- package/dist/components/SummaryList/GroupAction.test.js +37 -41
- package/dist/components/SummaryList/RowAction.js +17 -12
- package/dist/components/SummaryList/RowAction.test.js +37 -41
- package/dist/components/SummaryList/SummaryList.js +28 -23
- package/dist/components/SummaryList/SummaryList.test.js +206 -179
- package/dist/components/SummaryList/SummaryListHeadingRow.js +6 -8
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +5 -7
- package/dist/components/SummaryList/SummaryListRow.js +6 -8
- package/dist/components/SummaryList/SummaryListTitleRow.js +5 -7
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +6 -4
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +24 -24
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +6 -4
- 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 +30 -20
- package/dist/components/TaskList/Task.test.js +77 -84
- package/dist/components/TaskList/TaskList.js +84 -53
- package/dist/components/TaskList/TaskList.test.js +150 -150
- package/dist/components/TaskList/TaskState.js +6 -8
- package/dist/components/TaskList/TaskState.test.js +49 -56
- package/dist/components/TaskList/index.js +1 -1
- package/dist/components/index.js +8 -8
- package/dist/context/HooksContext/HooksContext.js +81 -58
- package/dist/context/HooksContext/HooksContext.test.js +36 -27
- package/dist/context/HooksContext/index.js +4 -3
- package/dist/context/ValidationContext/ValidationContext.js +95 -44
- package/dist/context/ValidationContext/ValidationContext.test.js +70 -58
- package/dist/context/ValidationContext/index.js +4 -3
- package/dist/context/index.js +3 -3
- package/dist/hooks/index.js +11 -10
- package/dist/hooks/useAxios.js +41 -15
- package/dist/hooks/useGetRequest.js +98 -62
- package/dist/hooks/useHooks.js +3 -1
- package/dist/hooks/useRefData.js +41 -28
- package/dist/hooks/useValidation.js +3 -1
- package/dist/index.js +15 -14
- package/dist/models/CollectionLabels.js +1 -1
- package/dist/models/ComponentTypes.js +25 -25
- package/dist/models/EventTypes.js +4 -4
- package/dist/models/FormPages.js +4 -4
- package/dist/models/FormTypes.js +8 -8
- package/dist/models/HubFormats.js +3 -3
- package/dist/models/PageAction.js +38 -44
- package/dist/models/TaskStates.js +28 -29
- package/dist/models/index.js +10 -10
- package/dist/setupTests.js +32 -31
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +55 -53
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +27 -17
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +36 -34
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +34 -20
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +45 -43
- package/dist/utils/CheckYourAnswers/getCYARow.js +10 -8
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +25 -19
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +17 -16
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +45 -39
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +75 -72
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +105 -100
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +182 -218
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +21 -26
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +106 -112
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +21 -15
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +83 -77
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +13 -13
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +19 -14
- 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 +22 -21
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +24 -14
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +43 -52
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +3 -3
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +12 -7
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
- package/dist/utils/CollectionPage/getCollectionPageData.js +13 -8
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
- package/dist/utils/CollectionPage/getErrorsForCollection.js +26 -25
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +23 -21
- package/dist/utils/CollectionPage/getQuickEditPage.js +32 -37
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +22 -18
- package/dist/utils/CollectionPage/index.js +2 -2
- package/dist/utils/CollectionPage/mergeCollectionPages.js +42 -37
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +18 -48
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +7 -5
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
- package/dist/utils/CollectionPage/setCollectionPageData.js +19 -12
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +26 -26
- package/dist/utils/Component/addShowWhen.js +8 -4
- package/dist/utils/Component/addShowWhen.test.js +38 -38
- package/dist/utils/Component/applyToComponentTree.js +20 -19
- package/dist/utils/Component/applyToComponentTree.test.js +33 -28
- package/dist/utils/Component/cleanAttributes.js +13 -10
- package/dist/utils/Component/cleanAttributes.test.js +18 -17
- package/dist/utils/Component/elevateNestedComponents.js +7 -6
- package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
- package/dist/utils/Component/getComponent.js +97 -90
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +18 -19
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +63 -50
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +49 -40
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +40 -30
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +19 -21
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +23 -18
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +27 -22
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +11 -12
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +16 -18
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +9 -10
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +16 -18
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +27 -23
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +16 -18
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +23 -18
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +73 -58
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +23 -18
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +23 -18
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +41 -34
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +32 -23
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +9 -10
- package/dist/utils/Component/getDefaultValue.js +9 -7
- 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 +4 -2
- package/dist/utils/Component/isEditable.test.js +15 -14
- package/dist/utils/Component/optionIsSelected.js +4 -2
- package/dist/utils/Component/optionIsSelected.test.js +12 -12
- package/dist/utils/Component/setupContainerComponentsPath.js +31 -29
- package/dist/utils/Component/setupContainerComponentsPath.test.js +16 -16
- package/dist/utils/Component/showComponent.js +4 -3
- 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 +31 -20
- 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 +19 -14
- package/dist/utils/Condition/setupConditions.test.js +8 -8
- package/dist/utils/Container/getEditableComponents.js +6 -4
- package/dist/utils/Container/getEditableComponents.test.js +46 -44
- package/dist/utils/Container/index.js +2 -2
- package/dist/utils/Container/setupNesting.js +22 -16
- package/dist/utils/Container/setupNesting.test.js +31 -28
- package/dist/utils/Container/showContainer.js +8 -4
- package/dist/utils/Container/showContainer.test.js +31 -31
- package/dist/utils/Data/applyFormula.js +50 -40
- package/dist/utils/Data/applyFormula.test.js +26 -26
- package/dist/utils/Data/deleteValues.js +8 -4
- package/dist/utils/Data/deleteValues.test.js +11 -11
- package/dist/utils/Data/getAutocompleteSource.js +29 -20
- package/dist/utils/Data/getAutocompleteSource.test.js +87 -81
- package/dist/utils/Data/getDataPath.js +30 -20
- package/dist/utils/Data/getDataPath.test.js +20 -20
- package/dist/utils/Data/getOptions.js +34 -27
- package/dist/utils/Data/getOptions.test.js +28 -28
- package/dist/utils/Data/getSourceData.js +19 -6
- package/dist/utils/Data/getSourceData.test.js +81 -85
- package/dist/utils/Data/index.js +2 -2
- package/dist/utils/Data/nestInRefdataOptions.js +16 -9
- package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
- package/dist/utils/Data/refDataToOptions.js +15 -11
- package/dist/utils/Data/refDataToOptions.test.js +20 -20
- package/dist/utils/Data/setDataItem.js +8 -7
- package/dist/utils/Data/setDataItem.test.js +38 -38
- package/dist/utils/Data/setupFormData.js +22 -14
- package/dist/utils/Data/setupFormData.test.js +51 -52
- package/dist/utils/Data/setupRefDataUrlForComponent.js +28 -21
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +28 -28
- package/dist/utils/FormPage/applyConditionalProperties.js +10 -6
- package/dist/utils/FormPage/applyConditionalProperties.test.js +19 -16
- package/dist/utils/FormPage/getConditionalText.js +4 -4
- package/dist/utils/FormPage/getConditionalText.test.js +35 -35
- package/dist/utils/FormPage/getFormPage.js +17 -16
- package/dist/utils/FormPage/getFormPage.test.js +48 -49
- package/dist/utils/FormPage/getFormPages.js +13 -8
- package/dist/utils/FormPage/getFormPages.test.js +25 -22
- package/dist/utils/FormPage/getPageActions.js +17 -10
- package/dist/utils/FormPage/getPageActions.test.js +33 -33
- package/dist/utils/FormPage/getParagraphFromText.js +7 -5
- package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
- package/dist/utils/FormPage/index.js +5 -3
- package/dist/utils/FormPage/showFormPage.js +8 -4
- 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 +28 -21
- package/dist/utils/FormPage/useComponent.test.js +80 -78
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +19 -19
- package/dist/utils/Format/formatDataForComponent.js +7 -6
- package/dist/utils/Format/formatDataForComponent.test.js +78 -50
- package/dist/utils/Format/formatDataForForm.js +8 -6
- package/dist/utils/Format/formatDataForForm.test.js +17 -14
- package/dist/utils/Format/formatDataForPage.js +5 -4
- package/dist/utils/Format/formatDataForPage.test.js +25 -20
- package/dist/utils/Format/index.js +2 -2
- package/dist/utils/Hub/getFormHub.js +2 -2
- package/dist/utils/Hub/getFormHub.test.js +32 -29
- package/dist/utils/Hub/index.js +2 -2
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +4 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +17 -25
- package/dist/utils/Meta/documents/index.js +2 -2
- package/dist/utils/Meta/documents/setDocumentsForField.js +17 -15
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +35 -69
- 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 +53 -47
- 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 +21 -23
- package/dist/utils/Operate/runPageOperations.js +9 -9
- package/dist/utils/Operate/runPageOperations.test.js +37 -36
- 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 +28 -22
- 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 +5 -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 +14 -9
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +42 -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 +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 +40 -36
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +5 -3
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +17 -15
- 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 +4 -3
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +5 -3
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +27 -29
- package/dist/utils/Validate/additional/utils.js +24 -11
- package/dist/utils/Validate/index.js +2 -2
- package/dist/utils/Validate/validateCollection.js +27 -21
- package/dist/utils/Validate/validateCollection.test.js +77 -85
- package/dist/utils/Validate/validateComponent.js +23 -22
- package/dist/utils/Validate/validateComponent.test.js +165 -188
- package/dist/utils/Validate/validateContainer.js +21 -16
- package/dist/utils/Validate/validateContainer.test.js +56 -62
- package/dist/utils/Validate/validateDate.js +23 -17
- package/dist/utils/Validate/validateDate.test.js +32 -31
- package/dist/utils/Validate/validateEmail.js +9 -7
- package/dist/utils/Validate/validateEmail.test.js +26 -26
- package/dist/utils/Validate/validateMultifile.js +7 -5
- package/dist/utils/Validate/validateMultifile.test.js +18 -17
- package/dist/utils/Validate/validatePage.js +24 -20
- package/dist/utils/Validate/validatePage.test.js +215 -227
- package/dist/utils/Validate/validateRegex.js +8 -5
- package/dist/utils/Validate/validateRegex.test.js +17 -17
- package/dist/utils/Validate/validateRequired.js +7 -5
- package/dist/utils/Validate/validateRequired.test.js +19 -19
- package/dist/utils/Validate/validateTextArea.js +7 -5
- package/dist/utils/Validate/validateTextArea.test.js +21 -21
- package/dist/utils/Validate/validateTime.js +19 -12
- package/dist/utils/Validate/validateTime.test.js +27 -27
- package/dist/utils/index.js +10 -8
- package/package.json +1 -1
|
@@ -7,16 +7,23 @@ var _setupTests = require("../../setupTests");
|
|
|
7
7
|
var _utils = _interopRequireDefault(require("../../utils"));
|
|
8
8
|
var _ActionButton = require("../PageActions/ActionButton");
|
|
9
9
|
var _CollectionPage = _interopRequireWildcard(require("./CollectionPage"));
|
|
10
|
-
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); }
|
|
11
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" !=
|
|
12
|
-
function _interopRequireDefault(
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
11
|
+
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 && Object.prototype.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; }
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
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); }
|
|
14
|
+
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; }
|
|
15
|
+
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; }
|
|
16
|
+
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
17
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
18
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
19
|
+
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; }
|
|
20
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
21
|
+
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
|
|
15
22
|
// Local imports
|
|
16
|
-
|
|
17
|
-
describe('
|
|
18
|
-
|
|
19
|
-
|
|
23
|
+
describe('components.CollectionPage', function () {
|
|
24
|
+
describe('CollectionPage', function () {
|
|
25
|
+
var _formData, _formData2, _formData3;
|
|
26
|
+
var TEXT = {
|
|
20
27
|
id: 'text',
|
|
21
28
|
fieldId: 'text',
|
|
22
29
|
type: 'text',
|
|
@@ -24,7 +31,7 @@ describe('components.CollectionPage', () => {
|
|
|
24
31
|
hint: 'Text hint'
|
|
25
32
|
};
|
|
26
33
|
// eslint-disable-next-line no-template-curly-in-string
|
|
27
|
-
|
|
34
|
+
var TEXT_WITH_EXPRESSION = {
|
|
28
35
|
id: 'text1',
|
|
29
36
|
fieldId: 'text1',
|
|
30
37
|
type: 'text',
|
|
@@ -32,7 +39,7 @@ describe('components.CollectionPage', () => {
|
|
|
32
39
|
hint: 'Text hint ${currentUser.givenName}'
|
|
33
40
|
};
|
|
34
41
|
// eslint-disable-next-line no-template-curly-in-string
|
|
35
|
-
|
|
42
|
+
var AUTO_WITH_EXPRESSION = {
|
|
36
43
|
id: 'text2',
|
|
37
44
|
fieldId: 'text2',
|
|
38
45
|
label: '${text2} ${currentUser.givenName}',
|
|
@@ -42,10 +49,10 @@ describe('components.CollectionPage', () => {
|
|
|
42
49
|
source: [],
|
|
43
50
|
disabled: false
|
|
44
51
|
};
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
52
|
+
var VALUE = 'Text value';
|
|
53
|
+
var COLLECTION_NAME = 'testCollection';
|
|
54
|
+
var ACTIVE_ID = '01';
|
|
55
|
+
var PAGE = {
|
|
49
56
|
id: 'pageId',
|
|
50
57
|
title: 'Page 1',
|
|
51
58
|
collection: {
|
|
@@ -53,15 +60,12 @@ describe('components.CollectionPage', () => {
|
|
|
53
60
|
},
|
|
54
61
|
components: [TEXT],
|
|
55
62
|
actions: [_models.PageAction.TYPES.SUBMIT],
|
|
56
|
-
formData: {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
text: VALUE
|
|
61
|
-
}]
|
|
62
|
-
}
|
|
63
|
+
formData: (_formData = {}, _defineProperty(_formData, "".concat(COLLECTION_NAME, "ActiveId"), ACTIVE_ID), _defineProperty(_formData, COLLECTION_NAME, [{
|
|
64
|
+
id: ACTIVE_ID,
|
|
65
|
+
text: VALUE
|
|
66
|
+
}]), _formData)
|
|
63
67
|
};
|
|
64
|
-
|
|
68
|
+
var PAGE_WITH_BUTTON_ACTIONS = {
|
|
65
69
|
id: 'pageId',
|
|
66
70
|
// eslint-disable-next-line no-template-curly-in-string
|
|
67
71
|
title: '${title}',
|
|
@@ -82,25 +86,19 @@ describe('components.CollectionPage', () => {
|
|
|
82
86
|
page: '1',
|
|
83
87
|
label: 'Go back ${wrapper.prevAction}'
|
|
84
88
|
}],
|
|
85
|
-
formData: {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
prevAction: 'User Details'
|
|
97
|
-
},
|
|
98
|
-
currentUser: {
|
|
99
|
-
givenName: 'Doe'
|
|
100
|
-
}
|
|
101
|
-
}
|
|
89
|
+
formData: (_formData2 = {}, _defineProperty(_formData2, "".concat(COLLECTION_NAME, "ActiveId"), ACTIVE_ID), _defineProperty(_formData2, COLLECTION_NAME, [{
|
|
90
|
+
id: ACTIVE_ID,
|
|
91
|
+
text1: "Text1 ".concat(VALUE),
|
|
92
|
+
text2: "Text2 ".concat(VALUE)
|
|
93
|
+
}]), _defineProperty(_formData2, "title", 'Order Form'), _defineProperty(_formData2, "wrapper", {
|
|
94
|
+
email: 'test@example.email',
|
|
95
|
+
nextAction: 'Payment',
|
|
96
|
+
prevAction: 'User Details'
|
|
97
|
+
}), _defineProperty(_formData2, "currentUser", {
|
|
98
|
+
givenName: 'Doe'
|
|
99
|
+
}), _formData2)
|
|
102
100
|
};
|
|
103
|
-
|
|
101
|
+
var PAGE_WITH_CONDITIONAL_BUTTONS = {
|
|
104
102
|
id: 'pageId',
|
|
105
103
|
// eslint-disable-next-line no-template-curly-in-string
|
|
106
104
|
title: '${title}',
|
|
@@ -127,73 +125,70 @@ describe('components.CollectionPage', () => {
|
|
|
127
125
|
value: 'Doe'
|
|
128
126
|
}]
|
|
129
127
|
}],
|
|
130
|
-
formData: {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
prevAction: 'User Details'
|
|
142
|
-
},
|
|
143
|
-
currentUser: {
|
|
144
|
-
givenName: 'Doe'
|
|
145
|
-
}
|
|
146
|
-
}
|
|
128
|
+
formData: (_formData3 = {}, _defineProperty(_formData3, "".concat(COLLECTION_NAME, "ActiveId"), ACTIVE_ID), _defineProperty(_formData3, COLLECTION_NAME, [{
|
|
129
|
+
id: ACTIVE_ID,
|
|
130
|
+
text1: "Text1 ".concat(VALUE),
|
|
131
|
+
text2: "Text2 ".concat(VALUE)
|
|
132
|
+
}]), _defineProperty(_formData3, "title", 'Order Form'), _defineProperty(_formData3, "wrapper", {
|
|
133
|
+
email: 'test@example.email',
|
|
134
|
+
nextAction: 'Payment',
|
|
135
|
+
prevAction: 'User Details'
|
|
136
|
+
}), _defineProperty(_formData3, "currentUser", {
|
|
137
|
+
givenName: 'Doe'
|
|
138
|
+
}), _formData3)
|
|
147
139
|
};
|
|
148
|
-
|
|
149
|
-
|
|
140
|
+
var ON_ACTION_CALLS = [];
|
|
141
|
+
var checkInputField = function checkInputField(formGroup, fieldId, lbl, hnt, val) {
|
|
150
142
|
expect(formGroup.tagName).toEqual('DIV');
|
|
151
143
|
expect(formGroup.classList).toContain('govuk-form-group');
|
|
152
|
-
|
|
144
|
+
var label = formGroup.childNodes[0];
|
|
153
145
|
expect(label.tagName).toEqual('LABEL');
|
|
154
146
|
expect(label.classList).toContain('govuk-label');
|
|
155
147
|
expect(label.textContent).toEqual(lbl);
|
|
156
148
|
expect(label.getAttribute('for')).toEqual(fieldId);
|
|
157
|
-
|
|
149
|
+
var hint = formGroup.childNodes[1];
|
|
158
150
|
expect(hint.tagName).toEqual('DIV');
|
|
159
151
|
expect(hint.classList).toContain('govuk-hint');
|
|
160
152
|
expect(hint.textContent).toEqual(hnt);
|
|
161
|
-
|
|
153
|
+
var input = formGroup.childNodes[2];
|
|
162
154
|
expect(input.tagName).toEqual('INPUT');
|
|
163
155
|
expect(input.classList).toContain('govuk-input');
|
|
164
156
|
expect(input.id).toEqual(fieldId);
|
|
165
157
|
expect(input.value).toEqual(val);
|
|
166
158
|
return input;
|
|
167
159
|
};
|
|
168
|
-
|
|
160
|
+
var checkAutoCompleteField = function checkAutoCompleteField(formGroup, fieldId, lbl, hnt, val) {
|
|
169
161
|
expect(formGroup.tagName).toEqual('DIV');
|
|
170
162
|
expect(formGroup.classList).toContain('govuk-form-group');
|
|
171
|
-
|
|
163
|
+
var label = formGroup.childNodes[0];
|
|
172
164
|
expect(label.tagName).toEqual('LABEL');
|
|
173
165
|
expect(label.classList).toContain('govuk-label');
|
|
174
166
|
expect(label.textContent).toEqual(lbl);
|
|
175
167
|
expect(label.getAttribute('for')).toEqual(fieldId);
|
|
176
|
-
|
|
168
|
+
var hint = formGroup.childNodes[1];
|
|
177
169
|
expect(hint.tagName).toEqual('DIV');
|
|
178
170
|
expect(hint.classList).toContain('govuk-hint');
|
|
179
171
|
expect(hint.textContent).toEqual(hnt);
|
|
180
|
-
|
|
172
|
+
var outerWrapper = formGroup.childNodes[2];
|
|
181
173
|
expect(outerWrapper.classList).toContain('hods-autocomplete__outer-wrapper');
|
|
182
|
-
|
|
174
|
+
var autocomplete = outerWrapper.childNodes[0];
|
|
183
175
|
expect(autocomplete.classList).toContain('hods-autocomplete__wrapper');
|
|
184
|
-
|
|
176
|
+
var input = [].concat(autocomplete.childNodes).filter(function (e) {
|
|
177
|
+
return e.tagName === 'INPUT';
|
|
178
|
+
})[0];
|
|
185
179
|
expect(input.classList).toContain('hods-autocomplete__input');
|
|
186
180
|
expect(input.tagName).toEqual('INPUT');
|
|
187
181
|
expect(input.id).toEqual(fieldId);
|
|
188
182
|
expect(input.value).toEqual(val);
|
|
189
183
|
return input;
|
|
190
184
|
};
|
|
191
|
-
|
|
192
|
-
|
|
185
|
+
var checkFormButtonGroup = function checkFormButtonGroup(buttonGroup, labels) {
|
|
186
|
+
var _buttonGroup$childNod;
|
|
187
|
+
var buttons = [];
|
|
193
188
|
expect(buttonGroup.tagName).toEqual('DIV');
|
|
194
189
|
expect(buttonGroup.classList).toContain('hods-button-group');
|
|
195
|
-
expect(buttonGroup.childNodes
|
|
196
|
-
buttonGroup.childNodes.forEach((button, i)
|
|
190
|
+
expect((_buttonGroup$childNod = buttonGroup.childNodes) === null || _buttonGroup$childNod === void 0 ? void 0 : _buttonGroup$childNod.length).toEqual(labels.length);
|
|
191
|
+
buttonGroup.childNodes.forEach(function (button, i) {
|
|
197
192
|
expect(button.tagName).toEqual('BUTTON');
|
|
198
193
|
expect(button.classList).toContain('hods-button');
|
|
199
194
|
expect(button.textContent).toEqual(labels[i]);
|
|
@@ -201,178 +196,217 @@ describe('components.CollectionPage', () => {
|
|
|
201
196
|
});
|
|
202
197
|
return buttons;
|
|
203
198
|
};
|
|
204
|
-
|
|
199
|
+
var ON_ACTION = function ON_ACTION(action, patch, onError) {
|
|
205
200
|
ON_ACTION_CALLS.push({
|
|
206
|
-
action,
|
|
207
|
-
patch,
|
|
208
|
-
onError
|
|
201
|
+
action: action,
|
|
202
|
+
patch: patch,
|
|
203
|
+
onError: onError
|
|
209
204
|
});
|
|
210
205
|
};
|
|
211
|
-
beforeEach(()
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
}]
|
|
218
|
-
};
|
|
206
|
+
beforeEach(function () {
|
|
207
|
+
var _PAGE$formData;
|
|
208
|
+
PAGE.formData = (_PAGE$formData = {}, _defineProperty(_PAGE$formData, "".concat(COLLECTION_NAME, "ActiveId"), ACTIVE_ID), _defineProperty(_PAGE$formData, COLLECTION_NAME, [{
|
|
209
|
+
id: ACTIVE_ID,
|
|
210
|
+
text: VALUE
|
|
211
|
+
}]), _PAGE$formData);
|
|
219
212
|
ON_ACTION_CALLS.length = 0;
|
|
220
213
|
});
|
|
221
|
-
it('should render a submit page correctly',
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
214
|
+
it('should render a submit page correctly', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
215
|
+
var _renderWithValidation, container, page, heading;
|
|
216
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
217
|
+
while (1) switch (_context.prev = _context.next) {
|
|
218
|
+
case 0:
|
|
219
|
+
_renderWithValidation = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
|
|
220
|
+
page: PAGE,
|
|
221
|
+
onAction: ON_ACTION
|
|
222
|
+
})), container = _renderWithValidation.container;
|
|
223
|
+
page = container.childNodes[0];
|
|
224
|
+
expect(page.tagName).toEqual('DIV');
|
|
225
|
+
expect(page.classList).toContain(_CollectionPage.DEFAULT_CLASS);
|
|
226
|
+
heading = page.childNodes[0];
|
|
227
|
+
expect(heading.classList).toContain('govuk-heading-l');
|
|
228
|
+
expect(heading.textContent).toEqual(_utils.default.FormPage.getTitle(PAGE.title, PAGE.formData));
|
|
229
|
+
checkInputField(page.childNodes[1], TEXT.fieldId, "".concat(TEXT.label, " (optional)"), TEXT.hint, VALUE);
|
|
230
|
+
checkFormButtonGroup(page.childNodes[2], [_ActionButton.DEFAULT_LABEL]);
|
|
231
|
+
case 9:
|
|
232
|
+
case "end":
|
|
233
|
+
return _context.stop();
|
|
234
|
+
}
|
|
235
|
+
}, _callee);
|
|
236
|
+
})));
|
|
237
|
+
it('should render nothing when there is no formData and page.collection.waitForFormData is true', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
238
|
+
var _renderWithValidation2, container;
|
|
239
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
240
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
241
|
+
case 0:
|
|
242
|
+
_renderWithValidation2 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
|
|
243
|
+
page: _objectSpread(_objectSpread({}, PAGE), {}, {
|
|
244
|
+
collection: _objectSpread(_objectSpread({}, PAGE.collection), {}, {
|
|
245
|
+
waitForFormData: true
|
|
246
|
+
}),
|
|
247
|
+
formData: {}
|
|
248
|
+
}),
|
|
249
|
+
onAction: ON_ACTION
|
|
250
|
+
})), container = _renderWithValidation2.container;
|
|
251
|
+
expect(container.childNodes.length).toEqual(0);
|
|
252
|
+
case 2:
|
|
253
|
+
case "end":
|
|
254
|
+
return _context2.stop();
|
|
255
|
+
}
|
|
256
|
+
}, _callee2);
|
|
257
|
+
})));
|
|
258
|
+
it('should render a submit page correctly and submit action button has interpolated label', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
259
|
+
var _renderWithValidation3, container, page, FORM_DATA, heading;
|
|
260
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
261
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
262
|
+
case 0:
|
|
263
|
+
_renderWithValidation3 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
|
|
264
|
+
page: PAGE_WITH_BUTTON_ACTIONS,
|
|
265
|
+
onAction: ON_ACTION
|
|
266
|
+
})), container = _renderWithValidation3.container;
|
|
267
|
+
page = container.childNodes[0];
|
|
268
|
+
FORM_DATA = PAGE_WITH_BUTTON_ACTIONS.formData;
|
|
269
|
+
expect(page.tagName).toEqual('DIV');
|
|
270
|
+
expect(page.classList).toContain(_CollectionPage.DEFAULT_CLASS);
|
|
271
|
+
heading = page.childNodes[0];
|
|
272
|
+
expect(heading.classList).toContain('govuk-heading-l');
|
|
273
|
+
expect(heading.textContent).toEqual(FORM_DATA.title);
|
|
274
|
+
checkInputField(page.childNodes[1], TEXT_WITH_EXPRESSION.fieldId, 'Email to test@example.email (optional)', 'Text hint Doe', 'Text1 Text value');
|
|
275
|
+
checkAutoCompleteField(page.childNodes[2], AUTO_WITH_EXPRESSION.fieldId, "".concat(FORM_DATA[COLLECTION_NAME][0].text2, " ").concat(FORM_DATA.currentUser.givenName), FORM_DATA.wrapper.email, "Text2 ".concat(VALUE));
|
|
276
|
+
checkFormButtonGroup(page.childNodes[3], ['Next Payment', 'Go back User Details']);
|
|
277
|
+
case 11:
|
|
278
|
+
case "end":
|
|
279
|
+
return _context3.stop();
|
|
280
|
+
}
|
|
281
|
+
}, _callee3);
|
|
282
|
+
})));
|
|
283
|
+
it('should render only the conditionally shown button', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
|
|
284
|
+
var _renderWithValidation4, container, page;
|
|
285
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
286
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
287
|
+
case 0:
|
|
288
|
+
_renderWithValidation4 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
|
|
289
|
+
page: PAGE_WITH_CONDITIONAL_BUTTONS,
|
|
290
|
+
onAction: ON_ACTION
|
|
291
|
+
})), container = _renderWithValidation4.container;
|
|
292
|
+
page = container.childNodes[0];
|
|
293
|
+
checkFormButtonGroup(page.childNodes[3], ['Button 2']); // Just the second button shown
|
|
294
|
+
case 3:
|
|
295
|
+
case "end":
|
|
296
|
+
return _context4.stop();
|
|
297
|
+
}
|
|
298
|
+
}, _callee4);
|
|
299
|
+
})));
|
|
300
|
+
describe('with a top-level Collection Page', function () {
|
|
301
|
+
it('should handle a page change appropriately', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
|
|
302
|
+
var _renderWithValidation5, container, page, input, NEW_VALUE, EVENT;
|
|
303
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
304
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
305
|
+
case 0:
|
|
306
|
+
_renderWithValidation5 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
|
|
307
|
+
page: PAGE,
|
|
308
|
+
onAction: ON_ACTION
|
|
309
|
+
})), container = _renderWithValidation5.container;
|
|
310
|
+
page = container.childNodes[0];
|
|
311
|
+
expect(page.tagName).toEqual('DIV');
|
|
302
312
|
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
const page = container.childNodes[0];
|
|
313
|
+
// Change the input.
|
|
314
|
+
input = page.childNodes[1].childNodes[2];
|
|
315
|
+
NEW_VALUE = "".concat(VALUE, ".");
|
|
316
|
+
EVENT = {
|
|
317
|
+
target: {
|
|
318
|
+
name: TEXT.fieldId,
|
|
319
|
+
value: NEW_VALUE
|
|
320
|
+
}
|
|
321
|
+
};
|
|
322
|
+
_react.fireEvent.change(input, EVENT);
|
|
314
323
|
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
name: TEXT.fieldId,
|
|
321
|
-
value: NEW_VALUE
|
|
324
|
+
// And confirm the formData has been changed.
|
|
325
|
+
expect(PAGE.formData[COLLECTION_NAME][0].text).toEqual(NEW_VALUE);
|
|
326
|
+
case 8:
|
|
327
|
+
case "end":
|
|
328
|
+
return _context5.stop();
|
|
322
329
|
}
|
|
323
|
-
};
|
|
324
|
-
|
|
330
|
+
}, _callee5);
|
|
331
|
+
})));
|
|
332
|
+
it('should handle a page action appropriately, updating the active entry if there is one', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
|
|
333
|
+
var _renderWithValidation6, container, page, input, NEW_VALUE, CHANGE_EVENT, button;
|
|
334
|
+
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
335
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
336
|
+
case 0:
|
|
337
|
+
_renderWithValidation6 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
|
|
338
|
+
page: PAGE,
|
|
339
|
+
onAction: ON_ACTION
|
|
340
|
+
})), container = _renderWithValidation6.container;
|
|
341
|
+
page = container.childNodes[0]; // Change the input.
|
|
342
|
+
input = page.childNodes[1].childNodes[2];
|
|
343
|
+
NEW_VALUE = "".concat(VALUE, ".");
|
|
344
|
+
CHANGE_EVENT = {
|
|
345
|
+
target: {
|
|
346
|
+
name: TEXT.fieldId,
|
|
347
|
+
value: NEW_VALUE
|
|
348
|
+
}
|
|
349
|
+
};
|
|
350
|
+
_react.fireEvent.change(input, CHANGE_EVENT);
|
|
325
351
|
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
352
|
+
// Then click the action button.
|
|
353
|
+
button = page.childNodes[2].childNodes[0];
|
|
354
|
+
_react.fireEvent.click(button, {});
|
|
329
355
|
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
it('should handle a page action appropriately, creating a new active entry if there isn\'t one', async () => {
|
|
342
|
-
// Make sure there is no active entry.
|
|
343
|
-
PAGE.formData[`${COLLECTION_NAME}ActiveId`] = 'newId';
|
|
344
|
-
const {
|
|
345
|
-
container
|
|
346
|
-
} = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
|
|
347
|
-
page: PAGE,
|
|
348
|
-
onAction: ON_ACTION
|
|
349
|
-
}));
|
|
350
|
-
const page = container.childNodes[0];
|
|
351
|
-
|
|
352
|
-
// Change the input.
|
|
353
|
-
const input = page.childNodes[1].childNodes[2];
|
|
354
|
-
const NEW_VALUE = `${VALUE}.`;
|
|
355
|
-
const CHANGE_EVENT = {
|
|
356
|
-
target: {
|
|
357
|
-
name: TEXT.fieldId,
|
|
358
|
-
value: NEW_VALUE
|
|
356
|
+
// And confirm an appropriate action was received.
|
|
357
|
+
expect(ON_ACTION_CALLS.length).toEqual(1);
|
|
358
|
+
expect(PAGE.formData[COLLECTION_NAME][0].text).toEqual(NEW_VALUE);
|
|
359
|
+
expect(ON_ACTION_CALLS[0].action).toEqual(_models.PageAction.DEFAULTS.submit);
|
|
360
|
+
expect(ON_ACTION_CALLS[0].patch).toEqual(_defineProperty({}, COLLECTION_NAME, [{
|
|
361
|
+
id: ACTIVE_ID,
|
|
362
|
+
text: NEW_VALUE
|
|
363
|
+
}]));
|
|
364
|
+
case 12:
|
|
365
|
+
case "end":
|
|
366
|
+
return _context6.stop();
|
|
359
367
|
}
|
|
360
|
-
};
|
|
361
|
-
|
|
368
|
+
}, _callee6);
|
|
369
|
+
})));
|
|
370
|
+
it('should handle a page action appropriately, creating a new active entry if there isn\'t one', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
|
|
371
|
+
var _renderWithValidation7, container, page, input, NEW_VALUE, CHANGE_EVENT, button;
|
|
372
|
+
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
373
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
374
|
+
case 0:
|
|
375
|
+
// Make sure there is no active entry.
|
|
376
|
+
PAGE.formData["".concat(COLLECTION_NAME, "ActiveId")] = 'newId';
|
|
377
|
+
_renderWithValidation7 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
|
|
378
|
+
page: PAGE,
|
|
379
|
+
onAction: ON_ACTION
|
|
380
|
+
})), container = _renderWithValidation7.container;
|
|
381
|
+
page = container.childNodes[0]; // Change the input.
|
|
382
|
+
input = page.childNodes[1].childNodes[2];
|
|
383
|
+
NEW_VALUE = "".concat(VALUE, ".");
|
|
384
|
+
CHANGE_EVENT = {
|
|
385
|
+
target: {
|
|
386
|
+
name: TEXT.fieldId,
|
|
387
|
+
value: NEW_VALUE
|
|
388
|
+
}
|
|
389
|
+
};
|
|
390
|
+
_react.fireEvent.change(input, CHANGE_EVENT);
|
|
362
391
|
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
392
|
+
// Then click the action button.
|
|
393
|
+
button = page.childNodes[2].childNodes[0];
|
|
394
|
+
_react.fireEvent.click(button, {});
|
|
366
395
|
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
396
|
+
// And confirm an appropriate action was received.
|
|
397
|
+
expect(ON_ACTION_CALLS.length).toEqual(1);
|
|
398
|
+
expect(PAGE.formData[COLLECTION_NAME][1].text).toEqual(NEW_VALUE);
|
|
399
|
+
expect(PAGE.formData[COLLECTION_NAME][1].id).toBeTruthy();
|
|
400
|
+
expect(ON_ACTION_CALLS[0].action).toEqual(_models.PageAction.DEFAULTS.submit);
|
|
401
|
+
case 13:
|
|
402
|
+
case "end":
|
|
403
|
+
return _context7.stop();
|
|
404
|
+
}
|
|
405
|
+
}, _callee7);
|
|
406
|
+
})));
|
|
373
407
|
});
|
|
374
|
-
describe('with a nested Collection Page', ()
|
|
375
|
-
|
|
408
|
+
describe('with a nested Collection Page', function () {
|
|
409
|
+
var NESTED_PAGE = {
|
|
376
410
|
id: 'pageId',
|
|
377
411
|
title: 'Page 1',
|
|
378
412
|
collection: {
|
|
@@ -392,7 +426,7 @@ describe('components.CollectionPage', () => {
|
|
|
392
426
|
}]
|
|
393
427
|
}
|
|
394
428
|
};
|
|
395
|
-
beforeEach(()
|
|
429
|
+
beforeEach(function () {
|
|
396
430
|
NESTED_PAGE.formData = {
|
|
397
431
|
parentActiveId: '001',
|
|
398
432
|
childActiveId: '001',
|
|
@@ -406,100 +440,117 @@ describe('components.CollectionPage', () => {
|
|
|
406
440
|
};
|
|
407
441
|
ON_ACTION_CALLS.length = 0;
|
|
408
442
|
});
|
|
409
|
-
it('should handle a page change appropriately',
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
443
|
+
it('should handle a page change appropriately', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
|
|
444
|
+
var _renderWithValidation8, container, page, input, NEW_VALUE, EVENT;
|
|
445
|
+
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
446
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
447
|
+
case 0:
|
|
448
|
+
_renderWithValidation8 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
|
|
449
|
+
page: NESTED_PAGE,
|
|
450
|
+
onAction: ON_ACTION
|
|
451
|
+
})), container = _renderWithValidation8.container;
|
|
452
|
+
page = container.childNodes[0];
|
|
453
|
+
expect(page.tagName).toEqual('DIV');
|
|
418
454
|
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
455
|
+
// Change the input.
|
|
456
|
+
input = page.childNodes[1].childNodes[2];
|
|
457
|
+
NEW_VALUE = "".concat(VALUE, ".");
|
|
458
|
+
EVENT = {
|
|
459
|
+
target: {
|
|
460
|
+
name: TEXT.fieldId,
|
|
461
|
+
value: NEW_VALUE
|
|
462
|
+
}
|
|
463
|
+
};
|
|
464
|
+
_react.fireEvent.change(input, EVENT);
|
|
429
465
|
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
container
|
|
436
|
-
} = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
|
|
437
|
-
page: NESTED_PAGE,
|
|
438
|
-
onAction: ON_ACTION
|
|
439
|
-
}));
|
|
440
|
-
const page = container.childNodes[0];
|
|
441
|
-
|
|
442
|
-
// Change the input.
|
|
443
|
-
const input = page.childNodes[1].childNodes[2];
|
|
444
|
-
const NEW_VALUE = `${VALUE}.`;
|
|
445
|
-
const CHANGE_EVENT = {
|
|
446
|
-
target: {
|
|
447
|
-
name: TEXT.fieldId,
|
|
448
|
-
value: NEW_VALUE
|
|
466
|
+
// And confirm the formData has been changed.
|
|
467
|
+
expect(NESTED_PAGE.formData.parent[0].child[0].text).toEqual(NEW_VALUE);
|
|
468
|
+
case 8:
|
|
469
|
+
case "end":
|
|
470
|
+
return _context8.stop();
|
|
449
471
|
}
|
|
450
|
-
};
|
|
451
|
-
|
|
472
|
+
}, _callee8);
|
|
473
|
+
})));
|
|
474
|
+
it('should handle a page action appropriately, updating the active entry if there is one', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee9() {
|
|
475
|
+
var _renderWithValidation9, container, page, input, NEW_VALUE, CHANGE_EVENT, button;
|
|
476
|
+
return _regeneratorRuntime().wrap(function _callee9$(_context9) {
|
|
477
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
478
|
+
case 0:
|
|
479
|
+
_renderWithValidation9 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
|
|
480
|
+
page: NESTED_PAGE,
|
|
481
|
+
onAction: ON_ACTION
|
|
482
|
+
})), container = _renderWithValidation9.container;
|
|
483
|
+
page = container.childNodes[0]; // Change the input.
|
|
484
|
+
input = page.childNodes[1].childNodes[2];
|
|
485
|
+
NEW_VALUE = "".concat(VALUE, ".");
|
|
486
|
+
CHANGE_EVENT = {
|
|
487
|
+
target: {
|
|
488
|
+
name: TEXT.fieldId,
|
|
489
|
+
value: NEW_VALUE
|
|
490
|
+
}
|
|
491
|
+
};
|
|
492
|
+
_react.fireEvent.change(input, CHANGE_EVENT);
|
|
452
493
|
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
494
|
+
// Then click the action button.
|
|
495
|
+
button = page.childNodes[2].childNodes[0];
|
|
496
|
+
_react.fireEvent.click(button, {});
|
|
456
497
|
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
NESTED_PAGE.formData.childActiveId = 'newId';
|
|
474
|
-
const {
|
|
475
|
-
container
|
|
476
|
-
} = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
|
|
477
|
-
page: NESTED_PAGE,
|
|
478
|
-
onAction: ON_ACTION
|
|
479
|
-
}));
|
|
480
|
-
const page = container.childNodes[0];
|
|
481
|
-
|
|
482
|
-
// Change the input.
|
|
483
|
-
const input = page.childNodes[1].childNodes[2];
|
|
484
|
-
const NEW_VALUE = `${VALUE}.`;
|
|
485
|
-
const CHANGE_EVENT = {
|
|
486
|
-
target: {
|
|
487
|
-
name: TEXT.fieldId,
|
|
488
|
-
value: NEW_VALUE
|
|
498
|
+
// And confirm an appropriate action was received.
|
|
499
|
+
expect(ON_ACTION_CALLS.length).toEqual(1);
|
|
500
|
+
expect(NESTED_PAGE.formData.parent[0].child[0].text).toEqual(NEW_VALUE);
|
|
501
|
+
expect(ON_ACTION_CALLS[0].action).toEqual(_models.PageAction.DEFAULTS.submit);
|
|
502
|
+
expect(ON_ACTION_CALLS[0].patch).toEqual({
|
|
503
|
+
parent: [{
|
|
504
|
+
id: '001',
|
|
505
|
+
child: [{
|
|
506
|
+
id: '001',
|
|
507
|
+
text: NEW_VALUE
|
|
508
|
+
}]
|
|
509
|
+
}]
|
|
510
|
+
});
|
|
511
|
+
case 12:
|
|
512
|
+
case "end":
|
|
513
|
+
return _context9.stop();
|
|
489
514
|
}
|
|
490
|
-
};
|
|
491
|
-
|
|
515
|
+
}, _callee9);
|
|
516
|
+
})));
|
|
517
|
+
it('should handle a page action appropriately, creating a new active entry if there isn\'t one', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10() {
|
|
518
|
+
var _renderWithValidation10, container, page, input, NEW_VALUE, CHANGE_EVENT, button;
|
|
519
|
+
return _regeneratorRuntime().wrap(function _callee10$(_context10) {
|
|
520
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
521
|
+
case 0:
|
|
522
|
+
// Make sure there is no active entry.
|
|
523
|
+
NESTED_PAGE.formData.childActiveId = 'newId';
|
|
524
|
+
_renderWithValidation10 = (0, _setupTests.renderWithValidation)( /*#__PURE__*/_react2.default.createElement(_CollectionPage.default, {
|
|
525
|
+
page: NESTED_PAGE,
|
|
526
|
+
onAction: ON_ACTION
|
|
527
|
+
})), container = _renderWithValidation10.container;
|
|
528
|
+
page = container.childNodes[0]; // Change the input.
|
|
529
|
+
input = page.childNodes[1].childNodes[2];
|
|
530
|
+
NEW_VALUE = "".concat(VALUE, ".");
|
|
531
|
+
CHANGE_EVENT = {
|
|
532
|
+
target: {
|
|
533
|
+
name: TEXT.fieldId,
|
|
534
|
+
value: NEW_VALUE
|
|
535
|
+
}
|
|
536
|
+
};
|
|
537
|
+
_react.fireEvent.change(input, CHANGE_EVENT);
|
|
492
538
|
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
539
|
+
// Then click the action button.
|
|
540
|
+
button = page.childNodes[2].childNodes[0];
|
|
541
|
+
_react.fireEvent.click(button, {});
|
|
496
542
|
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
543
|
+
// And confirm an appropriate action was received.
|
|
544
|
+
expect(ON_ACTION_CALLS.length).toEqual(1);
|
|
545
|
+
expect(NESTED_PAGE.formData.parent[0].child[1].text).toEqual(NEW_VALUE);
|
|
546
|
+
expect(NESTED_PAGE.formData.parent[0].child[1].id).toBeTruthy();
|
|
547
|
+
expect(ON_ACTION_CALLS[0].action).toEqual(_models.PageAction.DEFAULTS.submit);
|
|
548
|
+
case 13:
|
|
549
|
+
case "end":
|
|
550
|
+
return _context10.stop();
|
|
551
|
+
}
|
|
552
|
+
}, _callee10);
|
|
553
|
+
})));
|
|
503
554
|
});
|
|
504
555
|
});
|
|
505
556
|
});
|