@ukhomeoffice/cop-react-form-renderer 6.14.0 → 6.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/dist/components/CheckYourAnswers/Answer.js +12 -11
- package/dist/components/CheckYourAnswers/Answer.test.js +132 -181
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +98 -133
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +544 -939
- package/dist/components/CheckYourAnswers/index.js +1 -1
- package/dist/components/CollectionPage/CollectionPage.js +62 -60
- package/dist/components/CollectionPage/CollectionPage.test.js +315 -365
- package/dist/components/CollectionPage/index.js +1 -1
- package/dist/components/CollectionSummary/BannerStrip.js +14 -14
- package/dist/components/CollectionSummary/BannerStrip.test.js +79 -74
- package/dist/components/CollectionSummary/CollectionSummary.js +75 -97
- package/dist/components/CollectionSummary/CollectionSummary.test.js +182 -166
- package/dist/components/CollectionSummary/Confirmation.js +15 -13
- package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
- package/dist/components/CollectionSummary/RenderListView.js +34 -47
- package/dist/components/CollectionSummary/RenderListView.test.js +113 -111
- package/dist/components/CollectionSummary/SummaryCard.js +101 -133
- package/dist/components/CollectionSummary/SummaryCard.test.js +961 -993
- package/dist/components/CollectionSummary/SummaryCardButtons.js +25 -30
- package/dist/components/CollectionSummary/SummaryCardButtons.test.js +30 -28
- package/dist/components/CollectionSummary/SummaryCardDetails.js +59 -76
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +170 -180
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +31 -36
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +63 -75
- package/dist/components/CollectionSummary/index.js +1 -1
- package/dist/components/FormComponent/Collection.js +63 -100
- package/dist/components/FormComponent/Collection.test.js +907 -1080
- package/dist/components/FormComponent/Container.js +35 -29
- package/dist/components/FormComponent/Container.test.js +378 -409
- package/dist/components/FormComponent/FormComponent.js +59 -63
- package/dist/components/FormComponent/FormComponent.test.js +354 -415
- package/dist/components/FormComponent/helpers/addLabel.js +4 -7
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +8 -8
- package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
- package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
- package/dist/components/FormComponent/helpers/index.js +5 -5
- package/dist/components/FormComponent/index.js +1 -1
- package/dist/components/FormPage/FormPage.js +70 -93
- package/dist/components/FormPage/FormPage.test.js +150 -202
- package/dist/components/FormPage/index.js +1 -1
- package/dist/components/FormRenderer/FormRenderer.js +131 -173
- package/dist/components/FormRenderer/FormRenderer.test.js +732 -1114
- package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
- package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
- package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
- package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
- package/dist/components/FormRenderer/handlers/index.js +2 -2
- package/dist/components/FormRenderer/handlers/navigate.js +4 -4
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +16 -16
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +17 -21
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -25
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
- package/dist/components/FormRenderer/helpers/getCYA.js +4 -6
- package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getFormState.js +6 -8
- package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getNextPageId.js +14 -25
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
- package/dist/components/FormRenderer/helpers/getPage.js +2 -4
- package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +6 -6
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +104 -98
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +44 -51
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +68 -74
- package/dist/components/FormRenderer/helpers/index.js +2 -2
- package/dist/components/FormRenderer/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +43 -44
- package/dist/components/FormRenderer/onCYAAction.test.js +126 -133
- package/dist/components/FormRenderer/onPageAction.js +26 -35
- package/dist/components/FormRenderer/onPageAction.test.js +177 -186
- package/dist/components/FormRenderer/onTaskAction.js +11 -12
- package/dist/components/FormRenderer/onTaskAction.test.js +63 -68
- package/dist/components/PageActions/ActionButton.js +14 -14
- package/dist/components/PageActions/ActionButton.test.js +57 -79
- package/dist/components/PageActions/PageActions.js +11 -11
- package/dist/components/PageActions/PageActions.test.js +87 -116
- package/dist/components/PageActions/index.js +1 -1
- package/dist/components/SummaryList/GroupAction.js +10 -18
- package/dist/components/SummaryList/GroupAction.test.js +38 -34
- package/dist/components/SummaryList/RowAction.js +12 -17
- package/dist/components/SummaryList/RowAction.test.js +38 -34
- package/dist/components/SummaryList/SummaryList.js +23 -25
- package/dist/components/SummaryList/SummaryList.test.js +162 -189
- package/dist/components/SummaryList/SummaryListHeadingRow.js +7 -5
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +7 -5
- package/dist/components/SummaryList/SummaryListRow.js +7 -5
- package/dist/components/SummaryList/SummaryListTitleRow.js +6 -4
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +23 -23
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +23 -23
- package/dist/components/SummaryList/helpers/index.js +2 -2
- package/dist/components/SummaryList/index.js +1 -1
- package/dist/components/TaskList/Task.js +20 -30
- package/dist/components/TaskList/Task.test.js +84 -77
- package/dist/components/TaskList/TaskList.js +56 -79
- package/dist/components/TaskList/TaskList.test.js +149 -149
- package/dist/components/TaskList/TaskState.js +8 -6
- package/dist/components/TaskList/TaskState.test.js +53 -46
- package/dist/components/TaskList/index.js +1 -1
- package/dist/components/index.js +8 -8
- package/dist/context/HooksContext/HooksContext.js +56 -79
- package/dist/context/HooksContext/HooksContext.test.js +27 -36
- package/dist/context/HooksContext/index.js +3 -4
- package/dist/context/ValidationContext/ValidationContext.js +44 -95
- package/dist/context/ValidationContext/ValidationContext.test.js +57 -69
- package/dist/context/ValidationContext/index.js +3 -4
- package/dist/context/index.js +3 -3
- package/dist/hooks/index.js +10 -11
- package/dist/hooks/useAxios.js +15 -41
- package/dist/hooks/useGetRequest.js +62 -98
- package/dist/hooks/useHooks.js +1 -3
- package/dist/hooks/useRefData.js +25 -37
- package/dist/hooks/useValidation.js +1 -3
- package/dist/index.js +14 -15
- package/dist/models/CollectionLabels.js +1 -1
- package/dist/models/ComponentTypes.js +25 -25
- package/dist/models/EventTypes.js +4 -4
- package/dist/models/FormPages.js +4 -4
- package/dist/models/FormTypes.js +8 -8
- package/dist/models/HubFormats.js +3 -3
- package/dist/models/PageAction.js +44 -38
- package/dist/models/TaskStates.js +29 -28
- package/dist/models/index.js +10 -10
- package/dist/setupTests.js +30 -31
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +12 -21
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +32 -33
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +15 -28
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +41 -42
- package/dist/utils/CheckYourAnswers/getCYARow.js +7 -7
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +19 -21
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +27 -34
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +48 -52
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +76 -93
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +110 -115
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +11 -16
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +14 -19
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +69 -73
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +7 -8
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +15 -16
- package/dist/utils/CheckYourAnswers/index.js +2 -2
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +5 -5
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -19
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +13 -20
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +48 -39
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
- package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
- package/dist/utils/CollectionPage/getErrorsForCollection.js +20 -21
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +21 -23
- package/dist/utils/CollectionPage/getQuickEditPage.js +22 -23
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +17 -18
- package/dist/utils/CollectionPage/index.js +2 -2
- package/dist/utils/CollectionPage/mergeCollectionPages.js +26 -35
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +18 -18
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +5 -7
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
- package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +25 -25
- package/dist/utils/Component/addShowWhen.js +5 -6
- package/dist/utils/Component/addShowWhen.test.js +38 -38
- package/dist/utils/Component/applyToComponentTree.js +12 -15
- package/dist/utils/Component/applyToComponentTree.test.js +28 -31
- package/dist/utils/Component/cleanAttributes.js +12 -11
- package/dist/utils/Component/cleanAttributes.test.js +17 -18
- package/dist/utils/Component/elevateNestedComponents.js +6 -6
- package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
- package/dist/utils/Component/getComponent.js +79 -85
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +41 -58
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +40 -49
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +24 -34
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +21 -19
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +21 -26
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +11 -10
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +10 -9
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +23 -27
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +201 -226
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +58 -73
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +32 -39
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +21 -30
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +10 -9
- package/dist/utils/Component/getDefaultValue.js +7 -9
- package/dist/utils/Component/getDefaultValue.test.js +13 -13
- package/dist/utils/Component/getDefaultValueFromConfig.js +16 -20
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +32 -32
- package/dist/utils/Component/index.js +2 -2
- package/dist/utils/Component/isEditable.js +2 -4
- package/dist/utils/Component/isEditable.test.js +14 -15
- package/dist/utils/Component/optionIsSelected.js +2 -4
- package/dist/utils/Component/optionIsSelected.test.js +12 -12
- package/dist/utils/Component/setupContainerComponentsPath.js +23 -28
- package/dist/utils/Component/setupContainerComponentsPath.test.js +12 -12
- package/dist/utils/Component/showComponent.js +2 -2
- package/dist/utils/Component/showComponent.test.js +29 -29
- package/dist/utils/Component/wrapInFormGroup.js +4 -4
- package/dist/utils/Condition/index.js +2 -2
- package/dist/utils/Condition/meetsAllConditions.js +9 -9
- package/dist/utils/Condition/meetsAllConditions.test.js +21 -21
- package/dist/utils/Condition/meetsCondition.js +17 -26
- package/dist/utils/Condition/meetsCondition.test.js +403 -403
- package/dist/utils/Condition/meetsOneCondition.js +6 -6
- package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
- package/dist/utils/Condition/setupConditions.js +12 -15
- package/dist/utils/Condition/setupConditions.test.js +8 -8
- package/dist/utils/Container/getEditableComponents.js +4 -6
- package/dist/utils/Container/getEditableComponents.test.js +44 -46
- package/dist/utils/Container/index.js +2 -2
- package/dist/utils/Container/setupNesting.js +14 -15
- package/dist/utils/Container/setupNesting.test.js +20 -23
- package/dist/utils/Container/showContainer.js +4 -8
- package/dist/utils/Container/showContainer.test.js +31 -31
- package/dist/utils/Data/applyFormula.js +30 -44
- package/dist/utils/Data/applyFormula.test.js +21 -21
- package/dist/utils/Data/deleteValues.js +4 -8
- package/dist/utils/Data/deleteValues.test.js +11 -11
- package/dist/utils/Data/getAutocompleteSource.js +19 -27
- package/dist/utils/Data/getAutocompleteSource.test.js +76 -81
- package/dist/utils/Data/getDataPath.js +18 -28
- package/dist/utils/Data/getDataPath.test.js +13 -13
- package/dist/utils/Data/getOptions.js +35 -42
- package/dist/utils/Data/getOptions.test.js +37 -38
- package/dist/utils/Data/getSourceData.js +6 -19
- package/dist/utils/Data/getSourceData.test.js +85 -81
- package/dist/utils/Data/index.js +2 -2
- package/dist/utils/Data/nestInRefdataOptions.js +9 -12
- package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
- package/dist/utils/Data/refDataToOptions.js +9 -10
- package/dist/utils/Data/refDataToOptions.test.js +20 -20
- package/dist/utils/Data/setDataItem.js +7 -8
- package/dist/utils/Data/setDataItem.test.js +38 -38
- package/dist/utils/Data/setupFormData.js +13 -20
- package/dist/utils/Data/setupFormData.test.js +48 -47
- package/dist/utils/Data/setupRefDataUrlForComponent.js +11 -20
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +25 -25
- package/dist/utils/FormPage/applyConditionalProperties.js +7 -8
- package/dist/utils/FormPage/applyConditionalProperties.test.js +14 -15
- package/dist/utils/FormPage/getConditionalText.js +4 -4
- package/dist/utils/FormPage/getConditionalText.test.js +30 -30
- package/dist/utils/FormPage/getFormPage.js +12 -15
- package/dist/utils/FormPage/getFormPage.test.js +23 -24
- package/dist/utils/FormPage/getFormPages.js +8 -11
- package/dist/utils/FormPage/getFormPages.test.js +15 -16
- package/dist/utils/FormPage/getPageActions.js +10 -13
- package/dist/utils/FormPage/getPageActions.test.js +33 -33
- package/dist/utils/FormPage/getParagraphFromText.js +5 -7
- package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
- package/dist/utils/FormPage/index.js +3 -5
- package/dist/utils/FormPage/showFormPage.js +4 -8
- package/dist/utils/FormPage/showFormPage.test.js +33 -33
- package/dist/utils/FormPage/showFormPageCYA.js +2 -2
- package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
- package/dist/utils/FormPage/useComponent.js +15 -23
- package/dist/utils/FormPage/useComponent.test.js +49 -50
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +19 -19
- package/dist/utils/Format/formatDataForComponent.js +6 -7
- package/dist/utils/Format/formatDataForComponent.test.js +50 -78
- package/dist/utils/Format/formatDataForForm.js +5 -6
- package/dist/utils/Format/formatDataForForm.test.js +14 -17
- package/dist/utils/Format/formatDataForPage.js +4 -5
- package/dist/utils/Format/formatDataForPage.test.js +20 -25
- package/dist/utils/Format/index.js +2 -2
- package/dist/utils/Hub/getFormHub.js +2 -2
- package/dist/utils/Hub/getFormHub.test.js +23 -24
- package/dist/utils/Hub/index.js +2 -2
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +25 -17
- package/dist/utils/Meta/documents/index.js +2 -2
- package/dist/utils/Meta/documents/setDocumentsForField.js +12 -13
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +70 -33
- package/dist/utils/Meta/index.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.js +3 -3
- package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
- package/dist/utils/Operate/deleteValueInFormData.js +2 -2
- package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
- package/dist/utils/Operate/getFirstOf.js +6 -6
- package/dist/utils/Operate/getFirstOf.test.js +32 -32
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +11 -11
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
- package/dist/utils/Operate/getLength.js +9 -9
- package/dist/utils/Operate/getLength.test.js +19 -19
- package/dist/utils/Operate/index.js +2 -2
- package/dist/utils/Operate/persistValueInFormData.js +4 -4
- package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
- package/dist/utils/Operate/runPageOperations.js +8 -8
- package/dist/utils/Operate/runPageOperations.test.js +24 -25
- package/dist/utils/Operate/setValueInFormData.js +3 -3
- package/dist/utils/Operate/setValueInFormData.test.js +17 -17
- package/dist/utils/Operate/shouldRun.js +7 -7
- package/dist/utils/Operate/shouldRun.test.js +22 -24
- package/dist/utils/Validate/additional/conditionallyPermittedChange.js +1 -1
- package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +15 -15
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
- package/dist/utils/Validate/additional/index.js +8 -8
- package/dist/utils/Validate/additional/index.test.js +22 -22
- package/dist/utils/Validate/additional/mustBeAfter.js +3 -3
- package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
- package/dist/utils/Validate/additional/mustBeBefore.js +3 -3
- package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +8 -12
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -38
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +3 -3
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeInThePast.js +4 -4
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
- package/dist/utils/Validate/additional/mustBeOneOf.js +1 -1
- package/dist/utils/Validate/additional/mustBeOneOf.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +5 -5
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +35 -36
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +15 -17
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
- package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
- package/dist/utils/Validate/additional/utils.js +9 -22
- package/dist/utils/Validate/index.js +2 -2
- package/dist/utils/Validate/validateCollection.js +18 -23
- package/dist/utils/Validate/validateCollection.test.js +75 -67
- package/dist/utils/Validate/validateComponent.js +19 -19
- package/dist/utils/Validate/validateComponent.test.js +179 -154
- package/dist/utils/Validate/validateContainer.js +14 -17
- package/dist/utils/Validate/validateContainer.test.js +59 -53
- package/dist/utils/Validate/validateDate.js +16 -22
- package/dist/utils/Validate/validateDate.test.js +31 -32
- package/dist/utils/Validate/validateEmail.js +7 -9
- package/dist/utils/Validate/validateEmail.test.js +27 -27
- package/dist/utils/Validate/validateMultifile.js +5 -7
- package/dist/utils/Validate/validateMultifile.test.js +17 -18
- package/dist/utils/Validate/validatePage.js +13 -18
- package/dist/utils/Validate/validatePage.test.js +198 -195
- package/dist/utils/Validate/validateRegex.js +3 -5
- package/dist/utils/Validate/validateRegex.test.js +15 -15
- package/dist/utils/Validate/validateRequired.js +4 -6
- package/dist/utils/Validate/validateRequired.test.js +19 -19
- package/dist/utils/Validate/validateTextArea.js +4 -6
- package/dist/utils/Validate/validateTextArea.test.js +21 -21
- package/dist/utils/Validate/validateTime.js +12 -19
- package/dist/utils/Validate/validateTime.test.js +27 -27
- package/dist/utils/index.js +5 -6
- package/package.json +2 -4
|
@@ -2,35 +2,35 @@
|
|
|
2
2
|
|
|
3
3
|
var _models = require("../../../models");
|
|
4
4
|
var _getCYA = _interopRequireDefault(require("./getCYA"));
|
|
5
|
-
function _interopRequireDefault(
|
|
5
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
6
6
|
// Local imports
|
|
7
7
|
|
|
8
|
-
describe('components',
|
|
9
|
-
describe('FormRenderer',
|
|
10
|
-
describe('helpers',
|
|
11
|
-
|
|
8
|
+
describe('components', () => {
|
|
9
|
+
describe('FormRenderer', () => {
|
|
10
|
+
describe('helpers', () => {
|
|
11
|
+
const HUB = {
|
|
12
12
|
id: _models.FormPages.HUB,
|
|
13
13
|
components: []
|
|
14
14
|
};
|
|
15
|
-
describe('getCYA',
|
|
16
|
-
it('should give an empty object if the pageId is "CYA"',
|
|
15
|
+
describe('getCYA', () => {
|
|
16
|
+
it('should give an empty object if the pageId is "CYA"', () => {
|
|
17
17
|
expect((0, _getCYA.default)(_models.FormPages.CYA)).toEqual({});
|
|
18
18
|
});
|
|
19
|
-
it('should give an object with a blank title if the pageId is "hub" and the hub is the CYA',
|
|
19
|
+
it('should give an object with a blank title if the pageId is "hub" and the hub is the CYA', () => {
|
|
20
20
|
expect((0, _getCYA.default)(_models.FormPages.HUB, [], _models.HubFormats.CYA)).toEqual({
|
|
21
21
|
title: ''
|
|
22
22
|
});
|
|
23
23
|
});
|
|
24
|
-
it('should give undefined if pageId is "hub" and the hub is NOT the CYA',
|
|
24
|
+
it('should give undefined if pageId is "hub" and the hub is NOT the CYA', () => {
|
|
25
25
|
expect((0, _getCYA.default)(_models.FormPages.HUB, [], HUB)).toBeUndefined();
|
|
26
26
|
});
|
|
27
|
-
it('should give undefined if pageId is NOT "hub" and the hub is NOT the CYA',
|
|
27
|
+
it('should give undefined if pageId is NOT "hub" and the hub is NOT the CYA', () => {
|
|
28
28
|
expect((0, _getCYA.default)(_models.FormPages.HUB, [], HUB)).toBeUndefined();
|
|
29
29
|
});
|
|
30
|
-
it('should give undefined if pageId is NOT "hub" and the hub is the CYA',
|
|
30
|
+
it('should give undefined if pageId is NOT "hub" and the hub is the CYA', () => {
|
|
31
31
|
expect((0, _getCYA.default)('bob', [], _models.HubFormats.CYA)).toBeUndefined();
|
|
32
32
|
});
|
|
33
|
-
it('should return an object with a title if the current page has type partial-cya',
|
|
33
|
+
it('should return an object with a title if the current page has type partial-cya', () => {
|
|
34
34
|
expect((0, _getCYA.default)('pageId', [{
|
|
35
35
|
id: 'pageId',
|
|
36
36
|
type: 'partial-cya',
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _getCYA = _interopRequireDefault(require("./getCYA"));
|
|
8
8
|
var _getPage = _interopRequireDefault(require("./getPage"));
|
|
9
|
-
function _interopRequireDefault(
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
10
|
// Local imports
|
|
11
11
|
|
|
12
12
|
/**
|
|
@@ -16,11 +16,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
16
16
|
* @param {object} hub The hub, if there is one.
|
|
17
17
|
* @returns The current state of the form.
|
|
18
18
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
25
|
-
};
|
|
19
|
+
const getFormState = (pageId, pages, hub) => ({
|
|
20
|
+
pageId,
|
|
21
|
+
cya: (0, _getCYA.default)(pageId, pages, hub),
|
|
22
|
+
page: (0, _getPage.default)(pageId, pages, hub)
|
|
23
|
+
});
|
|
26
24
|
var _default = exports.default = getFormState;
|
|
@@ -2,25 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
var _models = require("../../../models");
|
|
4
4
|
var _getFormState = _interopRequireDefault(require("./getFormState"));
|
|
5
|
-
function _interopRequireDefault(
|
|
5
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
6
6
|
// Local imports
|
|
7
7
|
|
|
8
|
-
describe('components',
|
|
9
|
-
describe('FormRenderer',
|
|
10
|
-
describe('helpers',
|
|
11
|
-
|
|
8
|
+
describe('components', () => {
|
|
9
|
+
describe('FormRenderer', () => {
|
|
10
|
+
describe('helpers', () => {
|
|
11
|
+
const HUB = {
|
|
12
12
|
id: _models.FormPages.HUB,
|
|
13
13
|
components: []
|
|
14
14
|
};
|
|
15
|
-
|
|
15
|
+
const 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', () => {
|
|
23
|
+
it('should set up accordingly when viewing a hub that is the CYA', () => {
|
|
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', function () {
|
|
|
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', () => {
|
|
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', () => {
|
|
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', () => {
|
|
47
47
|
expect((0, _getFormState.default)('bravo', PAGES, HUB)).toEqual({
|
|
48
48
|
pageId: 'bravo',
|
|
49
49
|
cya: undefined,
|
|
@@ -6,15 +6,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _models = require("../../../models");
|
|
8
8
|
var _FormPage = _interopRequireDefault(require("../../../utils/FormPage"));
|
|
9
|
-
function _interopRequireDefault(
|
|
10
|
-
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
const 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
|
-
|
|
16
|
-
return page.id === formData.formStatus.taskPage;
|
|
17
|
-
});
|
|
15
|
+
const currentPage = pages.find(page => page.id === formData.formStatus.taskPage);
|
|
18
16
|
if ((currentPage === null || currentPage === void 0 ? void 0 : currentPage.type) === 'pre-task-list') {
|
|
19
17
|
return currentPage.id;
|
|
20
18
|
}
|
|
@@ -25,8 +23,8 @@ var getNextHubPageId = function getNextHubPageId(action, currentPageId, pages, f
|
|
|
25
23
|
return pages.length > 0 ? pages[0].id : undefined;
|
|
26
24
|
}
|
|
27
25
|
;
|
|
28
|
-
|
|
29
|
-
action === null || action === void 0 || (_action$pages = action.pages) === null || _action$pages === void 0 || _action$pages.forEach(
|
|
26
|
+
let nextPage;
|
|
27
|
+
action === null || action === void 0 || (_action$pages = action.pages) === null || _action$pages === void 0 || _action$pages.forEach(page => {
|
|
30
28
|
if (_FormPage.default.show({
|
|
31
29
|
show_when: page.show_when
|
|
32
30
|
}, formData)) {
|
|
@@ -36,12 +34,10 @@ var getNextHubPageId = function getNextHubPageId(action, currentPageId, pages, f
|
|
|
36
34
|
});
|
|
37
35
|
return nextPage || (action === null || action === void 0 ? void 0 : action.page) || _models.FormPages.HUB;
|
|
38
36
|
};
|
|
39
|
-
|
|
37
|
+
const getNextWizardPageId = (pages, currentPageId, formData) => {
|
|
40
38
|
var _page;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}) + 1;
|
|
44
|
-
var page = pages[nextIndex];
|
|
39
|
+
let nextIndex = pages.findIndex(p => p.id === currentPageId) + 1;
|
|
40
|
+
let page = pages[nextIndex];
|
|
45
41
|
while (page && !_FormPage.default.show(page, formData)) {
|
|
46
42
|
nextIndex += 1;
|
|
47
43
|
page = pages[nextIndex];
|
|
@@ -49,21 +45,14 @@ var getNextWizardPageId = function getNextWizardPageId(pages, currentPageId, for
|
|
|
49
45
|
;
|
|
50
46
|
return ((_page = page) === null || _page === void 0 ? void 0 : _page.id) || undefined;
|
|
51
47
|
};
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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) {
|
|
48
|
+
const getNextCYAPageId = (pages, currentPageId, formData) => getNextWizardPageId(pages, currentPageId, formData) || _models.FormPages.CYA;
|
|
49
|
+
const getNextFormPageId = pages =>
|
|
50
|
+
// A form has a single page... so always return that id.
|
|
51
|
+
pages.length > 0 ? pages[0].id : undefined;
|
|
52
|
+
const getNextPageId = (formType, pages, currentPageId, action, formData) => {
|
|
62
53
|
if (action) {
|
|
63
54
|
if (action.type === _models.PageAction.TYPES.NAVIGATE) {
|
|
64
|
-
return pages.find(
|
|
65
|
-
return p.id === action.page;
|
|
66
|
-
}) ? action.page : undefined;
|
|
55
|
+
return pages.find(p => p.id === action.page) ? action.page : undefined;
|
|
67
56
|
}
|
|
68
57
|
if (action.type === _models.PageAction.TYPES.SAVE_AND_RETURN) {
|
|
69
58
|
return formType === _models.FormTypes.HUB ? _models.FormPages.HUB : undefined;
|
|
@@ -2,21 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
var _models = require("../../../models");
|
|
4
4
|
var _getNextPageId = _interopRequireDefault(require("./getNextPageId"));
|
|
5
|
-
function _interopRequireDefault(
|
|
5
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
6
6
|
// Local imports
|
|
7
7
|
|
|
8
|
-
describe('components',
|
|
9
|
-
describe('FormRenderer',
|
|
10
|
-
describe('helpers',
|
|
11
|
-
describe('getNextPageId',
|
|
12
|
-
|
|
8
|
+
describe('components', () => {
|
|
9
|
+
describe('FormRenderer', () => {
|
|
10
|
+
describe('helpers', () => {
|
|
11
|
+
describe('getNextPageId', () => {
|
|
12
|
+
const OPTIONS = [{
|
|
13
13
|
value: 'romeo',
|
|
14
14
|
label: 'Romeo'
|
|
15
15
|
}, {
|
|
16
16
|
value: 'juliet',
|
|
17
17
|
label: 'Juliet'
|
|
18
18
|
}];
|
|
19
|
-
|
|
19
|
+
const RADIOS = {
|
|
20
20
|
id: 'radios',
|
|
21
21
|
fieldId: 'radios',
|
|
22
22
|
type: _models.ComponentTypes.RADIOS,
|
|
@@ -24,29 +24,29 @@ describe('components', function () {
|
|
|
24
24
|
options: OPTIONS
|
|
25
25
|
}
|
|
26
26
|
};
|
|
27
|
-
|
|
27
|
+
const TEXT = {
|
|
28
28
|
id: 'text',
|
|
29
29
|
fieldId: 'text',
|
|
30
30
|
type: _models.ComponentTypes.TEXT
|
|
31
31
|
};
|
|
32
|
-
|
|
32
|
+
const HTML = {
|
|
33
33
|
type: _models.ComponentTypes.HTML,
|
|
34
34
|
content: 'HTML'
|
|
35
35
|
};
|
|
36
|
-
|
|
36
|
+
const SHOW_WHEN_JULIET = {
|
|
37
37
|
field: RADIOS.fieldId,
|
|
38
38
|
op: '=',
|
|
39
39
|
value: OPTIONS[1].value
|
|
40
40
|
};
|
|
41
|
-
|
|
41
|
+
const SHOW_WHEN_ROMEO = {
|
|
42
42
|
field: RADIOS.fieldId,
|
|
43
43
|
op: '=',
|
|
44
44
|
value: OPTIONS[0].value
|
|
45
45
|
};
|
|
46
|
-
|
|
46
|
+
const FORM_DATA = {
|
|
47
47
|
radios: OPTIONS[0].value
|
|
48
48
|
}; // 'romeo'
|
|
49
|
-
|
|
49
|
+
const PAGES = [{
|
|
50
50
|
id: 'alpha'
|
|
51
51
|
}, {
|
|
52
52
|
id: 'bravo'
|
|
@@ -65,88 +65,88 @@ describe('components', function () {
|
|
|
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, "'"), () => {
|
|
69
|
+
it('should return undefined if the action has no page property', () => {
|
|
70
|
+
const 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', () => {
|
|
76
|
+
const PAGE = PAGES[1].id;
|
|
77
|
+
const 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', () => {
|
|
84
|
+
const PAGE = 'golf';
|
|
85
|
+
const 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, "'"), () => {
|
|
93
|
+
const FORM_TYPE = _models.FormTypes.HUB;
|
|
94
|
+
it("should return '".concat(_models.FormPages.HUB, "' by default"), () => {
|
|
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, "'"), () => {
|
|
98
|
+
const 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', () => {
|
|
102
|
+
const 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, "'"), () => {
|
|
109
|
+
const FORM_TYPE = _models.FormTypes.CYA;
|
|
110
|
+
it('should return the first page by default', () => {
|
|
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', () => {
|
|
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', () => {
|
|
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", () => {
|
|
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", () => {
|
|
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, "'"), () => {
|
|
126
|
+
const 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, "'"), () => {
|
|
131
|
+
const FORM_TYPE = _models.FormTypes.WIZARD;
|
|
132
|
+
it('should return the first page by default', () => {
|
|
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', () => {
|
|
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', () => {
|
|
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, "'"), () => {
|
|
142
|
+
const 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, "'"), () => {
|
|
147
|
+
const 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, "'"), () => {
|
|
149
|
+
const ACTION = {
|
|
150
150
|
type: _models.PageAction.TYPES.SUBMIT,
|
|
151
151
|
nextPageId: 'bob'
|
|
152
152
|
};
|
|
@@ -155,23 +155,23 @@ describe('components', function () {
|
|
|
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, "'"), () => {
|
|
159
|
+
const 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', () => {
|
|
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, "'"), () => {
|
|
167
|
+
const FORM_TYPE = _models.FormTypes.TASK;
|
|
168
|
+
it("should return '".concat(_models.FormPages.HUB, "' by default"), () => {
|
|
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, "'"), () => {
|
|
173
|
+
const FORM_TYPE = _models.FormTypes.FORM_WITH_TASK;
|
|
174
|
+
const FORM_WITH_TASK_PAGES = [{
|
|
175
175
|
id: 'alpha',
|
|
176
176
|
'actions': [{
|
|
177
177
|
'type': 'saveAndNavigate',
|
|
@@ -214,24 +214,24 @@ describe('components', function () {
|
|
|
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", () => {
|
|
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", () => {
|
|
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", () => {
|
|
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", () => {
|
|
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", () => {
|
|
234
|
+
const EXIT_MID_TASK_PAGES = [{
|
|
235
235
|
id: 'alpha',
|
|
236
236
|
type: 'pre-task-list'
|
|
237
237
|
}, {
|
|
@@ -250,15 +250,15 @@ describe('components', function () {
|
|
|
250
250
|
id: 'foxtrot',
|
|
251
251
|
components: [TEXT]
|
|
252
252
|
}];
|
|
253
|
-
|
|
253
|
+
const 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', () => {
|
|
261
|
+
const EXIT_MID_TASK_PAGES = [{
|
|
262
262
|
id: 'alpha',
|
|
263
263
|
type: 'pre-task-list'
|
|
264
264
|
}, {
|
|
@@ -277,7 +277,7 @@ describe('components', function () {
|
|
|
277
277
|
id: 'foxtrot',
|
|
278
278
|
components: [TEXT]
|
|
279
279
|
}];
|
|
280
|
-
|
|
280
|
+
const EXIT_PRE_TASK_DATA = {
|
|
281
281
|
formStatus: {
|
|
282
282
|
taskPage: 'bravo'
|
|
283
283
|
}
|
|
@@ -14,14 +14,12 @@ 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
|
+
const 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(
|
|
23
|
-
return p.id === pageId;
|
|
24
|
-
});
|
|
22
|
+
return pages.find(p => p.id === pageId);
|
|
25
23
|
}
|
|
26
24
|
return undefined;
|
|
27
25
|
};
|
|
@@ -2,40 +2,40 @@
|
|
|
2
2
|
|
|
3
3
|
var _models = require("../../../models");
|
|
4
4
|
var _getPage = _interopRequireDefault(require("./getPage"));
|
|
5
|
-
function _interopRequireDefault(
|
|
5
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
6
6
|
// Local imports
|
|
7
7
|
|
|
8
|
-
describe('components',
|
|
9
|
-
describe('FormRenderer',
|
|
10
|
-
describe('helpers',
|
|
11
|
-
|
|
8
|
+
describe('components', () => {
|
|
9
|
+
describe('FormRenderer', () => {
|
|
10
|
+
describe('helpers', () => {
|
|
11
|
+
const HUB = {
|
|
12
12
|
id: _models.FormPages.HUB,
|
|
13
13
|
components: []
|
|
14
14
|
};
|
|
15
|
-
|
|
15
|
+
const 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', () => {
|
|
23
|
+
it('should give undefined if the pageId is undefined', () => {
|
|
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', () => {
|
|
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', () => {
|
|
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"', () => {
|
|
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', () => {
|
|
39
39
|
expect((0, _getPage.default)('charlie', PAGES, HUB)).toBeUndefined();
|
|
40
40
|
});
|
|
41
41
|
});
|
|
@@ -5,15 +5,13 @@ 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
|
-
|
|
15
|
-
};
|
|
16
|
-
var getRelevantPages = function getRelevantPages(formState, pages, currentTaskPages) {
|
|
8
|
+
const slicePages = (pages, currentPageId) => pages.slice(0, pages.findIndex(p => {
|
|
9
|
+
if ((p === null || p === void 0 ? void 0 : p.id) === currentPageId) {
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
return false;
|
|
13
|
+
}));
|
|
14
|
+
const getRelevantPages = (formState, pages, currentTaskPages) => {
|
|
17
15
|
var _formState$page;
|
|
18
16
|
if (((_formState$page = formState.page) === null || _formState$page === void 0 ? void 0 : _formState$page.type) === _models.FormPages.PARTIAL_CYA) {
|
|
19
17
|
return currentTaskPages ? slicePages(currentTaskPages, formState.pageId) : slicePages(pages, formState.pageId);
|