@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
|
@@ -5,22 +5,22 @@ var _getFormState = _interopRequireDefault(require("./getFormState"));
|
|
|
5
5
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
6
|
// Local imports
|
|
7
7
|
|
|
8
|
-
describe('components', ()
|
|
9
|
-
describe('FormRenderer', ()
|
|
10
|
-
describe('helpers', ()
|
|
11
|
-
|
|
8
|
+
describe('components', function () {
|
|
9
|
+
describe('FormRenderer', function () {
|
|
10
|
+
describe('helpers', function () {
|
|
11
|
+
var HUB = {
|
|
12
12
|
id: _models.FormPages.HUB,
|
|
13
13
|
components: []
|
|
14
14
|
};
|
|
15
|
-
|
|
15
|
+
var PAGES = [{
|
|
16
16
|
id: 'alpha',
|
|
17
17
|
components: ['x']
|
|
18
18
|
}, {
|
|
19
19
|
id: 'bravo',
|
|
20
20
|
components: ['y', 'z']
|
|
21
21
|
}, HUB];
|
|
22
|
-
describe('getFormState', ()
|
|
23
|
-
it('should set up accordingly when viewing a hub that is the CYA', ()
|
|
22
|
+
describe('getFormState', function () {
|
|
23
|
+
it('should set up accordingly when viewing a hub that is the CYA', function () {
|
|
24
24
|
expect((0, _getFormState.default)(_models.FormPages.HUB, PAGES, _models.HubFormats.CYA)).toEqual({
|
|
25
25
|
pageId: _models.FormPages.HUB,
|
|
26
26
|
cya: {
|
|
@@ -29,21 +29,21 @@ describe('components', () => {
|
|
|
29
29
|
page: undefined
|
|
30
30
|
});
|
|
31
31
|
});
|
|
32
|
-
it('should set up accordingly when viewing a hub that is NOT the CYA', ()
|
|
32
|
+
it('should set up accordingly when viewing a hub that is NOT the CYA', function () {
|
|
33
33
|
expect((0, _getFormState.default)(_models.FormPages.HUB, PAGES, HUB)).toEqual({
|
|
34
34
|
pageId: _models.FormPages.HUB,
|
|
35
35
|
cya: undefined,
|
|
36
36
|
page: HUB
|
|
37
37
|
});
|
|
38
38
|
});
|
|
39
|
-
it('should set up accordingly when viewing the CYA', ()
|
|
39
|
+
it('should set up accordingly when viewing the CYA', function () {
|
|
40
40
|
expect((0, _getFormState.default)(_models.FormPages.CYA, PAGES, HUB)).toEqual({
|
|
41
41
|
pageId: _models.FormPages.CYA,
|
|
42
42
|
cya: {},
|
|
43
43
|
page: undefined
|
|
44
44
|
});
|
|
45
45
|
});
|
|
46
|
-
it('should set up accordingly when viewing a standard page', ()
|
|
46
|
+
it('should set up accordingly when viewing a standard page', function () {
|
|
47
47
|
expect((0, _getFormState.default)('bravo', PAGES, HUB)).toEqual({
|
|
48
48
|
pageId: 'bravo',
|
|
49
49
|
cya: undefined,
|
|
@@ -7,12 +7,14 @@ exports.default = void 0;
|
|
|
7
7
|
var _models = require("../../../models");
|
|
8
8
|
var _FormPage = _interopRequireDefault(require("../../../utils/FormPage"));
|
|
9
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
-
|
|
10
|
+
var getNextHubPageId = function getNextHubPageId(action, currentPageId, pages, formData, formType) {
|
|
11
11
|
var _action$pages;
|
|
12
12
|
if (!currentPageId && formType === _models.FormTypes.FORM_WITH_TASK) {
|
|
13
13
|
var _formData$formStatus;
|
|
14
14
|
if (formData !== null && formData !== void 0 && (_formData$formStatus = formData.formStatus) !== null && _formData$formStatus !== void 0 && _formData$formStatus.taskPage) {
|
|
15
|
-
|
|
15
|
+
var currentPage = pages.find(function (page) {
|
|
16
|
+
return page.id === formData.formStatus.taskPage;
|
|
17
|
+
});
|
|
16
18
|
if ((currentPage === null || currentPage === void 0 ? void 0 : currentPage.type) === 'pre-task-list') {
|
|
17
19
|
return currentPage.id;
|
|
18
20
|
}
|
|
@@ -23,8 +25,8 @@ const getNextHubPageId = (action, currentPageId, pages, formData, formType) => {
|
|
|
23
25
|
return pages.length > 0 ? pages[0].id : undefined;
|
|
24
26
|
}
|
|
25
27
|
;
|
|
26
|
-
|
|
27
|
-
action === null || action === void 0 || (_action$pages = action.pages) === null || _action$pages === void 0 || _action$pages.forEach(page
|
|
28
|
+
var nextPage;
|
|
29
|
+
action === null || action === void 0 || (_action$pages = action.pages) === null || _action$pages === void 0 || _action$pages.forEach(function (page) {
|
|
28
30
|
if (_FormPage.default.show({
|
|
29
31
|
show_when: page.show_when
|
|
30
32
|
}, formData)) {
|
|
@@ -34,10 +36,12 @@ const getNextHubPageId = (action, currentPageId, pages, formData, formType) => {
|
|
|
34
36
|
});
|
|
35
37
|
return nextPage || (action === null || action === void 0 ? void 0 : action.page) || _models.FormPages.HUB;
|
|
36
38
|
};
|
|
37
|
-
|
|
39
|
+
var getNextWizardPageId = function getNextWizardPageId(pages, currentPageId, formData) {
|
|
38
40
|
var _page;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
+
var nextIndex = pages.findIndex(function (p) {
|
|
42
|
+
return p.id === currentPageId;
|
|
43
|
+
}) + 1;
|
|
44
|
+
var page = pages[nextIndex];
|
|
41
45
|
while (page && !_FormPage.default.show(page, formData)) {
|
|
42
46
|
nextIndex += 1;
|
|
43
47
|
page = pages[nextIndex];
|
|
@@ -45,14 +49,21 @@ const getNextWizardPageId = (pages, currentPageId, formData) => {
|
|
|
45
49
|
;
|
|
46
50
|
return ((_page = page) === null || _page === void 0 ? void 0 : _page.id) || undefined;
|
|
47
51
|
};
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
52
|
+
var getNextCYAPageId = function getNextCYAPageId(pages, currentPageId, formData) {
|
|
53
|
+
return getNextWizardPageId(pages, currentPageId, formData) || _models.FormPages.CYA;
|
|
54
|
+
};
|
|
55
|
+
var getNextFormPageId = function getNextFormPageId(pages) {
|
|
56
|
+
return (
|
|
57
|
+
// A form has a single page... so always return that id.
|
|
58
|
+
pages.length > 0 ? pages[0].id : undefined
|
|
59
|
+
);
|
|
60
|
+
};
|
|
61
|
+
var getNextPageId = function getNextPageId(formType, pages, currentPageId, action, formData) {
|
|
53
62
|
if (action) {
|
|
54
63
|
if (action.type === _models.PageAction.TYPES.NAVIGATE) {
|
|
55
|
-
return pages.find(
|
|
64
|
+
return pages.find(function (p) {
|
|
65
|
+
return p.id === action.page;
|
|
66
|
+
}) ? action.page : undefined;
|
|
56
67
|
}
|
|
57
68
|
if (action.type === _models.PageAction.TYPES.SAVE_AND_RETURN) {
|
|
58
69
|
return formType === _models.FormTypes.HUB ? _models.FormPages.HUB : undefined;
|
|
@@ -5,18 +5,18 @@ var _getNextPageId = _interopRequireDefault(require("./getNextPageId"));
|
|
|
5
5
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
6
|
// Local imports
|
|
7
7
|
|
|
8
|
-
describe('components', ()
|
|
9
|
-
describe('FormRenderer', ()
|
|
10
|
-
describe('helpers', ()
|
|
11
|
-
describe('getNextPageId', ()
|
|
12
|
-
|
|
8
|
+
describe('components', function () {
|
|
9
|
+
describe('FormRenderer', function () {
|
|
10
|
+
describe('helpers', function () {
|
|
11
|
+
describe('getNextPageId', function () {
|
|
12
|
+
var OPTIONS = [{
|
|
13
13
|
value: 'romeo',
|
|
14
14
|
label: 'Romeo'
|
|
15
15
|
}, {
|
|
16
16
|
value: 'juliet',
|
|
17
17
|
label: 'Juliet'
|
|
18
18
|
}];
|
|
19
|
-
|
|
19
|
+
var RADIOS = {
|
|
20
20
|
id: 'radios',
|
|
21
21
|
fieldId: 'radios',
|
|
22
22
|
type: _models.ComponentTypes.RADIOS,
|
|
@@ -24,29 +24,29 @@ describe('components', () => {
|
|
|
24
24
|
options: OPTIONS
|
|
25
25
|
}
|
|
26
26
|
};
|
|
27
|
-
|
|
27
|
+
var TEXT = {
|
|
28
28
|
id: 'text',
|
|
29
29
|
fieldId: 'text',
|
|
30
30
|
type: _models.ComponentTypes.TEXT
|
|
31
31
|
};
|
|
32
|
-
|
|
32
|
+
var HTML = {
|
|
33
33
|
type: _models.ComponentTypes.HTML,
|
|
34
34
|
content: 'HTML'
|
|
35
35
|
};
|
|
36
|
-
|
|
36
|
+
var SHOW_WHEN_JULIET = {
|
|
37
37
|
field: RADIOS.fieldId,
|
|
38
38
|
op: '=',
|
|
39
39
|
value: OPTIONS[1].value
|
|
40
40
|
};
|
|
41
|
-
|
|
41
|
+
var SHOW_WHEN_ROMEO = {
|
|
42
42
|
field: RADIOS.fieldId,
|
|
43
43
|
op: '=',
|
|
44
44
|
value: OPTIONS[0].value
|
|
45
45
|
};
|
|
46
|
-
|
|
46
|
+
var FORM_DATA = {
|
|
47
47
|
radios: OPTIONS[0].value
|
|
48
48
|
}; // 'romeo'
|
|
49
|
-
|
|
49
|
+
var PAGES = [{
|
|
50
50
|
id: 'alpha'
|
|
51
51
|
}, {
|
|
52
52
|
id: 'bravo'
|
|
@@ -65,88 +65,88 @@ describe('components', () => {
|
|
|
65
65
|
components: [TEXT],
|
|
66
66
|
show_when: SHOW_WHEN_ROMEO
|
|
67
67
|
}];
|
|
68
|
-
describe("when the action type is '".concat(_models.PageAction.TYPES.NAVIGATE, "'"), ()
|
|
69
|
-
it('should return undefined if the action has no page property', ()
|
|
70
|
-
|
|
68
|
+
describe("when the action type is '".concat(_models.PageAction.TYPES.NAVIGATE, "'"), function () {
|
|
69
|
+
it('should return undefined if the action has no page property', function () {
|
|
70
|
+
var ACTION = {
|
|
71
71
|
type: _models.PageAction.TYPES.NAVIGATE
|
|
72
72
|
};
|
|
73
73
|
expect((0, _getNextPageId.default)(_models.FormTypes.HUB, PAGES, PAGES[0].id, ACTION, FORM_DATA)).toBeUndefined();
|
|
74
74
|
});
|
|
75
|
-
it('should return the page on the action if it exists among the pages', ()
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
it('should return the page on the action if it exists among the pages', function () {
|
|
76
|
+
var PAGE = PAGES[1].id;
|
|
77
|
+
var ACTION = {
|
|
78
78
|
type: _models.PageAction.TYPES.NAVIGATE,
|
|
79
79
|
page: PAGE
|
|
80
80
|
};
|
|
81
81
|
expect((0, _getNextPageId.default)(_models.FormTypes.HUB, PAGES, PAGES[0].id, ACTION, FORM_DATA)).toEqual(PAGE);
|
|
82
82
|
});
|
|
83
|
-
it('should return undefined if the page on the action does not exist among the pages', ()
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
it('should return undefined if the page on the action does not exist among the pages', function () {
|
|
84
|
+
var PAGE = 'golf';
|
|
85
|
+
var ACTION = {
|
|
86
86
|
type: _models.PageAction.TYPES.NAVIGATE,
|
|
87
87
|
page: PAGE
|
|
88
88
|
};
|
|
89
89
|
expect((0, _getNextPageId.default)(_models.FormTypes.HUB, PAGES, PAGES[0].id, ACTION, FORM_DATA)).toBeUndefined();
|
|
90
90
|
});
|
|
91
91
|
});
|
|
92
|
-
describe("when the form type is '".concat(_models.FormTypes.HUB, "'"), ()
|
|
93
|
-
|
|
94
|
-
it("should return '".concat(_models.FormPages.HUB, "' by default"), ()
|
|
92
|
+
describe("when the form type is '".concat(_models.FormTypes.HUB, "'"), function () {
|
|
93
|
+
var FORM_TYPE = _models.FormTypes.HUB;
|
|
94
|
+
it("should return '".concat(_models.FormPages.HUB, "' by default"), function () {
|
|
95
95
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES)).toEqual(_models.FormPages.HUB);
|
|
96
96
|
});
|
|
97
|
-
it("should return '".concat(_models.FormPages.HUB, "' if the action is '").concat(_models.PageAction.TYPES.SAVE_AND_RETURN, "'"), ()
|
|
98
|
-
|
|
97
|
+
it("should return '".concat(_models.FormPages.HUB, "' if the action is '").concat(_models.PageAction.TYPES.SAVE_AND_RETURN, "'"), function () {
|
|
98
|
+
var ACTION = _models.PageAction.DEFAULTS.saveAndReturn;
|
|
99
99
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, PAGES[0].id, ACTION, FORM_DATA)).toEqual(_models.FormPages.HUB);
|
|
100
100
|
});
|
|
101
|
-
it('should return action.page if specified', ()
|
|
102
|
-
|
|
101
|
+
it('should return action.page if specified', function () {
|
|
102
|
+
var ACTION = {
|
|
103
103
|
page: 'bob'
|
|
104
104
|
};
|
|
105
105
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, undefined, ACTION, FORM_DATA)).toEqual(ACTION.page);
|
|
106
106
|
});
|
|
107
107
|
});
|
|
108
|
-
describe("when the form type is '".concat(_models.FormTypes.CYA, "'"), ()
|
|
109
|
-
|
|
110
|
-
it('should return the first page by default', ()
|
|
108
|
+
describe("when the form type is '".concat(_models.FormTypes.CYA, "'"), function () {
|
|
109
|
+
var FORM_TYPE = _models.FormTypes.CYA;
|
|
110
|
+
it('should return the first page by default', function () {
|
|
111
111
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES)).toEqual(PAGES[0].id);
|
|
112
112
|
});
|
|
113
|
-
it('should return the second page when on the first page', ()
|
|
113
|
+
it('should return the second page when on the first page', function () {
|
|
114
114
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, PAGES[0].id)).toEqual(PAGES[1].id);
|
|
115
115
|
});
|
|
116
|
-
it('should return the third page when on the second page', ()
|
|
116
|
+
it('should return the third page when on the second page', function () {
|
|
117
117
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, PAGES[1].id)).toEqual(PAGES[2].id);
|
|
118
118
|
});
|
|
119
|
-
it("should return the fifth page when on the third page because the fourth page show_when is not met", ()
|
|
119
|
+
it("should return the fifth page when on the third page because the fourth page show_when is not met", function () {
|
|
120
120
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, PAGES[2].id, _models.PageAction.DEFAULTS.saveAndContinue, FORM_DATA)).toEqual(PAGES[4].id);
|
|
121
121
|
});
|
|
122
|
-
it("should return the sixth page when on the fifth page because the sixth page show_when is met", ()
|
|
122
|
+
it("should return the sixth page when on the fifth page because the sixth page show_when is met", function () {
|
|
123
123
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, PAGES[4].id, _models.PageAction.DEFAULTS.saveAndContinue, FORM_DATA)).toEqual(PAGES[5].id);
|
|
124
124
|
});
|
|
125
|
-
it("should return undefined if the action is '".concat(_models.PageAction.TYPES.SAVE_AND_RETURN, "'"), ()
|
|
126
|
-
|
|
125
|
+
it("should return undefined if the action is '".concat(_models.PageAction.TYPES.SAVE_AND_RETURN, "'"), function () {
|
|
126
|
+
var ACTION = _models.PageAction.DEFAULTS.saveAndReturn;
|
|
127
127
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, PAGES[0].id, ACTION, FORM_DATA)).toBeUndefined();
|
|
128
128
|
});
|
|
129
129
|
});
|
|
130
|
-
describe("when the form type is '".concat(_models.FormTypes.WIZARD, "'"), ()
|
|
131
|
-
|
|
132
|
-
it('should return the first page by default', ()
|
|
130
|
+
describe("when the form type is '".concat(_models.FormTypes.WIZARD, "'"), function () {
|
|
131
|
+
var FORM_TYPE = _models.FormTypes.WIZARD;
|
|
132
|
+
it('should return the first page by default', function () {
|
|
133
133
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES)).toEqual(PAGES[0].id);
|
|
134
134
|
});
|
|
135
|
-
it('should return the second page when on the first page', ()
|
|
135
|
+
it('should return the second page when on the first page', function () {
|
|
136
136
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, PAGES[0].id)).toEqual(PAGES[1].id);
|
|
137
137
|
});
|
|
138
|
-
it('should return undefined when on the last page', ()
|
|
138
|
+
it('should return undefined when on the last page', function () {
|
|
139
139
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, PAGES[PAGES.length - 1].id)).toBeUndefined();
|
|
140
140
|
});
|
|
141
|
-
it("should return undefined if the action is '".concat(_models.PageAction.TYPES.SAVE_AND_RETURN, "'"), ()
|
|
142
|
-
|
|
141
|
+
it("should return undefined if the action is '".concat(_models.PageAction.TYPES.SAVE_AND_RETURN, "'"), function () {
|
|
142
|
+
var ACTION = _models.PageAction.DEFAULTS.saveAndReturn;
|
|
143
143
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, PAGES[0].id, ACTION)).toBeUndefined();
|
|
144
144
|
});
|
|
145
145
|
});
|
|
146
|
-
describe("when the form type is '".concat(_models.FormTypes.FORM, "'"), ()
|
|
147
|
-
|
|
148
|
-
it("should always return the first page if there any pages and the action is not '".concat(_models.PageAction.TYPES.SAVE_AND_RETURN, "'"), ()
|
|
149
|
-
|
|
146
|
+
describe("when the form type is '".concat(_models.FormTypes.FORM, "'"), function () {
|
|
147
|
+
var FORM_TYPE = _models.FormTypes.FORM;
|
|
148
|
+
it("should always return the first page if there any pages and the action is not '".concat(_models.PageAction.TYPES.SAVE_AND_RETURN, "'"), function () {
|
|
149
|
+
var ACTION = {
|
|
150
150
|
type: _models.PageAction.TYPES.SUBMIT,
|
|
151
151
|
nextPageId: 'bob'
|
|
152
152
|
};
|
|
@@ -155,23 +155,23 @@ describe('components', () => {
|
|
|
155
155
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, PAGES[1].id)).toEqual(PAGES[0].id);
|
|
156
156
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, PAGES[0].id, ACTION)).toEqual(PAGES[0].id);
|
|
157
157
|
});
|
|
158
|
-
it("should return undefined if the action is '".concat(_models.PageAction.TYPES.SAVE_AND_RETURN, "'"), ()
|
|
159
|
-
|
|
158
|
+
it("should return undefined if the action is '".concat(_models.PageAction.TYPES.SAVE_AND_RETURN, "'"), function () {
|
|
159
|
+
var ACTION = _models.PageAction.DEFAULTS.saveAndReturn;
|
|
160
160
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, PAGES[0].id, ACTION)).toBeUndefined();
|
|
161
161
|
});
|
|
162
|
-
it('should return undefined if there are no pages', ()
|
|
162
|
+
it('should return undefined if there are no pages', function () {
|
|
163
163
|
expect((0, _getNextPageId.default)(FORM_TYPE, [])).toBeUndefined();
|
|
164
164
|
});
|
|
165
165
|
});
|
|
166
|
-
describe("when the form type is '".concat(_models.FormTypes.TASK, "'"), ()
|
|
167
|
-
|
|
168
|
-
it("should return '".concat(_models.FormPages.HUB, "' by default"), ()
|
|
166
|
+
describe("when the form type is '".concat(_models.FormTypes.TASK, "'"), function () {
|
|
167
|
+
var FORM_TYPE = _models.FormTypes.TASK;
|
|
168
|
+
it("should return '".concat(_models.FormPages.HUB, "' by default"), function () {
|
|
169
169
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES)).toEqual(_models.FormPages.HUB);
|
|
170
170
|
});
|
|
171
171
|
});
|
|
172
|
-
describe("when the form type is '".concat(_models.FormTypes.FORM_WITH_TASK, "'"), ()
|
|
173
|
-
|
|
174
|
-
|
|
172
|
+
describe("when the form type is '".concat(_models.FormTypes.FORM_WITH_TASK, "'"), function () {
|
|
173
|
+
var FORM_TYPE = _models.FormTypes.FORM_WITH_TASK;
|
|
174
|
+
var FORM_WITH_TASK_PAGES = [{
|
|
175
175
|
id: 'alpha',
|
|
176
176
|
'actions': [{
|
|
177
177
|
'type': 'saveAndNavigate',
|
|
@@ -214,24 +214,24 @@ describe('components', () => {
|
|
|
214
214
|
}, {
|
|
215
215
|
id: 'foxtrot'
|
|
216
216
|
}];
|
|
217
|
-
it("should return the first page by default", ()
|
|
217
|
+
it("should return the first page by default", function () {
|
|
218
218
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES)).toEqual(FORM_WITH_TASK_PAGES[0].id);
|
|
219
219
|
});
|
|
220
|
-
it("should then return the second page", ()
|
|
220
|
+
it("should then return the second page", function () {
|
|
221
221
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, FORM_WITH_TASK_PAGES[0].id, FORM_WITH_TASK_PAGES[0].actions[0])).toEqual(FORM_WITH_TASK_PAGES[1].id);
|
|
222
222
|
});
|
|
223
|
-
it("should then move to the next page based on the form data", ()
|
|
223
|
+
it("should then move to the next page based on the form data", function () {
|
|
224
224
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, FORM_WITH_TASK_PAGES[1].id, FORM_WITH_TASK_PAGES[1].actions[0], {
|
|
225
225
|
fieldOne: 'valueOne'
|
|
226
226
|
})).toEqual(FORM_WITH_TASK_PAGES[2].id);
|
|
227
227
|
});
|
|
228
|
-
it("should then move to the other page based on the form data", ()
|
|
228
|
+
it("should then move to the other page based on the form data", function () {
|
|
229
229
|
expect((0, _getNextPageId.default)(FORM_TYPE, PAGES, FORM_WITH_TASK_PAGES[1].id, FORM_WITH_TASK_PAGES[1].actions[0], {
|
|
230
230
|
fieldOne: 'valueTwo'
|
|
231
231
|
})).toEqual(FORM_WITH_TASK_PAGES[3].id);
|
|
232
232
|
});
|
|
233
|
-
it("should take the user to the hub if they saved and returned mid task", ()
|
|
234
|
-
|
|
233
|
+
it("should take the user to the hub if they saved and returned mid task", function () {
|
|
234
|
+
var EXIT_MID_TASK_PAGES = [{
|
|
235
235
|
id: 'alpha',
|
|
236
236
|
type: 'pre-task-list'
|
|
237
237
|
}, {
|
|
@@ -250,15 +250,15 @@ describe('components', () => {
|
|
|
250
250
|
id: 'foxtrot',
|
|
251
251
|
components: [TEXT]
|
|
252
252
|
}];
|
|
253
|
-
|
|
253
|
+
var EXIT_MID_TASK_DATA = {
|
|
254
254
|
formStatus: {
|
|
255
255
|
taskPage: 'charlie'
|
|
256
256
|
}
|
|
257
257
|
};
|
|
258
258
|
expect((0, _getNextPageId.default)(FORM_TYPE, EXIT_MID_TASK_PAGES, undefined, undefined, EXIT_MID_TASK_DATA)).toEqual(_models.FormPages.HUB);
|
|
259
259
|
});
|
|
260
|
-
it('should take the user to the pre task page if they saved and exited before reaching the task list', ()
|
|
261
|
-
|
|
260
|
+
it('should take the user to the pre task page if they saved and exited before reaching the task list', function () {
|
|
261
|
+
var EXIT_MID_TASK_PAGES = [{
|
|
262
262
|
id: 'alpha',
|
|
263
263
|
type: 'pre-task-list'
|
|
264
264
|
}, {
|
|
@@ -277,7 +277,7 @@ describe('components', () => {
|
|
|
277
277
|
id: 'foxtrot',
|
|
278
278
|
components: [TEXT]
|
|
279
279
|
}];
|
|
280
|
-
|
|
280
|
+
var EXIT_PRE_TASK_DATA = {
|
|
281
281
|
formStatus: {
|
|
282
282
|
taskPage: 'bravo'
|
|
283
283
|
}
|
|
@@ -14,12 +14,14 @@ var _models = require("../../../models");
|
|
|
14
14
|
* @param {object} hub The hub, if there is one.
|
|
15
15
|
* @returns The current page to render.
|
|
16
16
|
*/
|
|
17
|
-
|
|
17
|
+
var getPage = function getPage(pageId, pages, hub) {
|
|
18
18
|
if (pageId) {
|
|
19
19
|
if (pageId === _models.FormPages.HUB) {
|
|
20
20
|
return hub === _models.HubFormats.CYA || hub === _models.HubFormats.TASK ? undefined : hub;
|
|
21
21
|
}
|
|
22
|
-
return pages.find(
|
|
22
|
+
return pages.find(function (p) {
|
|
23
|
+
return p.id === pageId;
|
|
24
|
+
});
|
|
23
25
|
}
|
|
24
26
|
return undefined;
|
|
25
27
|
};
|
|
@@ -5,37 +5,37 @@ var _getPage = _interopRequireDefault(require("./getPage"));
|
|
|
5
5
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
6
|
// Local imports
|
|
7
7
|
|
|
8
|
-
describe('components', ()
|
|
9
|
-
describe('FormRenderer', ()
|
|
10
|
-
describe('helpers', ()
|
|
11
|
-
|
|
8
|
+
describe('components', function () {
|
|
9
|
+
describe('FormRenderer', function () {
|
|
10
|
+
describe('helpers', function () {
|
|
11
|
+
var HUB = {
|
|
12
12
|
id: _models.FormPages.HUB,
|
|
13
13
|
components: []
|
|
14
14
|
};
|
|
15
|
-
|
|
15
|
+
var PAGES = [{
|
|
16
16
|
id: 'alpha',
|
|
17
17
|
components: ['x']
|
|
18
18
|
}, {
|
|
19
19
|
id: 'bravo',
|
|
20
20
|
components: ['y', 'z']
|
|
21
21
|
}, HUB];
|
|
22
|
-
describe('getPage', ()
|
|
23
|
-
it('should give undefined if the pageId is undefined', ()
|
|
22
|
+
describe('getPage', function () {
|
|
23
|
+
it('should give undefined if the pageId is undefined', function () {
|
|
24
24
|
expect((0, _getPage.default)(undefined, PAGES, _models.HubFormats.CYA)).toBeUndefined();
|
|
25
25
|
});
|
|
26
|
-
it('should give undefined if the pageId is "hub" but the hub is the CYA', ()
|
|
26
|
+
it('should give undefined if the pageId is "hub" but the hub is the CYA', function () {
|
|
27
27
|
expect((0, _getPage.default)(_models.FormPages.HUB, PAGES, _models.HubFormats.CYA)).toBeUndefined();
|
|
28
28
|
});
|
|
29
|
-
it('should give hub if the pageId is "hub" and the hub is NOT the CYA', ()
|
|
29
|
+
it('should give hub if the pageId is "hub" and the hub is NOT the CYA', function () {
|
|
30
30
|
expect((0, _getPage.default)(_models.FormPages.HUB, PAGES, HUB)).toEqual(HUB);
|
|
31
31
|
});
|
|
32
|
-
it('should give find the appropriate page if the pageId is not "hub"', ()
|
|
32
|
+
it('should give find the appropriate page if the pageId is not "hub"', function () {
|
|
33
33
|
expect((0, _getPage.default)('alpha', PAGES, HUB)).toEqual({
|
|
34
34
|
id: 'alpha',
|
|
35
35
|
components: ['x']
|
|
36
36
|
});
|
|
37
37
|
});
|
|
38
|
-
it('should give undefined if the pageId is not "hub" and not found in the pages collection', ()
|
|
38
|
+
it('should give undefined if the pageId is not "hub" and not found in the pages collection', function () {
|
|
39
39
|
expect((0, _getPage.default)('charlie', PAGES, HUB)).toBeUndefined();
|
|
40
40
|
});
|
|
41
41
|
});
|
|
@@ -5,13 +5,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _models = require("../../../models");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
var slicePages = function slicePages(pages, currentPageId) {
|
|
9
|
+
return pages.slice(0, pages.findIndex(function (p) {
|
|
10
|
+
if ((p === null || p === void 0 ? void 0 : p.id) === currentPageId) {
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
return false;
|
|
14
|
+
}));
|
|
15
|
+
};
|
|
16
|
+
var getRelevantPages = function getRelevantPages(formState, pages, currentTaskPages) {
|
|
15
17
|
var _formState$page;
|
|
16
18
|
if (((_formState$page = formState.page) === null || _formState$page === void 0 ? void 0 : _formState$page.type) === _models.FormPages.PARTIAL_CYA) {
|
|
17
19
|
return currentTaskPages ? slicePages(currentTaskPages, formState.pageId) : slicePages(pages, formState.pageId);
|
|
@@ -5,11 +5,11 @@ var _getRelevantPages = _interopRequireDefault(require("./getRelevantPages"));
|
|
|
5
5
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
6
|
// Local imports
|
|
7
7
|
|
|
8
|
-
describe('components', ()
|
|
9
|
-
describe('FormRenderer', ()
|
|
10
|
-
describe('helpers', ()
|
|
11
|
-
describe('getRelevantPages', ()
|
|
12
|
-
|
|
8
|
+
describe('components', function () {
|
|
9
|
+
describe('FormRenderer', function () {
|
|
10
|
+
describe('helpers', function () {
|
|
11
|
+
describe('getRelevantPages', function () {
|
|
12
|
+
var pages = [{
|
|
13
13
|
id: 'page1'
|
|
14
14
|
}, {
|
|
15
15
|
id: 'page2'
|
|
@@ -20,7 +20,7 @@ describe('components', () => {
|
|
|
20
20
|
}, {
|
|
21
21
|
id: 'page5'
|
|
22
22
|
}];
|
|
23
|
-
|
|
23
|
+
var taskListPages = [{
|
|
24
24
|
id: 'taskPage1'
|
|
25
25
|
}, {
|
|
26
26
|
id: 'taskPage2'
|
|
@@ -31,8 +31,8 @@ describe('components', () => {
|
|
|
31
31
|
}, {
|
|
32
32
|
id: 'taskPage5'
|
|
33
33
|
}];
|
|
34
|
-
it('return all pages from the start of the given list to the current page outside of a task when the page type is partial-cya', ()
|
|
35
|
-
|
|
34
|
+
it('return all pages from the start of the given list to the current page outside of a task when the page type is partial-cya', function () {
|
|
35
|
+
var formState = {
|
|
36
36
|
page: {
|
|
37
37
|
type: _models.FormPages.PARTIAL_CYA
|
|
38
38
|
},
|
|
@@ -40,8 +40,8 @@ describe('components', () => {
|
|
|
40
40
|
};
|
|
41
41
|
expect((0, _getRelevantPages.default)(formState, pages, undefined)).toEqual(pages.slice(0, 2));
|
|
42
42
|
});
|
|
43
|
-
it('return all pages from the start of the given list to the current page in a task when the page type is partial-cya', ()
|
|
44
|
-
|
|
43
|
+
it('return all pages from the start of the given list to the current page in a task when the page type is partial-cya', function () {
|
|
44
|
+
var formState = {
|
|
45
45
|
page: {
|
|
46
46
|
type: _models.FormPages.PARTIAL_CYA
|
|
47
47
|
},
|
|
@@ -49,15 +49,15 @@ describe('components', () => {
|
|
|
49
49
|
};
|
|
50
50
|
expect((0, _getRelevantPages.default)(formState, pages, taskListPages)).toEqual(taskListPages.slice(0, 3));
|
|
51
51
|
});
|
|
52
|
-
it('return all pages when the page type is not partial-cya', ()
|
|
53
|
-
|
|
52
|
+
it('return all pages when the page type is not partial-cya', function () {
|
|
53
|
+
var formState = {
|
|
54
54
|
page: {},
|
|
55
55
|
pageId: 'page2'
|
|
56
56
|
};
|
|
57
57
|
expect((0, _getRelevantPages.default)(formState, pages, undefined)).toEqual(pages);
|
|
58
58
|
});
|
|
59
|
-
it('return all task pages when the page type is not partial-cya', ()
|
|
60
|
-
|
|
59
|
+
it('return all task pages when the page type is not partial-cya', function () {
|
|
60
|
+
var formState = {
|
|
61
61
|
page: {},
|
|
62
62
|
pageId: 'taskPage2'
|
|
63
63
|
};
|
|
@@ -7,10 +7,10 @@ exports.default = void 0;
|
|
|
7
7
|
var _models = require("../../../models");
|
|
8
8
|
var _getNextPageId = _interopRequireDefault(require("./getNextPageId"));
|
|
9
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
-
|
|
10
|
+
var getSubmissionStatus = function getSubmissionStatus(formType, pages, currentPageId, action, formData, currentTask, isCompleted, sections) {
|
|
11
11
|
if (formType === _models.FormTypes.TASK || formType === _models.FormTypes.FORM_WITH_TASK) {
|
|
12
12
|
var _currentTask$pages;
|
|
13
|
-
|
|
13
|
+
var formStatus = formData.formStatus || {};
|
|
14
14
|
formStatus.tasks = formStatus.tasks || {};
|
|
15
15
|
formStatus.tasks[currentTask.name] = formStatus.tasks[currentTask.name] || {};
|
|
16
16
|
if (currentPageId === (_models.FormPages.CYA || 'submitForm') && isCompleted) {
|
|
@@ -21,9 +21,9 @@ const getSubmissionStatus = (formType, pages, currentPageId, action, formData, c
|
|
|
21
21
|
// in this case check whether the page is part of a section defined in the hub sections
|
|
22
22
|
// if it is, set the section to complete as long as isCompleted == true
|
|
23
23
|
if (sections) {
|
|
24
|
-
sections.forEach(section
|
|
25
|
-
section.tasks.forEach(task
|
|
26
|
-
|
|
24
|
+
sections.forEach(function (section) {
|
|
25
|
+
section.tasks.forEach(function (task) {
|
|
26
|
+
var lastPage = task.pages[task.pages.length - 1];
|
|
27
27
|
if ((lastPage === currentPageId || lastPage.id === currentPageId) && isCompleted && (task === null || task === void 0 ? void 0 : task.type) === 'pre-task-list') {
|
|
28
28
|
formStatus.tasks[task.name] = {
|
|
29
29
|
complete: isCompleted,
|