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