@ukhomeoffice/cop-react-form-renderer 6.7.0-alpha → 6.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/CheckYourAnswers/Answer.js +22 -16
- package/dist/components/CheckYourAnswers/Answer.test.js +180 -92
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +137 -103
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +861 -463
- package/dist/components/CollectionPage/CollectionPage.js +63 -73
- package/dist/components/CollectionPage/CollectionPage.test.js +366 -316
- package/dist/components/CollectionSummary/BannerStrip.js +13 -13
- package/dist/components/CollectionSummary/BannerStrip.test.js +76 -80
- package/dist/components/CollectionSummary/CollectionSummary.js +126 -99
- package/dist/components/CollectionSummary/CollectionSummary.test.js +188 -152
- package/dist/components/CollectionSummary/Confirmation.js +12 -14
- package/dist/components/CollectionSummary/Confirmation.test.js +63 -68
- package/dist/components/CollectionSummary/RenderListView.js +52 -46
- package/dist/components/CollectionSummary/RenderListView.scss +1 -1
- package/dist/components/CollectionSummary/RenderListView.test.js +77 -78
- package/dist/components/CollectionSummary/SummaryCard.js +152 -110
- package/dist/components/CollectionSummary/SummaryCard.test.js +1018 -929
- package/dist/components/CollectionSummary/SummaryCardDetails.js +137 -94
- package/dist/components/CollectionSummary/SummaryCardDetails.scss +13 -4
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +331 -128
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +35 -30
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +74 -62
- package/dist/components/FormComponent/Collection.js +108 -74
- package/dist/components/FormComponent/Collection.test.js +1081 -909
- package/dist/components/FormComponent/Container.js +39 -40
- package/dist/components/FormComponent/Container.test.js +412 -312
- package/dist/components/FormComponent/FormComponent.js +72 -69
- package/dist/components/FormComponent/FormComponent.test.js +414 -353
- package/dist/components/FormComponent/helpers/addLabel.js +7 -4
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +7 -7
- package/dist/components/FormComponent/helpers/getComponentError.js +5 -3
- package/dist/components/FormComponent/helpers/getComponentError.test.js +14 -14
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +4 -3
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +6 -6
- package/dist/components/FormComponent/helpers/index.js +4 -4
- package/dist/components/FormPage/FormPage.js +80 -65
- package/dist/components/FormPage/FormPage.test.js +163 -127
- package/dist/components/FormRenderer/FormRenderer.js +180 -143
- package/dist/components/FormRenderer/FormRenderer.test.js +1115 -730
- package/dist/components/FormRenderer/handlers/cyaAction.js +2 -2
- package/dist/components/FormRenderer/handlers/getPageId.js +3 -1
- package/dist/components/FormRenderer/handlers/getPageId.test.js +14 -14
- package/dist/components/FormRenderer/handlers/handlers.test.js +32 -32
- package/dist/components/FormRenderer/handlers/index.js +1 -1
- package/dist/components/FormRenderer/handlers/navigate.js +3 -3
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +15 -15
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +3 -1
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +20 -16
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +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 +97 -103
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +60 -62
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +78 -71
- package/dist/components/FormRenderer/helpers/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +51 -59
- package/dist/components/FormRenderer/onCYAAction.test.js +152 -164
- package/dist/components/FormRenderer/onPageAction.js +39 -43
- package/dist/components/FormRenderer/onPageAction.test.js +208 -223
- package/dist/components/FormRenderer/onTaskAction.js +13 -9
- package/dist/components/FormRenderer/onTaskAction.test.js +88 -93
- package/dist/components/PageActions/ActionButton.js +15 -12
- package/dist/components/PageActions/ActionButton.test.js +78 -56
- package/dist/components/PageActions/PageActions.js +10 -10
- package/dist/components/PageActions/PageActions.test.js +115 -86
- package/dist/components/SummaryList/GroupAction.js +17 -9
- package/dist/components/SummaryList/GroupAction.test.js +33 -37
- package/dist/components/SummaryList/RowAction.js +16 -11
- package/dist/components/SummaryList/RowAction.test.js +33 -37
- package/dist/components/SummaryList/SummaryList.js +34 -21
- package/dist/components/SummaryList/SummaryList.scss +15 -0
- package/dist/components/SummaryList/SummaryList.test.js +226 -143
- package/dist/components/SummaryList/SummaryListHeadingRow.js +4 -6
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +53 -0
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.scss +38 -0
- package/dist/components/SummaryList/SummaryListRow.js +4 -6
- package/dist/components/SummaryList/SummaryListTitleRow.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -3
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -3
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +22 -22
- package/dist/components/SummaryList/helpers/index.js +1 -1
- package/dist/components/TaskList/Task.js +29 -19
- package/dist/components/TaskList/Task.test.js +76 -83
- package/dist/components/TaskList/TaskList.js +92 -49
- package/dist/components/TaskList/TaskList.scss +24 -0
- package/dist/components/TaskList/TaskList.test.js +255 -113
- package/dist/components/TaskList/TaskState.js +5 -7
- package/dist/components/TaskList/TaskState.test.js +45 -52
- package/dist/components/index.js +7 -7
- package/dist/context/HooksContext/HooksContext.js +80 -57
- package/dist/context/HooksContext/HooksContext.test.js +35 -26
- package/dist/context/HooksContext/index.js +4 -3
- package/dist/context/ValidationContext/ValidationContext.js +94 -43
- package/dist/context/ValidationContext/ValidationContext.test.js +68 -56
- package/dist/context/ValidationContext/index.js +4 -3
- package/dist/context/index.js +2 -2
- package/dist/hooks/index.js +10 -9
- package/dist/hooks/useAxios.js +40 -14
- package/dist/hooks/useGetRequest.js +97 -61
- package/dist/hooks/useHooks.js +3 -1
- package/dist/hooks/useRefData.js +39 -26
- package/dist/hooks/useValidation.js +3 -1
- package/dist/index.js +14 -13
- package/dist/models/CollectionLabels.js +1 -1
- package/dist/models/ComponentTypes.js +25 -25
- package/dist/models/EventTypes.js +4 -4
- package/dist/models/FormPages.js +4 -4
- package/dist/models/FormTypes.js +8 -8
- package/dist/models/HubFormats.js +3 -3
- package/dist/models/PageAction.js +38 -44
- package/dist/models/TaskStates.js +28 -29
- package/dist/models/index.js +9 -9
- package/dist/setupTests.js +31 -30
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +54 -52
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +25 -15
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +35 -33
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +31 -17
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +44 -42
- package/dist/utils/CheckYourAnswers/getCYARow.js +6 -6
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +86 -86
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +24 -18
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -15
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +36 -33
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +61 -58
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +108 -87
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +281 -162
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +20 -25
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +97 -103
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +18 -13
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +76 -70
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +42 -0
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +56 -0
- package/dist/utils/CheckYourAnswers/index.js +1 -1
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +4 -4
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +5 -5
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +2 -2
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -17
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +22 -12
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +38 -47
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +10 -10
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +11 -7
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +22 -22
- package/dist/utils/CollectionPage/getCollectionPageData.js +12 -8
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +19 -19
- package/dist/utils/CollectionPage/getErrorsForCollection.js +24 -24
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +22 -20
- package/dist/utils/CollectionPage/getQuickEditPage.js +31 -35
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +27 -15
- package/dist/utils/CollectionPage/index.js +1 -1
- package/dist/utils/CollectionPage/mergeCollectionPages.js +43 -31
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -26
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +6 -4
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +10 -10
- package/dist/utils/CollectionPage/setCollectionPageData.js +16 -10
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +24 -24
- package/dist/utils/Component/addShowWhen.js +8 -4
- package/dist/utils/Component/addShowWhen.test.js +37 -37
- package/dist/utils/Component/applyToComponentTree.js +18 -18
- package/dist/utils/Component/applyToComponentTree.test.js +32 -27
- package/dist/utils/Component/cleanAttributes.js +13 -10
- package/dist/utils/Component/cleanAttributes.test.js +18 -17
- package/dist/utils/Component/elevateNestedComponents.js +7 -6
- package/dist/utils/Component/elevateNestedComponents.test.js +68 -30
- package/dist/utils/Component/getComponent.js +94 -88
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +17 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +59 -46
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +48 -39
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -23
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +18 -20
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +25 -20
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +9 -10
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +8 -9
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +26 -22
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +175 -155
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +15 -17
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +72 -57
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +22 -17
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +38 -31
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +29 -20
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +2 -2
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +8 -9
- package/dist/utils/Component/getDefaultValue.js +8 -6
- package/dist/utils/Component/getDefaultValue.test.js +12 -12
- package/dist/utils/Component/getDefaultValueFromConfig.js +21 -22
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +31 -31
- package/dist/utils/Component/index.js +1 -1
- package/dist/utils/Component/isEditable.js +4 -2
- package/dist/utils/Component/isEditable.test.js +15 -14
- package/dist/utils/Component/optionIsSelected.js +6 -1
- package/dist/utils/Component/optionIsSelected.test.js +35 -9
- package/dist/utils/Component/setupContainerComponentsPath.js +29 -27
- package/dist/utils/Component/setupContainerComponentsPath.test.js +11 -11
- package/dist/utils/Component/showComponent.js +1 -1
- package/dist/utils/Component/showComponent.test.js +28 -28
- package/dist/utils/Component/wrapInFormGroup.js +2 -2
- package/dist/utils/Condition/index.js +1 -1
- package/dist/utils/Condition/meetsAllConditions.js +8 -8
- package/dist/utils/Condition/meetsAllConditions.test.js +20 -20
- package/dist/utils/Condition/meetsCondition.js +25 -16
- package/dist/utils/Condition/meetsCondition.test.js +402 -402
- package/dist/utils/Condition/meetsOneCondition.js +5 -5
- package/dist/utils/Condition/meetsOneCondition.test.js +16 -16
- package/dist/utils/Condition/setupConditions.js +18 -13
- package/dist/utils/Condition/setupConditions.test.js +7 -7
- package/dist/utils/Container/getEditableComponents.js +5 -3
- package/dist/utils/Container/getEditableComponents.test.js +45 -43
- package/dist/utils/Container/index.js +1 -1
- package/dist/utils/Container/setupNesting.js +20 -16
- package/dist/utils/Container/setupNesting.test.js +30 -27
- package/dist/utils/Container/showContainer.js +7 -3
- package/dist/utils/Container/showContainer.test.js +30 -30
- package/dist/utils/Data/applyFormula.js +48 -38
- package/dist/utils/Data/applyFormula.test.js +20 -20
- package/dist/utils/Data/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 +30 -24
- package/dist/utils/Data/getOptions.test.js +27 -27
- 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/nestInRefdataOptions.js +16 -9
- package/dist/utils/Data/nestInRefdataOptions.test.js +16 -16
- package/dist/utils/Data/refDataToOptions.js +13 -10
- package/dist/utils/Data/refDataToOptions.test.js +19 -19
- package/dist/utils/Data/setDataItem.js +8 -7
- package/dist/utils/Data/setDataItem.test.js +37 -37
- package/dist/utils/Data/setupFormData.js +21 -13
- package/dist/utils/Data/setupFormData.test.js +50 -51
- package/dist/utils/Data/setupRefDataUrlForComponent.js +26 -20
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +24 -24
- package/dist/utils/FormPage/applyConditionalProperties.js +9 -5
- package/dist/utils/FormPage/applyConditionalProperties.test.js +18 -15
- package/dist/utils/FormPage/getConditionalText.js +3 -3
- package/dist/utils/FormPage/getConditionalText.test.js +29 -29
- package/dist/utils/FormPage/getFormPage.js +16 -15
- package/dist/utils/FormPage/getFormPage.test.js +46 -47
- package/dist/utils/FormPage/getFormPages.js +12 -7
- package/dist/utils/FormPage/getFormPages.test.js +23 -20
- package/dist/utils/FormPage/getPageActions.js +15 -9
- package/dist/utils/FormPage/getPageActions.test.js +32 -32
- package/dist/utils/FormPage/getParagraphFromText.js +7 -5
- package/dist/utils/FormPage/getParagraphFromText.test.js +6 -6
- package/dist/utils/FormPage/index.js +4 -2
- package/dist/utils/FormPage/showFormPage.js +7 -3
- package/dist/utils/FormPage/showFormPage.test.js +32 -32
- package/dist/utils/FormPage/showFormPageCYA.js +1 -1
- package/dist/utils/FormPage/showFormPageCYA.test.js +8 -8
- package/dist/utils/FormPage/useComponent.js +28 -21
- package/dist/utils/FormPage/useComponent.test.js +79 -77
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +18 -18
- package/dist/utils/Format/formatDataForComponent.js +6 -5
- package/dist/utils/Format/formatDataForComponent.test.js +78 -50
- package/dist/utils/Format/formatDataForForm.js +8 -6
- package/dist/utils/Format/formatDataForForm.test.js +16 -13
- package/dist/utils/Format/formatDataForPage.js +5 -4
- package/dist/utils/Format/formatDataForPage.test.js +25 -20
- package/dist/utils/Format/index.js +1 -1
- package/dist/utils/Hub/getFormHub.js +1 -1
- package/dist/utils/Hub/getFormHub.test.js +31 -28
- package/dist/utils/Hub/index.js +1 -1
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +16 -24
- package/dist/utils/Meta/documents/index.js +1 -1
- package/dist/utils/Meta/documents/setDocumentsForField.js +16 -14
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +34 -68
- package/dist/utils/Meta/index.js +1 -1
- package/dist/utils/Operate/checkValueIsTruthy.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.test.js +16 -16
- package/dist/utils/Operate/getFirstOf.js +5 -5
- package/dist/utils/Operate/getFirstOf.test.js +31 -31
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +10 -10
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +52 -46
- package/dist/utils/Operate/getLength.js +50 -0
- package/dist/utils/Operate/getLength.test.js +89 -0
- package/dist/utils/Operate/index.js +1 -1
- package/dist/utils/Operate/persistValueInFormData.js +3 -3
- package/dist/utils/Operate/persistValueInFormData.test.js +20 -22
- package/dist/utils/Operate/runPageOperations.js +9 -7
- package/dist/utils/Operate/runPageOperations.test.js +36 -35
- package/dist/utils/Operate/setValueInFormData.js +2 -2
- package/dist/utils/Operate/setValueInFormData.test.js +16 -16
- package/dist/utils/Operate/shouldRun.js +6 -6
- package/dist/utils/Operate/shouldRun.test.js +27 -21
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +18 -18
- package/dist/utils/Validate/additional/index.js +6 -6
- 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 +4 -4
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +39 -35
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +16 -14
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +12 -12
- package/dist/utils/Validate/additional/mustNotContainSql.js +4 -3
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +14 -14
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +26 -28
- package/dist/utils/Validate/additional/utils.js +22 -9
- package/dist/utils/Validate/index.js +1 -1
- package/dist/utils/Validate/validateCollection.js +25 -19
- package/dist/utils/Validate/validateCollection.test.js +66 -74
- package/dist/utils/Validate/validateComponent.js +21 -18
- package/dist/utils/Validate/validateComponent.test.js +176 -166
- package/dist/utils/Validate/validateContainer.js +20 -15
- package/dist/utils/Validate/validateContainer.test.js +52 -58
- package/dist/utils/Validate/validateDate.js +21 -15
- package/dist/utils/Validate/validateDate.test.js +32 -31
- package/dist/utils/Validate/validateEmail.js +8 -6
- package/dist/utils/Validate/validateEmail.test.js +25 -25
- package/dist/utils/Validate/validateMultifile.js +7 -5
- package/dist/utils/Validate/validateMultifile.test.js +18 -17
- package/dist/utils/Validate/validatePage.js +22 -19
- package/dist/utils/Validate/validatePage.test.js +203 -215
- package/dist/utils/Validate/validateRegex.js +5 -3
- package/dist/utils/Validate/validateRegex.test.js +14 -14
- package/dist/utils/Validate/validateRequired.js +6 -4
- package/dist/utils/Validate/validateRequired.test.js +18 -18
- package/dist/utils/Validate/validateTextArea.js +6 -4
- package/dist/utils/Validate/validateTextArea.test.js +20 -20
- package/dist/utils/Validate/validateTime.js +26 -11
- package/dist/utils/Validate/validateTime.test.js +62 -16
- package/dist/utils/index.js +9 -7
- package/package.json +2 -2
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.js +0 -37
- package/dist/utils/CheckYourAnswers/getComponentRowForCYA.test.js +0 -41
|
@@ -17,34 +17,46 @@ var _models = require("../../models");
|
|
|
17
17
|
var _setupTests = require("../../setupTests");
|
|
18
18
|
var _utils = _interopRequireDefault(require("../../utils"));
|
|
19
19
|
var _CheckYourAnswers = _interopRequireWildcard(require("./CheckYourAnswers"));
|
|
20
|
-
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); }
|
|
21
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" !=
|
|
20
|
+
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); }
|
|
21
|
+
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; }
|
|
22
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
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); }
|
|
24
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
25
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
26
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
27
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
28
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
29
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
30
|
+
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; }
|
|
31
|
+
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); } }
|
|
32
|
+
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); }); }; }
|
|
33
|
+
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; }
|
|
34
|
+
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; }
|
|
35
|
+
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; }
|
|
36
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
37
|
+
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
|
|
25
38
|
// Local imports
|
|
26
|
-
|
|
27
|
-
describe('
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
});
|
|
34
|
-
const ON_ROW_ACTION_CALLS = [];
|
|
35
|
-
const ON_ROW_ACTION = row => {
|
|
39
|
+
describe('components', function () {
|
|
40
|
+
describe('CheckYourAnswers', function () {
|
|
41
|
+
var mockAxios = new _axiosMockAdapter.default(_axios.default);
|
|
42
|
+
var DATA = _utils.default.Data.setupForm(_userProfile.default.pages, _userProfile.default.components, _userProfileData.default);
|
|
43
|
+
var PAGES = _utils.default.FormPage.getAll(_userProfile.default.pages, _userProfile.default.components, _objectSpread({}, DATA));
|
|
44
|
+
var ON_ROW_ACTION_CALLS = [];
|
|
45
|
+
var ON_ROW_ACTION = function ON_ROW_ACTION(row) {
|
|
36
46
|
ON_ROW_ACTION_CALLS.push(row);
|
|
37
47
|
};
|
|
38
|
-
|
|
39
|
-
|
|
48
|
+
var ON_ACTION_CALLS = [];
|
|
49
|
+
var ON_ACTION = function ON_ACTION(action, onError) {
|
|
40
50
|
ON_ACTION_CALLS.push({
|
|
41
|
-
action,
|
|
42
|
-
onError
|
|
51
|
+
action: action,
|
|
52
|
+
onError: onError
|
|
43
53
|
});
|
|
44
54
|
};
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
55
|
+
var container = null;
|
|
56
|
+
var refDataUrl = function refDataUrl(suffix) {
|
|
57
|
+
return "".concat(_userProfileData.default.urls.refData, "/").concat(suffix);
|
|
58
|
+
};
|
|
59
|
+
beforeEach(function () {
|
|
48
60
|
ON_ROW_ACTION_CALLS.length = 0;
|
|
49
61
|
ON_ACTION_CALLS.length = 0;
|
|
50
62
|
container = document.createElement('div');
|
|
@@ -54,19 +66,19 @@ describe('components', () => {
|
|
|
54
66
|
mockAxios.onGet(refDataUrl('grade')).reply(200, _grade.default);
|
|
55
67
|
mockAxios.onGet(refDataUrl('team')).reply(200, _team.default);
|
|
56
68
|
});
|
|
57
|
-
afterEach(()
|
|
69
|
+
afterEach(function () {
|
|
58
70
|
(0, _reactDom.unmountComponentAtNode)(container);
|
|
59
71
|
container.remove();
|
|
60
72
|
container = null;
|
|
61
73
|
});
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
74
|
+
var checkCYA = function checkCYA(cyaContainer) {
|
|
75
|
+
var checkCYAContainer = cyaContainer;
|
|
76
|
+
var cya = checkCYAContainer.childNodes[0];
|
|
65
77
|
expect(cya.tagName).toEqual('DIV');
|
|
66
78
|
expect(cya.classList).toContain(_CheckYourAnswers.DEFAULT_CLASS);
|
|
67
79
|
return cya;
|
|
68
80
|
};
|
|
69
|
-
|
|
81
|
+
var checkRow = function checkRow(row, key, value, action) {
|
|
70
82
|
expect(row.textContent).toContain(key);
|
|
71
83
|
expect(row.textContent).toContain(value);
|
|
72
84
|
if (action) {
|
|
@@ -75,444 +87,830 @@ describe('components', () => {
|
|
|
75
87
|
expect(row.textContent).not.toContain('Change');
|
|
76
88
|
}
|
|
77
89
|
};
|
|
78
|
-
it('should show default title if none is provided',
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
await (0, _testUtils.act)(async () => {
|
|
108
|
-
(0, _setupTests.renderDomWithValidation)( /*#__PURE__*/_react.default.createElement(_CheckYourAnswers.default, {
|
|
109
|
-
pages: PAGES,
|
|
110
|
-
onRowAction: ON_ROW_ACTION,
|
|
111
|
-
onAction: ON_ACTION
|
|
112
|
-
}), container);
|
|
113
|
-
});
|
|
114
|
-
const cya = checkCYA(container);
|
|
115
|
-
const [, cyaChildNode] = cya.childNodes;
|
|
116
|
-
const names = cyaChildNode.childNodes[0];
|
|
117
|
-
expect(names.tagName).toEqual('DL');
|
|
118
|
-
expect(names.classList).toContain("govuk-!-margin-bottom-".concat(_CheckYourAnswers.DEFAULT_MARGIN_BOTTOM));
|
|
119
|
-
const [firstName, surname] = names.childNodes;
|
|
120
|
-
checkRow(firstName, 'First name', 'John', false);
|
|
121
|
-
checkRow(surname, 'Last name', 'Smith', false);
|
|
122
|
-
});
|
|
123
|
-
it('should show editable page components correctly', async () => {
|
|
124
|
-
await (0, _testUtils.act)(async () => {
|
|
125
|
-
(0, _setupTests.renderDomWithValidation)( /*#__PURE__*/_react.default.createElement(_CheckYourAnswers.default, {
|
|
126
|
-
pages: PAGES,
|
|
127
|
-
onRowAction: ON_ROW_ACTION,
|
|
128
|
-
onAction: ON_ACTION
|
|
129
|
-
}), container);
|
|
130
|
-
});
|
|
131
|
-
const cya = checkCYA(container);
|
|
132
|
-
const [,, title, cyaChildNode] = cya.childNodes;
|
|
133
|
-
const civilServant = cyaChildNode.childNodes[0];
|
|
134
|
-
expect(title.textContent).toEqual('Are you a civil servant?');
|
|
135
|
-
expect(civilServant.tagName).toEqual('DL');
|
|
136
|
-
expect(civilServant.classList).toContain("govuk-!-margin-bottom-".concat(_CheckYourAnswers.DEFAULT_MARGIN_BOTTOM));
|
|
137
|
-
const [status] = civilServant.childNodes;
|
|
138
|
-
checkRow(status, 'Are you a civil servant?', 'Yes', true);
|
|
139
|
-
});
|
|
140
|
-
it('should show editable page components correctly with page titles hidden', async () => {
|
|
141
|
-
await (0, _testUtils.act)(async () => {
|
|
142
|
-
(0, _setupTests.renderDomWithValidation)( /*#__PURE__*/_react.default.createElement(_CheckYourAnswers.default, {
|
|
143
|
-
pages: PAGES,
|
|
144
|
-
onRowAction: ON_ROW_ACTION,
|
|
145
|
-
onAction: ON_ACTION,
|
|
146
|
-
hide_page_titles: true
|
|
147
|
-
}), container);
|
|
148
|
-
});
|
|
149
|
-
const cya = checkCYA(container);
|
|
150
|
-
const [,, cyaChildNode] = cya.childNodes; // The title simply isn't returned
|
|
151
|
-
const civilServant = cyaChildNode.childNodes[0];
|
|
152
|
-
expect(civilServant.tagName).toEqual('DL');
|
|
153
|
-
expect(civilServant.classList).toContain("govuk-!-margin-bottom-0"); // Changed margin if no titles
|
|
154
|
-
const [status] = civilServant.childNodes;
|
|
155
|
-
checkRow(status, 'Are you a civil servant?', 'Yes', true);
|
|
156
|
-
});
|
|
157
|
-
it('should only show change link next to the heading when the page is configured to only have a single change link', async () => {
|
|
158
|
-
const CUSTOM_PAGES = PAGES.map(page => ({
|
|
159
|
-
...page,
|
|
160
|
-
cya_link: {
|
|
161
|
-
page: page.id,
|
|
162
|
-
aria_suffix: 'page details',
|
|
163
|
-
singleChangeLink: true
|
|
90
|
+
it('should show default title if none is provided', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
91
|
+
var cya, title;
|
|
92
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
93
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
94
|
+
case 0:
|
|
95
|
+
_context2.next = 2;
|
|
96
|
+
return (0, _testUtils.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
97
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
98
|
+
while (1) switch (_context.prev = _context.next) {
|
|
99
|
+
case 0:
|
|
100
|
+
(0, _setupTests.renderDomWithValidation)( /*#__PURE__*/_react.default.createElement(_CheckYourAnswers.default, {
|
|
101
|
+
pages: PAGES,
|
|
102
|
+
onRowAction: ON_ROW_ACTION,
|
|
103
|
+
onAction: ON_ACTION
|
|
104
|
+
}), container);
|
|
105
|
+
case 1:
|
|
106
|
+
case "end":
|
|
107
|
+
return _context.stop();
|
|
108
|
+
}
|
|
109
|
+
}, _callee);
|
|
110
|
+
})));
|
|
111
|
+
case 2:
|
|
112
|
+
cya = checkCYA(container);
|
|
113
|
+
title = cya.childNodes[0];
|
|
114
|
+
expect(title.classList).toContain('govuk-heading-l');
|
|
115
|
+
expect(title.textContent).toEqual(_CheckYourAnswers.DEFAULT_TITLE);
|
|
116
|
+
case 6:
|
|
117
|
+
case "end":
|
|
118
|
+
return _context2.stop();
|
|
164
119
|
}
|
|
165
|
-
})
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
120
|
+
}, _callee2);
|
|
121
|
+
})));
|
|
122
|
+
it('should allow title to be overridden', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
|
|
123
|
+
var TITLE, cya, title;
|
|
124
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
125
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
126
|
+
case 0:
|
|
127
|
+
TITLE = 'Alpha Bravo Charlie';
|
|
128
|
+
_context4.next = 3;
|
|
129
|
+
return (0, _testUtils.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
130
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
131
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
132
|
+
case 0:
|
|
133
|
+
(0, _setupTests.renderDomWithValidation)( /*#__PURE__*/_react.default.createElement(_CheckYourAnswers.default, {
|
|
134
|
+
title: TITLE,
|
|
135
|
+
pages: PAGES,
|
|
136
|
+
onRowAction: ON_ROW_ACTION,
|
|
137
|
+
onAction: ON_ACTION
|
|
138
|
+
}), container);
|
|
139
|
+
case 1:
|
|
140
|
+
case "end":
|
|
141
|
+
return _context3.stop();
|
|
142
|
+
}
|
|
143
|
+
}, _callee3);
|
|
144
|
+
})));
|
|
145
|
+
case 3:
|
|
146
|
+
cya = checkCYA(container);
|
|
147
|
+
title = cya.childNodes[0];
|
|
148
|
+
expect(title.classList).toContain('govuk-heading-l');
|
|
149
|
+
expect(title.textContent).toEqual(TITLE);
|
|
150
|
+
case 7:
|
|
151
|
+
case "end":
|
|
152
|
+
return _context4.stop();
|
|
197
153
|
}
|
|
198
|
-
})
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
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
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
}
|
|
464
|
-
}
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
154
|
+
}, _callee4);
|
|
155
|
+
})));
|
|
156
|
+
it('should show readonly page components correctly', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
|
|
157
|
+
var cya, _cya$childNodes, cyaChildNode, names, _names$childNodes, firstName, surname;
|
|
158
|
+
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
159
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
160
|
+
case 0:
|
|
161
|
+
_context6.next = 2;
|
|
162
|
+
return (0, _testUtils.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
|
|
163
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
164
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
165
|
+
case 0:
|
|
166
|
+
(0, _setupTests.renderDomWithValidation)( /*#__PURE__*/_react.default.createElement(_CheckYourAnswers.default, {
|
|
167
|
+
pages: PAGES,
|
|
168
|
+
onRowAction: ON_ROW_ACTION,
|
|
169
|
+
onAction: ON_ACTION
|
|
170
|
+
}), container);
|
|
171
|
+
case 1:
|
|
172
|
+
case "end":
|
|
173
|
+
return _context5.stop();
|
|
174
|
+
}
|
|
175
|
+
}, _callee5);
|
|
176
|
+
})));
|
|
177
|
+
case 2:
|
|
178
|
+
cya = checkCYA(container);
|
|
179
|
+
_cya$childNodes = _slicedToArray(cya.childNodes, 2), cyaChildNode = _cya$childNodes[1];
|
|
180
|
+
names = cyaChildNode.childNodes[0];
|
|
181
|
+
expect(names.tagName).toEqual('DL');
|
|
182
|
+
expect(names.classList).toContain("govuk-!-margin-bottom-".concat(_CheckYourAnswers.DEFAULT_MARGIN_BOTTOM));
|
|
183
|
+
_names$childNodes = _slicedToArray(names.childNodes, 2), firstName = _names$childNodes[0], surname = _names$childNodes[1];
|
|
184
|
+
checkRow(firstName, 'First name', 'John', false);
|
|
185
|
+
checkRow(surname, 'Last name', 'Smith', false);
|
|
186
|
+
case 10:
|
|
187
|
+
case "end":
|
|
188
|
+
return _context6.stop();
|
|
189
|
+
}
|
|
190
|
+
}, _callee6);
|
|
191
|
+
})));
|
|
192
|
+
it('should show editable page components correctly', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
|
|
193
|
+
var cya, _cya$childNodes2, title, cyaChildNode, civilServant, _civilServant$childNo, status;
|
|
194
|
+
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
195
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
196
|
+
case 0:
|
|
197
|
+
_context8.next = 2;
|
|
198
|
+
return (0, _testUtils.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
|
|
199
|
+
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
200
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
201
|
+
case 0:
|
|
202
|
+
(0, _setupTests.renderDomWithValidation)( /*#__PURE__*/_react.default.createElement(_CheckYourAnswers.default, {
|
|
203
|
+
pages: PAGES,
|
|
204
|
+
onRowAction: ON_ROW_ACTION,
|
|
205
|
+
onAction: ON_ACTION
|
|
206
|
+
}), container);
|
|
207
|
+
case 1:
|
|
208
|
+
case "end":
|
|
209
|
+
return _context7.stop();
|
|
210
|
+
}
|
|
211
|
+
}, _callee7);
|
|
212
|
+
})));
|
|
213
|
+
case 2:
|
|
214
|
+
cya = checkCYA(container);
|
|
215
|
+
_cya$childNodes2 = _slicedToArray(cya.childNodes, 4), title = _cya$childNodes2[2], cyaChildNode = _cya$childNodes2[3];
|
|
216
|
+
civilServant = cyaChildNode.childNodes[0];
|
|
217
|
+
expect(title.textContent).toEqual('Are you a civil servant?');
|
|
218
|
+
expect(civilServant.tagName).toEqual('DL');
|
|
219
|
+
expect(civilServant.classList).toContain("govuk-!-margin-bottom-".concat(_CheckYourAnswers.DEFAULT_MARGIN_BOTTOM));
|
|
220
|
+
_civilServant$childNo = _slicedToArray(civilServant.childNodes, 1), status = _civilServant$childNo[0];
|
|
221
|
+
checkRow(status, 'Are you a civil servant?', 'Yes', true);
|
|
222
|
+
case 10:
|
|
223
|
+
case "end":
|
|
224
|
+
return _context8.stop();
|
|
225
|
+
}
|
|
226
|
+
}, _callee8);
|
|
227
|
+
})));
|
|
228
|
+
it('should show editable page components correctly with page titles hidden', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10() {
|
|
229
|
+
var cya, _cya$childNodes3, cyaChildNode, civilServant, _civilServant$childNo2, status;
|
|
230
|
+
return _regeneratorRuntime().wrap(function _callee10$(_context10) {
|
|
231
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
232
|
+
case 0:
|
|
233
|
+
_context10.next = 2;
|
|
234
|
+
return (0, _testUtils.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee9() {
|
|
235
|
+
return _regeneratorRuntime().wrap(function _callee9$(_context9) {
|
|
236
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
237
|
+
case 0:
|
|
238
|
+
(0, _setupTests.renderDomWithValidation)( /*#__PURE__*/_react.default.createElement(_CheckYourAnswers.default, {
|
|
239
|
+
pages: PAGES,
|
|
240
|
+
onRowAction: ON_ROW_ACTION,
|
|
241
|
+
onAction: ON_ACTION,
|
|
242
|
+
hide_page_titles: true
|
|
243
|
+
}), container);
|
|
244
|
+
case 1:
|
|
245
|
+
case "end":
|
|
246
|
+
return _context9.stop();
|
|
247
|
+
}
|
|
248
|
+
}, _callee9);
|
|
249
|
+
})));
|
|
250
|
+
case 2:
|
|
251
|
+
cya = checkCYA(container);
|
|
252
|
+
_cya$childNodes3 = _slicedToArray(cya.childNodes, 3), cyaChildNode = _cya$childNodes3[2]; // The title simply isn't returned
|
|
253
|
+
civilServant = cyaChildNode.childNodes[0];
|
|
254
|
+
expect(civilServant.tagName).toEqual('DL');
|
|
255
|
+
expect(civilServant.classList).toContain("govuk-!-margin-bottom-0"); // Changed margin if no titles
|
|
256
|
+
_civilServant$childNo2 = _slicedToArray(civilServant.childNodes, 1), status = _civilServant$childNo2[0];
|
|
257
|
+
checkRow(status, 'Are you a civil servant?', 'Yes', true);
|
|
258
|
+
case 9:
|
|
259
|
+
case "end":
|
|
260
|
+
return _context10.stop();
|
|
261
|
+
}
|
|
262
|
+
}, _callee10);
|
|
263
|
+
})));
|
|
264
|
+
it('should only show change link next to the heading when the page is configured to only have a single change link', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee12() {
|
|
265
|
+
var CUSTOM_PAGES, cya, _cya$childNodes4, title, cyaChildNode, titleText, titleAction, civilServant, _civilServant$childNo3, status;
|
|
266
|
+
return _regeneratorRuntime().wrap(function _callee12$(_context12) {
|
|
267
|
+
while (1) switch (_context12.prev = _context12.next) {
|
|
268
|
+
case 0:
|
|
269
|
+
CUSTOM_PAGES = PAGES.map(function (page) {
|
|
270
|
+
return _objectSpread(_objectSpread({}, page), {}, {
|
|
271
|
+
cya_link: {
|
|
272
|
+
page: page.id,
|
|
273
|
+
aria_suffix: 'page details',
|
|
274
|
+
singleChangeLink: true
|
|
275
|
+
}
|
|
276
|
+
});
|
|
277
|
+
});
|
|
278
|
+
_context12.next = 3;
|
|
279
|
+
return (0, _testUtils.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee11() {
|
|
280
|
+
return _regeneratorRuntime().wrap(function _callee11$(_context11) {
|
|
281
|
+
while (1) switch (_context11.prev = _context11.next) {
|
|
282
|
+
case 0:
|
|
283
|
+
(0, _setupTests.renderDomWithValidation)( /*#__PURE__*/_react.default.createElement(_CheckYourAnswers.default, {
|
|
284
|
+
pages: CUSTOM_PAGES,
|
|
285
|
+
onRowAction: ON_ROW_ACTION,
|
|
286
|
+
onAction: ON_ACTION
|
|
287
|
+
}), container);
|
|
288
|
+
case 1:
|
|
289
|
+
case "end":
|
|
290
|
+
return _context11.stop();
|
|
291
|
+
}
|
|
292
|
+
}, _callee11);
|
|
293
|
+
})));
|
|
294
|
+
case 3:
|
|
295
|
+
cya = checkCYA(container);
|
|
296
|
+
_cya$childNodes4 = _slicedToArray(cya.childNodes, 4), title = _cya$childNodes4[2], cyaChildNode = _cya$childNodes4[3];
|
|
297
|
+
expect(title.tagName).toEqual('DIV');
|
|
298
|
+
expect(title.classList).toContain('heading-with-action');
|
|
299
|
+
titleText = title.children[0];
|
|
300
|
+
expect(titleText.tagName).toEqual('DIV');
|
|
301
|
+
expect(titleText.classList).toContain('heading-text');
|
|
302
|
+
expect(titleText.textContent).toEqual('Are you a civil servant?');
|
|
303
|
+
titleAction = title.children[1];
|
|
304
|
+
expect(titleAction.tagName).toEqual('DIV');
|
|
305
|
+
expect(titleAction.classList).toContain('heading-action');
|
|
306
|
+
expect(titleAction.textContent).toEqual("Change page details");
|
|
307
|
+
civilServant = cyaChildNode.childNodes[0];
|
|
308
|
+
expect(civilServant.tagName).toEqual('DL');
|
|
309
|
+
_civilServant$childNo3 = _slicedToArray(civilServant.childNodes, 1), status = _civilServant$childNo3[0];
|
|
310
|
+
checkRow(status, 'Are you a civil servant?', 'Yes', false);
|
|
311
|
+
case 19:
|
|
312
|
+
case "end":
|
|
313
|
+
return _context12.stop();
|
|
314
|
+
}
|
|
315
|
+
}, _callee12);
|
|
316
|
+
})));
|
|
317
|
+
it('should only show change link next to the heading when the page is configured to have a single change link and form is a task list', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee14() {
|
|
318
|
+
var CUSTOM_PAGES, SECTIONS, taskHeading1, cya, _cya$childNodes5, title, cyaChildNode, titleText, titleAction, civilServant, _civilServant$childNo4, status;
|
|
319
|
+
return _regeneratorRuntime().wrap(function _callee14$(_context14) {
|
|
320
|
+
while (1) switch (_context14.prev = _context14.next) {
|
|
321
|
+
case 0:
|
|
322
|
+
CUSTOM_PAGES = PAGES.map(function (page) {
|
|
323
|
+
return _objectSpread(_objectSpread({}, page), {}, {
|
|
324
|
+
cya_link: {
|
|
325
|
+
page: page.id,
|
|
326
|
+
aria_suffix: 'page details',
|
|
327
|
+
singleChangeLink: true
|
|
328
|
+
}
|
|
329
|
+
});
|
|
330
|
+
});
|
|
331
|
+
SECTIONS = [{
|
|
332
|
+
name: 'These are your tasks',
|
|
333
|
+
tasks: [{
|
|
334
|
+
name: 'Task 1',
|
|
335
|
+
state: 'complete',
|
|
336
|
+
pages: ['civil-servant-status']
|
|
337
|
+
}]
|
|
338
|
+
}];
|
|
339
|
+
_context14.next = 4;
|
|
340
|
+
return (0, _testUtils.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee13() {
|
|
341
|
+
return _regeneratorRuntime().wrap(function _callee13$(_context13) {
|
|
342
|
+
while (1) switch (_context13.prev = _context13.next) {
|
|
343
|
+
case 0:
|
|
344
|
+
(0, _setupTests.renderDomWithValidation)( /*#__PURE__*/_react.default.createElement(_CheckYourAnswers.default, {
|
|
345
|
+
pages: CUSTOM_PAGES,
|
|
346
|
+
onRowAction: ON_ROW_ACTION,
|
|
347
|
+
onAction: ON_ACTION,
|
|
348
|
+
hide_title: true,
|
|
349
|
+
sections: SECTIONS,
|
|
350
|
+
type: _models.FormTypes.TASK_CYA
|
|
351
|
+
}), container);
|
|
352
|
+
case 1:
|
|
353
|
+
case "end":
|
|
354
|
+
return _context13.stop();
|
|
355
|
+
}
|
|
356
|
+
}, _callee13);
|
|
357
|
+
})));
|
|
358
|
+
case 4:
|
|
359
|
+
taskHeading1 = container.childNodes[0].childNodes[0];
|
|
360
|
+
expect(taskHeading1.tagName).toEqual('H2');
|
|
361
|
+
expect(taskHeading1.textContent).toEqual('Task 1');
|
|
362
|
+
expect(taskHeading1.classList).toContain("govuk-heading-m");
|
|
363
|
+
cya = checkCYA(container);
|
|
364
|
+
_cya$childNodes5 = _slicedToArray(cya.childNodes, 3), title = _cya$childNodes5[1], cyaChildNode = _cya$childNodes5[2];
|
|
365
|
+
expect(title.tagName).toEqual('DIV');
|
|
366
|
+
expect(title.classList).toContain('heading-with-action');
|
|
367
|
+
titleText = title.children[0];
|
|
368
|
+
expect(titleText.tagName).toEqual('DIV');
|
|
369
|
+
expect(titleText.classList).toContain('heading-text');
|
|
370
|
+
expect(titleText.textContent).toEqual('Are you a civil servant?');
|
|
371
|
+
titleAction = title.children[1];
|
|
372
|
+
expect(titleAction.tagName).toEqual('DIV');
|
|
373
|
+
expect(titleAction.classList).toContain('heading-action');
|
|
374
|
+
expect(titleAction.textContent).toEqual("Change page details");
|
|
375
|
+
civilServant = cyaChildNode.childNodes[0];
|
|
376
|
+
expect(civilServant.tagName).toEqual('DL');
|
|
377
|
+
_civilServant$childNo4 = _slicedToArray(civilServant.childNodes, 1), status = _civilServant$childNo4[0];
|
|
378
|
+
checkRow(status, 'Are you a civil servant?', 'Yes', false);
|
|
379
|
+
case 24:
|
|
380
|
+
case "end":
|
|
381
|
+
return _context14.stop();
|
|
382
|
+
}
|
|
383
|
+
}, _callee14);
|
|
384
|
+
})));
|
|
385
|
+
it('should show no title if is set to hidden', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee16() {
|
|
386
|
+
var cya, _cya$childNodes6, cyaChildNode, names, _names$childNodes2, firstName, surname;
|
|
387
|
+
return _regeneratorRuntime().wrap(function _callee16$(_context16) {
|
|
388
|
+
while (1) switch (_context16.prev = _context16.next) {
|
|
389
|
+
case 0:
|
|
390
|
+
_context16.next = 2;
|
|
391
|
+
return (0, _testUtils.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee15() {
|
|
392
|
+
return _regeneratorRuntime().wrap(function _callee15$(_context15) {
|
|
393
|
+
while (1) switch (_context15.prev = _context15.next) {
|
|
394
|
+
case 0:
|
|
395
|
+
(0, _setupTests.renderDomWithValidation)( /*#__PURE__*/_react.default.createElement(_CheckYourAnswers.default, {
|
|
396
|
+
pages: PAGES,
|
|
397
|
+
onRowAction: ON_ROW_ACTION,
|
|
398
|
+
onAction: ON_ACTION,
|
|
399
|
+
hide_title: true
|
|
400
|
+
}), container);
|
|
401
|
+
case 1:
|
|
402
|
+
case "end":
|
|
403
|
+
return _context15.stop();
|
|
404
|
+
}
|
|
405
|
+
}, _callee15);
|
|
406
|
+
})));
|
|
407
|
+
case 2:
|
|
408
|
+
cya = checkCYA(container);
|
|
409
|
+
_cya$childNodes6 = _slicedToArray(cya.childNodes, 1), cyaChildNode = _cya$childNodes6[0];
|
|
410
|
+
names = cyaChildNode.childNodes[0];
|
|
411
|
+
expect(names.tagName).toEqual('DL');
|
|
412
|
+
expect(names.classList).toContain("govuk-!-margin-bottom-".concat(_CheckYourAnswers.DEFAULT_MARGIN_BOTTOM));
|
|
413
|
+
_names$childNodes2 = _slicedToArray(names.childNodes, 2), firstName = _names$childNodes2[0], surname = _names$childNodes2[1];
|
|
414
|
+
checkRow(firstName, 'First name', 'John', false);
|
|
415
|
+
checkRow(surname, 'Last name', 'Smith', false);
|
|
416
|
+
case 10:
|
|
417
|
+
case "end":
|
|
418
|
+
return _context16.stop();
|
|
419
|
+
}
|
|
420
|
+
}, _callee16);
|
|
421
|
+
})));
|
|
422
|
+
it('should show task list in CYA style', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee18() {
|
|
423
|
+
var sections, taskHeading1, namesPageHeading, taskHeading2, gradePageHeading;
|
|
424
|
+
return _regeneratorRuntime().wrap(function _callee18$(_context18) {
|
|
425
|
+
while (1) switch (_context18.prev = _context18.next) {
|
|
426
|
+
case 0:
|
|
427
|
+
sections = [{
|
|
428
|
+
name: 'These are your tasks',
|
|
429
|
+
tasks: [{
|
|
430
|
+
name: 'Task 1',
|
|
431
|
+
state: 'complete',
|
|
432
|
+
pages: ['names']
|
|
433
|
+
}, {
|
|
434
|
+
name: 'Task 2',
|
|
435
|
+
state: 'complete',
|
|
436
|
+
pages: ['grade']
|
|
437
|
+
}]
|
|
438
|
+
}];
|
|
439
|
+
_context18.next = 3;
|
|
440
|
+
return (0, _testUtils.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee17() {
|
|
441
|
+
return _regeneratorRuntime().wrap(function _callee17$(_context17) {
|
|
442
|
+
while (1) switch (_context17.prev = _context17.next) {
|
|
443
|
+
case 0:
|
|
444
|
+
(0, _setupTests.renderDomWithValidation)( /*#__PURE__*/_react.default.createElement(_CheckYourAnswers.default, {
|
|
445
|
+
pages: PAGES,
|
|
446
|
+
onRowAction: ON_ROW_ACTION,
|
|
447
|
+
onAction: ON_ACTION,
|
|
448
|
+
hide_title: true,
|
|
449
|
+
sections: sections,
|
|
450
|
+
type: "task-list-cya"
|
|
451
|
+
}), container);
|
|
452
|
+
case 1:
|
|
453
|
+
case "end":
|
|
454
|
+
return _context17.stop();
|
|
455
|
+
}
|
|
456
|
+
}, _callee17);
|
|
457
|
+
})));
|
|
458
|
+
case 3:
|
|
459
|
+
taskHeading1 = container.childNodes[0].childNodes[0];
|
|
460
|
+
expect(taskHeading1.tagName).toEqual('H2');
|
|
461
|
+
expect(taskHeading1.textContent).toEqual('Task 1');
|
|
462
|
+
expect(taskHeading1.classList).toContain("govuk-heading-m");
|
|
463
|
+
namesPageHeading = container.childNodes[0].childNodes[1];
|
|
464
|
+
expect(namesPageHeading.tagName).toEqual('DIV');
|
|
465
|
+
expect(namesPageHeading.textContent).toContain('John');
|
|
466
|
+
expect(namesPageHeading.classList).toContain("group-of-rows");
|
|
467
|
+
taskHeading2 = container.childNodes[0].childNodes[2];
|
|
468
|
+
expect(taskHeading2.tagName).toEqual('H2');
|
|
469
|
+
expect(taskHeading2.textContent).toEqual('Task 2');
|
|
470
|
+
expect(taskHeading2.classList).toContain("govuk-heading-m");
|
|
471
|
+
gradePageHeading = container.childNodes[0].childNodes[3];
|
|
472
|
+
expect(gradePageHeading.tagName).toEqual('H3');
|
|
473
|
+
expect(gradePageHeading.textContent).toEqual("What's your grade?");
|
|
474
|
+
expect(gradePageHeading.classList).toContain("govuk-heading-s");
|
|
475
|
+
case 19:
|
|
476
|
+
case "end":
|
|
477
|
+
return _context18.stop();
|
|
478
|
+
}
|
|
479
|
+
}, _callee18);
|
|
480
|
+
})));
|
|
481
|
+
it('should show task list in CYA style and priotitise displayName over name for a task', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee20() {
|
|
482
|
+
var sections, taskHeading1, taskHeading2;
|
|
483
|
+
return _regeneratorRuntime().wrap(function _callee20$(_context20) {
|
|
484
|
+
while (1) switch (_context20.prev = _context20.next) {
|
|
485
|
+
case 0:
|
|
486
|
+
sections = [{
|
|
487
|
+
name: 'These are your tasks',
|
|
488
|
+
tasks: [{
|
|
489
|
+
name: 'Task 1',
|
|
490
|
+
displayName: 'Blue',
|
|
491
|
+
state: 'complete',
|
|
492
|
+
pages: ['names']
|
|
493
|
+
}, {
|
|
494
|
+
name: 'Task 2',
|
|
495
|
+
displayName: 'Red',
|
|
496
|
+
state: 'complete',
|
|
497
|
+
pages: ['grade']
|
|
498
|
+
}]
|
|
499
|
+
}];
|
|
500
|
+
_context20.next = 3;
|
|
501
|
+
return (0, _testUtils.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee19() {
|
|
502
|
+
return _regeneratorRuntime().wrap(function _callee19$(_context19) {
|
|
503
|
+
while (1) switch (_context19.prev = _context19.next) {
|
|
504
|
+
case 0:
|
|
505
|
+
(0, _setupTests.renderDomWithValidation)( /*#__PURE__*/_react.default.createElement(_CheckYourAnswers.default, {
|
|
506
|
+
pages: PAGES,
|
|
507
|
+
onRowAction: ON_ROW_ACTION,
|
|
508
|
+
onAction: ON_ACTION,
|
|
509
|
+
hide_title: true,
|
|
510
|
+
sections: sections,
|
|
511
|
+
type: "task-list-cya"
|
|
512
|
+
}), container);
|
|
513
|
+
case 1:
|
|
514
|
+
case "end":
|
|
515
|
+
return _context19.stop();
|
|
516
|
+
}
|
|
517
|
+
}, _callee19);
|
|
518
|
+
})));
|
|
519
|
+
case 3:
|
|
520
|
+
taskHeading1 = container.childNodes[0].childNodes[0];
|
|
521
|
+
expect(taskHeading1.textContent).toEqual('Blue');
|
|
522
|
+
taskHeading2 = container.childNodes[0].childNodes[2];
|
|
523
|
+
expect(taskHeading2.textContent).toEqual('Red');
|
|
524
|
+
case 7:
|
|
525
|
+
case "end":
|
|
526
|
+
return _context20.stop();
|
|
527
|
+
}
|
|
528
|
+
}, _callee20);
|
|
529
|
+
})));
|
|
530
|
+
it('should show task list in CYA style and not show sections without any pages', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee22() {
|
|
531
|
+
var sections, taskHeading1, taskHeading2;
|
|
532
|
+
return _regeneratorRuntime().wrap(function _callee22$(_context22) {
|
|
533
|
+
while (1) switch (_context22.prev = _context22.next) {
|
|
534
|
+
case 0:
|
|
535
|
+
sections = [{
|
|
536
|
+
name: 'These are your tasks',
|
|
537
|
+
tasks: [{
|
|
538
|
+
name: 'Task 1',
|
|
539
|
+
displayName: 'Blue',
|
|
540
|
+
state: 'complete',
|
|
541
|
+
pages: []
|
|
542
|
+
}, {
|
|
543
|
+
name: 'Task 2',
|
|
544
|
+
displayName: 'Red',
|
|
545
|
+
state: 'complete',
|
|
546
|
+
pages: ['grade']
|
|
547
|
+
}]
|
|
548
|
+
}];
|
|
549
|
+
_context22.next = 3;
|
|
550
|
+
return (0, _testUtils.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee21() {
|
|
551
|
+
return _regeneratorRuntime().wrap(function _callee21$(_context21) {
|
|
552
|
+
while (1) switch (_context21.prev = _context21.next) {
|
|
553
|
+
case 0:
|
|
554
|
+
(0, _setupTests.renderDomWithValidation)( /*#__PURE__*/_react.default.createElement(_CheckYourAnswers.default, {
|
|
555
|
+
pages: PAGES,
|
|
556
|
+
onRowAction: ON_ROW_ACTION,
|
|
557
|
+
onAction: ON_ACTION,
|
|
558
|
+
hide_title: true,
|
|
559
|
+
sections: sections,
|
|
560
|
+
type: "task-list-cya"
|
|
561
|
+
}), container);
|
|
562
|
+
case 1:
|
|
563
|
+
case "end":
|
|
564
|
+
return _context21.stop();
|
|
565
|
+
}
|
|
566
|
+
}, _callee21);
|
|
567
|
+
})));
|
|
568
|
+
case 3:
|
|
569
|
+
taskHeading1 = container.childNodes[0].childNodes[0];
|
|
570
|
+
expect(taskHeading1.textContent).toEqual('');
|
|
571
|
+
taskHeading2 = container.childNodes[0].childNodes[1];
|
|
572
|
+
expect(taskHeading2.textContent).toEqual('Red');
|
|
573
|
+
case 7:
|
|
574
|
+
case "end":
|
|
575
|
+
return _context22.stop();
|
|
576
|
+
}
|
|
577
|
+
}, _callee22);
|
|
578
|
+
})));
|
|
579
|
+
it('Show answers from multiple address fields into in one DL', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee24() {
|
|
580
|
+
var ADDRESS_DATA, GROUP_PAGES, cya, groupedComponent, keyGroup, valueGroup, changeButtonDiv, changeButton;
|
|
581
|
+
return _regeneratorRuntime().wrap(function _callee24$(_context24) {
|
|
582
|
+
while (1) switch (_context24.prev = _context24.next) {
|
|
583
|
+
case 0:
|
|
584
|
+
ADDRESS_DATA = _utils.default.Data.setupForm(_group.default.pages, _group.default.components, _groupData.default);
|
|
585
|
+
GROUP_PAGES = _utils.default.FormPage.getAll(_group.default.pages, _group.default.components, _objectSpread({}, ADDRESS_DATA));
|
|
586
|
+
_context24.next = 4;
|
|
587
|
+
return (0, _testUtils.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee23() {
|
|
588
|
+
return _regeneratorRuntime().wrap(function _callee23$(_context23) {
|
|
589
|
+
while (1) switch (_context23.prev = _context23.next) {
|
|
590
|
+
case 0:
|
|
591
|
+
(0, _setupTests.renderDomWithValidation)( /*#__PURE__*/_react.default.createElement(_CheckYourAnswers.default, {
|
|
592
|
+
pages: GROUP_PAGES,
|
|
593
|
+
onRowAction: ON_ROW_ACTION,
|
|
594
|
+
onAction: ON_ACTION,
|
|
595
|
+
hide_title: true
|
|
596
|
+
}), container);
|
|
597
|
+
case 1:
|
|
598
|
+
case "end":
|
|
599
|
+
return _context23.stop();
|
|
600
|
+
}
|
|
601
|
+
}, _callee23);
|
|
602
|
+
})));
|
|
603
|
+
case 4:
|
|
604
|
+
cya = checkCYA(container);
|
|
605
|
+
groupedComponent = cya.childNodes[10];
|
|
606
|
+
keyGroup = groupedComponent.childNodes[0].childNodes[0].childNodes[0];
|
|
607
|
+
expect(keyGroup.tagName).toEqual('DT');
|
|
608
|
+
expect(keyGroup.textContent).toEqual('Address details');
|
|
609
|
+
valueGroup = groupedComponent.childNodes[0].childNodes[0].childNodes[1];
|
|
610
|
+
expect(valueGroup.childNodes.length).toEqual(4);
|
|
611
|
+
expect(valueGroup.tagName).toEqual('DD');
|
|
612
|
+
expect(valueGroup.childNodes[0].textContent).toContain('10 Downing Street');
|
|
613
|
+
expect(valueGroup.childNodes[1].textContent).toContain('City of Westminster');
|
|
614
|
+
expect(valueGroup.childNodes[2].textContent).toContain('London');
|
|
615
|
+
expect(valueGroup.childNodes[3].textContent).toContain('SW1A 2AA');
|
|
616
|
+
changeButtonDiv = groupedComponent.childNodes[0].childNodes[0].childNodes[2];
|
|
617
|
+
expect(changeButtonDiv.classList).toContain('govuk-summary-list__actions');
|
|
618
|
+
changeButton = changeButtonDiv.childNodes[0];
|
|
619
|
+
expect(changeButton.tagName).toEqual('A');
|
|
620
|
+
expect(changeButton.textContent).toEqual('Change address details');
|
|
621
|
+
case 21:
|
|
622
|
+
case "end":
|
|
623
|
+
return _context24.stop();
|
|
624
|
+
}
|
|
625
|
+
}, _callee24);
|
|
626
|
+
})));
|
|
627
|
+
it('should render a group with one action button', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee26() {
|
|
628
|
+
var GROUP_PAGES, cya, namesGroup, firstNameRow, surname, changeButtonDiv, changeButton;
|
|
629
|
+
return _regeneratorRuntime().wrap(function _callee26$(_context26) {
|
|
630
|
+
while (1) switch (_context26.prev = _context26.next) {
|
|
631
|
+
case 0:
|
|
632
|
+
GROUP_PAGES = _utils.default.FormPage.getAll(_groupOfRow.default.pages, _groupOfRow.default.components, _objectSpread({}, DATA));
|
|
633
|
+
_context26.next = 3;
|
|
634
|
+
return (0, _testUtils.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee25() {
|
|
635
|
+
return _regeneratorRuntime().wrap(function _callee25$(_context25) {
|
|
636
|
+
while (1) switch (_context25.prev = _context25.next) {
|
|
637
|
+
case 0:
|
|
638
|
+
(0, _setupTests.renderDomWithValidation)( /*#__PURE__*/_react.default.createElement(_CheckYourAnswers.default, {
|
|
639
|
+
pages: GROUP_PAGES,
|
|
640
|
+
onRowAction: ON_ROW_ACTION,
|
|
641
|
+
onAction: ON_ACTION,
|
|
642
|
+
groups: _groupOfRow.default.cya.groups
|
|
643
|
+
}), container);
|
|
644
|
+
case 1:
|
|
645
|
+
case "end":
|
|
646
|
+
return _context25.stop();
|
|
647
|
+
}
|
|
648
|
+
}, _callee25);
|
|
649
|
+
})));
|
|
650
|
+
case 3:
|
|
651
|
+
cya = checkCYA(container);
|
|
652
|
+
namesGroup = cya.childNodes[2];
|
|
653
|
+
firstNameRow = namesGroup.childNodes[0].childNodes[0];
|
|
654
|
+
expect(firstNameRow.childNodes.length).toEqual(2);
|
|
655
|
+
expect(firstNameRow.childNodes[0].textContent).toEqual('First name (optional)');
|
|
656
|
+
expect(firstNameRow.childNodes[0].tagName).toEqual('DT');
|
|
657
|
+
expect(firstNameRow.childNodes[1].textContent).toEqual('John');
|
|
658
|
+
expect(firstNameRow.childNodes[1].tagName).toEqual('DD');
|
|
659
|
+
surname = namesGroup.childNodes[0].childNodes[1];
|
|
660
|
+
expect(surname.childNodes.length).toEqual(2);
|
|
661
|
+
expect(surname.childNodes[0].textContent).toEqual('Last name (optional)');
|
|
662
|
+
expect(surname.childNodes[0].tagName).toEqual('DT');
|
|
663
|
+
expect(surname.childNodes[1].textContent).toEqual('Smith');
|
|
664
|
+
expect(surname.childNodes[1].tagName).toEqual('DD');
|
|
665
|
+
changeButtonDiv = namesGroup.childNodes[0].childNodes[2];
|
|
666
|
+
expect(changeButtonDiv.classList).toContain('change-group-button');
|
|
667
|
+
changeButton = changeButtonDiv.childNodes[0];
|
|
668
|
+
expect(changeButton.tagName).toEqual('A');
|
|
669
|
+
expect(changeButton.textContent).toEqual('Change names');
|
|
670
|
+
case 22:
|
|
671
|
+
case "end":
|
|
672
|
+
return _context26.stop();
|
|
673
|
+
}
|
|
674
|
+
}, _callee26);
|
|
675
|
+
})));
|
|
676
|
+
it('should render empty optional fields with a placeholder value when provided', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee28() {
|
|
677
|
+
var GROUP_PAGES, cya, namesGroup, firstNameRow, surname;
|
|
678
|
+
return _regeneratorRuntime().wrap(function _callee28$(_context28) {
|
|
679
|
+
while (1) switch (_context28.prev = _context28.next) {
|
|
680
|
+
case 0:
|
|
681
|
+
GROUP_PAGES = _utils.default.FormPage.getAll(_groupOfRow.default.pages, _groupOfRow.default.components, {});
|
|
682
|
+
_context28.next = 3;
|
|
683
|
+
return (0, _testUtils.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee27() {
|
|
684
|
+
return _regeneratorRuntime().wrap(function _callee27$(_context27) {
|
|
685
|
+
while (1) switch (_context27.prev = _context27.next) {
|
|
686
|
+
case 0:
|
|
687
|
+
(0, _setupTests.renderDomWithValidation)( /*#__PURE__*/_react.default.createElement(_CheckYourAnswers.default, {
|
|
688
|
+
pages: GROUP_PAGES,
|
|
689
|
+
groups: _groupOfRow.default.cya.groups,
|
|
690
|
+
optionalFieldPlaceholder: "Not entered"
|
|
691
|
+
}), container);
|
|
692
|
+
case 1:
|
|
693
|
+
case "end":
|
|
694
|
+
return _context27.stop();
|
|
695
|
+
}
|
|
696
|
+
}, _callee27);
|
|
697
|
+
})));
|
|
698
|
+
case 3:
|
|
699
|
+
cya = checkCYA(container);
|
|
700
|
+
namesGroup = cya.childNodes[2];
|
|
701
|
+
firstNameRow = namesGroup.childNodes[0].childNodes[0];
|
|
702
|
+
expect(firstNameRow.childNodes.length).toEqual(2);
|
|
703
|
+
expect(firstNameRow.childNodes[0].textContent).toEqual('First name (optional)');
|
|
704
|
+
expect(firstNameRow.childNodes[0].tagName).toEqual('DT');
|
|
705
|
+
expect(firstNameRow.childNodes[1].textContent).toEqual('Not entered');
|
|
706
|
+
expect(firstNameRow.childNodes[1].tagName).toEqual('DD');
|
|
707
|
+
surname = namesGroup.childNodes[0].childNodes[1];
|
|
708
|
+
expect(surname.childNodes.length).toEqual(2);
|
|
709
|
+
expect(surname.childNodes[0].textContent).toEqual('Last name (optional)');
|
|
710
|
+
expect(surname.childNodes[0].tagName).toEqual('DT');
|
|
711
|
+
expect(surname.childNodes[1].textContent).toEqual('Not entered');
|
|
712
|
+
expect(surname.childNodes[1].tagName).toEqual('DD');
|
|
713
|
+
case 17:
|
|
714
|
+
case "end":
|
|
715
|
+
return _context28.stop();
|
|
716
|
+
}
|
|
717
|
+
}, _callee28);
|
|
718
|
+
})));
|
|
719
|
+
it('should show page components corrently with interpolated title and cya_label, if label is missing', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee30() {
|
|
720
|
+
var _PAGES, _COMPONENTS, T_PAGES, cya, _cya$childNodes7, cyaTitle, cyaChildNode, names, _names$childNodes3, firstName, surname, _firstName$childNodes, label;
|
|
721
|
+
return _regeneratorRuntime().wrap(function _callee30$(_context30) {
|
|
722
|
+
while (1) switch (_context30.prev = _context30.next) {
|
|
723
|
+
case 0:
|
|
724
|
+
_PAGES = [].concat(_userProfile.default.pages); // eslint-disable-next-line no-template-curly-in-string
|
|
725
|
+
_PAGES[0] = _objectSpread(_objectSpread({}, _PAGES[0]), {}, {
|
|
726
|
+
title: 'Alpha ID: ${businessKey}'
|
|
727
|
+
});
|
|
728
|
+
_COMPONENTS = [].concat(_userProfile.default.components);
|
|
729
|
+
_COMPONENTS[0] = _objectSpread(_objectSpread({}, _COMPONENTS[0]), {}, {
|
|
730
|
+
label: undefined,
|
|
731
|
+
required: true,
|
|
732
|
+
// eslint-disable-next-line no-template-curly-in-string
|
|
733
|
+
cya_label: "Text ${currentUser.familyName}"
|
|
734
|
+
});
|
|
735
|
+
T_PAGES = _utils.default.FormPage.getAll(_PAGES, _COMPONENTS, DATA);
|
|
736
|
+
_context30.next = 7;
|
|
737
|
+
return (0, _testUtils.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee29() {
|
|
738
|
+
return _regeneratorRuntime().wrap(function _callee29$(_context29) {
|
|
739
|
+
while (1) switch (_context29.prev = _context29.next) {
|
|
740
|
+
case 0:
|
|
741
|
+
(0, _setupTests.renderDomWithValidation)( /*#__PURE__*/_react.default.createElement(_CheckYourAnswers.default, {
|
|
742
|
+
pages: T_PAGES,
|
|
743
|
+
onRowAction: ON_ROW_ACTION,
|
|
744
|
+
onAction: ON_ACTION
|
|
745
|
+
}), container);
|
|
746
|
+
case 1:
|
|
747
|
+
case "end":
|
|
748
|
+
return _context29.stop();
|
|
749
|
+
}
|
|
750
|
+
}, _callee29);
|
|
751
|
+
})));
|
|
752
|
+
case 7:
|
|
753
|
+
cya = checkCYA(container);
|
|
754
|
+
_cya$childNodes7 = _slicedToArray(cya.childNodes, 3), cyaTitle = _cya$childNodes7[1], cyaChildNode = _cya$childNodes7[2];
|
|
755
|
+
expect(cyaTitle.textContent).toEqual('Alpha ID: 123456789');
|
|
756
|
+
names = cyaChildNode.childNodes[0];
|
|
757
|
+
expect(names.tagName).toEqual('DL');
|
|
758
|
+
expect(names.classList).toContain("govuk-!-margin-bottom-".concat(_CheckYourAnswers.DEFAULT_MARGIN_BOTTOM));
|
|
759
|
+
_names$childNodes3 = _slicedToArray(names.childNodes, 2), firstName = _names$childNodes3[0], surname = _names$childNodes3[1];
|
|
760
|
+
_firstName$childNodes = _slicedToArray(firstName.childNodes, 1), label = _firstName$childNodes[0];
|
|
761
|
+
expect(label.textContent).toEqual('Text Smith');
|
|
762
|
+
checkRow(surname, 'Last name', 'Smith', false);
|
|
763
|
+
case 17:
|
|
764
|
+
case "end":
|
|
765
|
+
return _context30.stop();
|
|
766
|
+
}
|
|
767
|
+
}, _callee30);
|
|
768
|
+
})));
|
|
769
|
+
it('should show page components corrently with no label, if label and cya_label are missing', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee32() {
|
|
770
|
+
var _PAGES, _COMPONENTS, T_PAGES, cya, _cya$childNodes8, cyaChildNode, names, _names$childNodes4, firstName, surname, _firstName$childNodes2, label;
|
|
771
|
+
return _regeneratorRuntime().wrap(function _callee32$(_context32) {
|
|
772
|
+
while (1) switch (_context32.prev = _context32.next) {
|
|
773
|
+
case 0:
|
|
774
|
+
_PAGES = [].concat(_userProfile.default.pages);
|
|
775
|
+
_COMPONENTS = [].concat(_userProfile.default.components);
|
|
776
|
+
_COMPONENTS[0] = _objectSpread(_objectSpread({}, _COMPONENTS[0]), {}, {
|
|
777
|
+
label: undefined,
|
|
778
|
+
required: true,
|
|
779
|
+
cya_label: undefined
|
|
780
|
+
});
|
|
781
|
+
T_PAGES = _utils.default.FormPage.getAll(_PAGES, _COMPONENTS, _objectSpread({}, DATA));
|
|
782
|
+
_context32.next = 6;
|
|
783
|
+
return (0, _testUtils.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee31() {
|
|
784
|
+
return _regeneratorRuntime().wrap(function _callee31$(_context31) {
|
|
785
|
+
while (1) switch (_context31.prev = _context31.next) {
|
|
786
|
+
case 0:
|
|
787
|
+
(0, _setupTests.renderDomWithValidation)( /*#__PURE__*/_react.default.createElement(_CheckYourAnswers.default, {
|
|
788
|
+
pages: T_PAGES,
|
|
789
|
+
onRowAction: ON_ROW_ACTION,
|
|
790
|
+
onAction: ON_ACTION
|
|
791
|
+
}), container);
|
|
792
|
+
case 1:
|
|
793
|
+
case "end":
|
|
794
|
+
return _context31.stop();
|
|
795
|
+
}
|
|
796
|
+
}, _callee31);
|
|
797
|
+
})));
|
|
798
|
+
case 6:
|
|
799
|
+
cya = checkCYA(container);
|
|
800
|
+
_cya$childNodes8 = _slicedToArray(cya.childNodes, 2), cyaChildNode = _cya$childNodes8[1];
|
|
801
|
+
names = cyaChildNode.childNodes[0];
|
|
802
|
+
expect(names.tagName).toEqual('DL');
|
|
803
|
+
expect(names.classList).toContain("govuk-!-margin-bottom-".concat(_CheckYourAnswers.DEFAULT_MARGIN_BOTTOM));
|
|
804
|
+
_names$childNodes4 = _slicedToArray(names.childNodes, 2), firstName = _names$childNodes4[0], surname = _names$childNodes4[1];
|
|
805
|
+
_firstName$childNodes2 = _slicedToArray(firstName.childNodes, 1), label = _firstName$childNodes2[0];
|
|
806
|
+
expect(label.textContent).toEqual("");
|
|
807
|
+
checkRow(surname, 'Last name', 'Smith', false);
|
|
808
|
+
case 15:
|
|
809
|
+
case "end":
|
|
810
|
+
return _context32.stop();
|
|
811
|
+
}
|
|
812
|
+
}, _callee32);
|
|
813
|
+
})));
|
|
814
|
+
it('should show task list in CYA style and hide pages from skipped tasks', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee34() {
|
|
815
|
+
var sections, taskHeading1, namesPageHeading;
|
|
816
|
+
return _regeneratorRuntime().wrap(function _callee34$(_context34) {
|
|
817
|
+
while (1) switch (_context34.prev = _context34.next) {
|
|
818
|
+
case 0:
|
|
819
|
+
sections = [{
|
|
820
|
+
name: 'These are your tasks',
|
|
821
|
+
tasks: [{
|
|
822
|
+
name: 'Task 1',
|
|
823
|
+
state: 'complete',
|
|
824
|
+
pages: ['names']
|
|
825
|
+
}, {
|
|
826
|
+
name: 'Task 2',
|
|
827
|
+
state: 'skipped',
|
|
828
|
+
pages: ['grade']
|
|
829
|
+
}]
|
|
830
|
+
}];
|
|
831
|
+
_context34.next = 3;
|
|
832
|
+
return (0, _testUtils.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee33() {
|
|
833
|
+
return _regeneratorRuntime().wrap(function _callee33$(_context33) {
|
|
834
|
+
while (1) switch (_context33.prev = _context33.next) {
|
|
835
|
+
case 0:
|
|
836
|
+
(0, _setupTests.renderDomWithValidation)( /*#__PURE__*/_react.default.createElement(_CheckYourAnswers.default, {
|
|
837
|
+
pages: PAGES,
|
|
838
|
+
onRowAction: ON_ROW_ACTION,
|
|
839
|
+
onAction: ON_ACTION,
|
|
840
|
+
hide_title: true,
|
|
841
|
+
sections: sections,
|
|
842
|
+
type: "task-list-cya"
|
|
843
|
+
}), container);
|
|
844
|
+
case 1:
|
|
845
|
+
case "end":
|
|
846
|
+
return _context33.stop();
|
|
847
|
+
}
|
|
848
|
+
}, _callee33);
|
|
849
|
+
})));
|
|
850
|
+
case 3:
|
|
851
|
+
taskHeading1 = container.childNodes[0].childNodes[0];
|
|
852
|
+
expect(taskHeading1.tagName).toEqual('H2');
|
|
853
|
+
expect(taskHeading1.textContent).toEqual('Task 1');
|
|
854
|
+
expect(taskHeading1.classList).toContain("govuk-heading-m");
|
|
855
|
+
namesPageHeading = container.childNodes[0].childNodes[1];
|
|
856
|
+
expect(namesPageHeading.tagName).toEqual('DIV');
|
|
857
|
+
expect(namesPageHeading.textContent).toContain('John');
|
|
858
|
+
expect(namesPageHeading.classList).toContain("group-of-rows");
|
|
859
|
+
expect(container.childNodes[0].childNodes.length).toEqual(2); // second task skipped so not shown
|
|
860
|
+
case 12:
|
|
861
|
+
case "end":
|
|
862
|
+
return _context34.stop();
|
|
863
|
+
}
|
|
864
|
+
}, _callee34);
|
|
865
|
+
})));
|
|
866
|
+
it('Show answers from multiple address fields into in one DL correctly when hideBlankRows is true', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee36() {
|
|
867
|
+
var ADDRESS_DATA, GROUP_PAGES, cya, groupedComponent, keyGroup, valueGroup, changeButtonDiv, changeButton;
|
|
868
|
+
return _regeneratorRuntime().wrap(function _callee36$(_context36) {
|
|
869
|
+
while (1) switch (_context36.prev = _context36.next) {
|
|
870
|
+
case 0:
|
|
871
|
+
ADDRESS_DATA = _utils.default.Data.setupForm(_group.default.pages, _group.default.components, _groupData.default);
|
|
872
|
+
GROUP_PAGES = _utils.default.FormPage.getAll(_group.default.pages, _group.default.components, _objectSpread({}, ADDRESS_DATA));
|
|
873
|
+
_context36.next = 4;
|
|
874
|
+
return (0, _testUtils.act)( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee35() {
|
|
875
|
+
return _regeneratorRuntime().wrap(function _callee35$(_context35) {
|
|
876
|
+
while (1) switch (_context35.prev = _context35.next) {
|
|
877
|
+
case 0:
|
|
878
|
+
(0, _setupTests.renderDomWithValidation)( /*#__PURE__*/_react.default.createElement(_CheckYourAnswers.default, {
|
|
879
|
+
pages: GROUP_PAGES,
|
|
880
|
+
onRowAction: ON_ROW_ACTION,
|
|
881
|
+
onAction: ON_ACTION,
|
|
882
|
+
hide_title: true,
|
|
883
|
+
hideBlankRows: true
|
|
884
|
+
}), container);
|
|
885
|
+
case 1:
|
|
886
|
+
case "end":
|
|
887
|
+
return _context35.stop();
|
|
888
|
+
}
|
|
889
|
+
}, _callee35);
|
|
890
|
+
})));
|
|
891
|
+
case 4:
|
|
892
|
+
cya = checkCYA(container);
|
|
893
|
+
groupedComponent = cya.childNodes[6];
|
|
894
|
+
keyGroup = groupedComponent.childNodes[0].childNodes[0].childNodes[0];
|
|
895
|
+
expect(keyGroup.tagName).toEqual('DT');
|
|
896
|
+
expect(keyGroup.textContent).toEqual('Address details');
|
|
897
|
+
valueGroup = groupedComponent.childNodes[0].childNodes[0].childNodes[1];
|
|
898
|
+
expect(valueGroup.childNodes.length).toEqual(4);
|
|
899
|
+
expect(valueGroup.tagName).toEqual('DD');
|
|
900
|
+
expect(valueGroup.childNodes[0].textContent).toContain('10 Downing Street');
|
|
901
|
+
expect(valueGroup.childNodes[1].textContent).toContain('City of Westminster');
|
|
902
|
+
expect(valueGroup.childNodes[2].textContent).toContain('London');
|
|
903
|
+
expect(valueGroup.childNodes[3].textContent).toContain('SW1A 2AA');
|
|
904
|
+
changeButtonDiv = groupedComponent.childNodes[0].childNodes[0].childNodes[2];
|
|
905
|
+
expect(changeButtonDiv.classList).toContain('govuk-summary-list__actions');
|
|
906
|
+
changeButton = changeButtonDiv.childNodes[0];
|
|
907
|
+
expect(changeButton.tagName).toEqual('A');
|
|
908
|
+
expect(changeButton.textContent).toEqual('Change address details');
|
|
909
|
+
case 21:
|
|
910
|
+
case "end":
|
|
911
|
+
return _context36.stop();
|
|
912
|
+
}
|
|
913
|
+
}, _callee36);
|
|
914
|
+
})));
|
|
517
915
|
});
|
|
518
916
|
});
|