@ukhomeoffice/cop-react-form-renderer 6.14.8 → 6.15.0-alpha
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/CollectionSummary/BannerStrip.scss +0 -4
- package/dist/components/FormPage/FormPage.js +10 -8
- package/dist/components/FormRenderer/FormRenderer.js +10 -5
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-containerised.json +119 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-dependent-component-nested-block.json +112 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-dependent-component-nested.json +105 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-refdata.json +105 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-target-component-nested.json +98 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens.json +105 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-chained-show-whens-page-hidden.json +112 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-cop-airpax.json +26407 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-cop-mandec.json +9404 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-collection-component-dependent-on-external-data.json +157 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-collection-component.json +85 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-referring-to-collection.json +172 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-referring-to-hidden-collection.json +201 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component-with-nested-questions.json +111 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-component.json +57 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-containerised-component.json +96 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-embedded-collection-component.json +82 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-embedded-component.json +54 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-multilevel-containerised-component-leaf-hidden.json +105 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-multilevel-containerised-component.json +105 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-options.json +98 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page-collection.json +127 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page-component-used-elsewhere.json +108 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-hidden-page.json +95 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/forms/form-nested-answers-hidden-by-option.json +111 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-airpax-remove-photos-before.json +384 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-mandec-remove-business-interests-before.json +140 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/cop-mandec-remove-criminality-before.json +186 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-containerised.json +11 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-dependent-component-nested-block.json +10 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-dependent-component-nested.json +9 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-refdata.json +11 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-target-component-nested.json +9 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-component-show-whens.json +9 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-chained-show-whens-page-hidden.json +9 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-collection-component-dependent-on-external-data.json +26 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-collection-component.json +15 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-referring-to-collection.json +25 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-referring-to-hidden-collection.json +26 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component-with-nested-questions.json +12 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-component.json +5 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-containerised-component.json +11 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-embedded-collection-component.json +15 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-embedded-component.json +5 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-multilevel-containerised-component-leaf-hidden.json +14 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-multilevel-containerised-component.json +14 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-options.json +10 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page-collection.json +18 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page-component-used-elsewhere.json +9 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-hidden-page.json +9 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/input/data-nested-answers-hidden-by-option.json +12 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-airpax-remove-photos-after.json +355 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-base-file.json +80 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-remove-business-interests-after.json +122 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/cop-mandec-remove-criminality-after.json +86 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-containerised-removed.json +11 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-dependent-component-nested-block-removed.json +7 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-dependent-component-nested-removed.json +7 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-refdata-removed.json +7 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-removed.json +7 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-target-component-nested-removed.json +6 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-chained-show-whens-page-hidden-removed.json +6 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-collection-component-dependent-on-external-data-removed.json +23 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-collection-component-removed.json +4 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-referring-to-collection-removed.json +21 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-referring-to-hidden-collection-removed.json +6 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-removed.json +4 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-component-with-nested-questions-removed.json +10 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-containerised-component-removed.json +10 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-embedded-collection-component-removed.json +4 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-embedded-component-removed.json +4 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-multilevel-containerised-component-leaf-hidden-removed.json +13 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-multilevel-containerised-component-removed.json +10 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-options-removed.json +8 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-collection-removed.json +15 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-component-used-elsewhere-removed.json +5 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-hidden-page-removed.json +4 -0
- package/dist/components/FormRenderer/clear-uncompleted-routes/test-data/output/data-nested-answers-hidden-by-option-removed.json +11 -0
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.js +346 -0
- package/dist/components/FormRenderer/helpers/clearOutUncompletedRoutes.test.js +298 -0
- package/dist/components/FormRenderer/helpers/deleteNodeByPath.js +26 -0
- package/dist/components/FormRenderer/helpers/deleteNodeByPath.test.js +56 -0
- package/dist/components/FormRenderer/helpers/index.js +3 -1
- package/dist/components/FormRenderer/onPageAction.js +7 -0
- package/dist/components/FormRenderer/onPageAction.test.js +5 -0
- package/dist/utils/CollectionPage/mergeCollectionPages.js +1 -0
- package/dist/utils/Component/getDefaultValueFromConfig.js +1 -2
- package/dist/utils/Condition/meetsCondition.js +12 -26
- package/dist/utils/Condition/meetsCondition.test.js +0 -21
- package/dist/utils/Data/getAutocompleteSource.js +51 -68
- package/dist/utils/Data/getAutocompleteSource.test.js +18 -31
- package/package.json +2 -2
- package/dist/utils/Validate/validateOnPageLoad.js +0 -23
- package/dist/utils/Validate/validateOnPageLoad.test.js +0 -88
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _index = _interopRequireDefault(require("./index"));
|
|
4
|
+
var _formHiddenComponent = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/forms/form-hidden-component.json"));
|
|
5
|
+
var _dataHiddenComponent = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/input/data-hidden-component.json"));
|
|
6
|
+
var _dataHiddenComponentRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/output/data-hidden-component-removed.json"));
|
|
7
|
+
var _formHiddenEmbeddedComponent = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/forms/form-hidden-embedded-component.json"));
|
|
8
|
+
var _dataHiddenEmbeddedComponent = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/input/data-hidden-embedded-component.json"));
|
|
9
|
+
var _dataHiddenEmbeddedComponentRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/output/data-hidden-embedded-component-removed.json"));
|
|
10
|
+
var _formHiddenCollectionComponent = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/forms/form-hidden-collection-component.json"));
|
|
11
|
+
var _dataHiddenCollectionComponent = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/input/data-hidden-collection-component.json"));
|
|
12
|
+
var _dataHiddenCollectionComponentRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/output/data-hidden-collection-component-removed.json"));
|
|
13
|
+
var _formHiddenEmbeddedCollectionComponent = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/forms/form-hidden-embedded-collection-component.json"));
|
|
14
|
+
var _dataHiddenEmbeddedCollectionComponent = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/input/data-hidden-embedded-collection-component.json"));
|
|
15
|
+
var _dataHiddenEmbeddedCollectionComponentRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/output/data-hidden-embedded-collection-component-removed.json"));
|
|
16
|
+
var _formHiddenContainerisedComponent = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/forms/form-hidden-containerised-component.json"));
|
|
17
|
+
var _dataHiddenContainerisedComponent = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/input/data-hidden-containerised-component.json"));
|
|
18
|
+
var _dataHiddenContainerisedComponentRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/output/data-hidden-containerised-component-removed.json"));
|
|
19
|
+
var _formHiddenMultilevelContainerisedComponent = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/forms/form-hidden-multilevel-containerised-component.json"));
|
|
20
|
+
var _dataHiddenMultilevelContainerisedComponent = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/input/data-hidden-multilevel-containerised-component.json"));
|
|
21
|
+
var _dataHiddenMultilevelContainerisedComponentRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/output/data-hidden-multilevel-containerised-component-removed.json"));
|
|
22
|
+
var _formHiddenMultilevelContainerisedComponentLeafHidden = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/forms/form-hidden-multilevel-containerised-component-leaf-hidden.json"));
|
|
23
|
+
var _dataHiddenMultilevelContainerisedComponentLeafHidden = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/input/data-hidden-multilevel-containerised-component-leaf-hidden.json"));
|
|
24
|
+
var _dataHiddenMultilevelContainerisedComponentLeafHiddenRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/output/data-hidden-multilevel-containerised-component-leaf-hidden-removed.json"));
|
|
25
|
+
var _formHiddenOptions = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/forms/form-hidden-options.json"));
|
|
26
|
+
var _dataHiddenOptions = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/input/data-hidden-options.json"));
|
|
27
|
+
var _dataHiddenOptionsRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/output/data-hidden-options-removed.json"));
|
|
28
|
+
var _formHiddenComponentWithNestedQuestions = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/forms/form-hidden-component-with-nested-questions.json"));
|
|
29
|
+
var _dataHiddenComponentWithNestedQuestions = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/input/data-hidden-component-with-nested-questions.json"));
|
|
30
|
+
var _dataHiddenComponentWithNestedQuestionsRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/output/data-hidden-component-with-nested-questions-removed.json"));
|
|
31
|
+
var _formNestedAnswersHiddenByOption = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/forms/form-nested-answers-hidden-by-option.json"));
|
|
32
|
+
var _dataNestedAnswersHiddenByOption = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/input/data-nested-answers-hidden-by-option.json"));
|
|
33
|
+
var _dataNestedAnswersHiddenByOptionRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/output/data-nested-answers-hidden-by-option-removed.json"));
|
|
34
|
+
var _formHiddenPage = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/forms/form-hidden-page.json"));
|
|
35
|
+
var _dataHiddenPage = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/input/data-hidden-page.json"));
|
|
36
|
+
var _dataHiddenPageRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/output/data-hidden-page-removed.json"));
|
|
37
|
+
var _formHiddenPageComponentUsedElsewhere = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/forms/form-hidden-page-component-used-elsewhere.json"));
|
|
38
|
+
var _dataHiddenPageComponentUsedElsewhere = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/input/data-hidden-page-component-used-elsewhere.json"));
|
|
39
|
+
var _dataHiddenPageComponentUsedElsewhereRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/output/data-hidden-page-component-used-elsewhere-removed.json"));
|
|
40
|
+
var _formHiddenComponentReferringToCollection = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/forms/form-hidden-component-referring-to-collection.json"));
|
|
41
|
+
var _dataHiddenComponentReferringToCollection = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/input/data-hidden-component-referring-to-collection.json"));
|
|
42
|
+
var _dataHiddenComponentReferringToCollectionRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/output/data-hidden-component-referring-to-collection-removed.json"));
|
|
43
|
+
var _formHiddenComponentReferringToHiddenCollection = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/forms/form-hidden-component-referring-to-hidden-collection.json"));
|
|
44
|
+
var _dataHiddenComponentReferringToHiddenCollection = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/input/data-hidden-component-referring-to-hidden-collection.json"));
|
|
45
|
+
var _formChainedComponentShowWhens = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens.json"));
|
|
46
|
+
var _dataChainedComponentShowWhens = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/input/data-chained-component-show-whens.json"));
|
|
47
|
+
var _dataChainedComponentShowWhensRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-removed.json"));
|
|
48
|
+
var _formChainedComponentShowWhensRefdata = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-refdata.json"));
|
|
49
|
+
var _dataChainedComponentShowWhensRefdata = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-refdata.json"));
|
|
50
|
+
var _dataChainedComponentShowWhensRefdataRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-refdata-removed.json"));
|
|
51
|
+
var _formChainedComponentShowWhensContainerised = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-containerised.json"));
|
|
52
|
+
var _dataChainedComponentShowWhensContainerised = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-containerised.json"));
|
|
53
|
+
var _dataChainedComponentShowWhensContainerisedRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-containerised-removed.json"));
|
|
54
|
+
var _formChainedShowWhensPageHidden = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/forms/form-chained-show-whens-page-hidden.json"));
|
|
55
|
+
var _dataChainedShowWhensPageHidden = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/input/data-chained-show-whens-page-hidden.json"));
|
|
56
|
+
var _dataChainedShowWhensPageHiddenRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/output/data-chained-show-whens-page-hidden-removed.json"));
|
|
57
|
+
var _formChainedComponentShowWhensDependentComponentNested = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-dependent-component-nested.json"));
|
|
58
|
+
var _dataChainedComponentShowWhensDependentComponentNested = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-dependent-component-nested.json"));
|
|
59
|
+
var _dataChainedComponentShowWhensDependentComponentNestedRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-dependent-component-nested-removed.json"));
|
|
60
|
+
var _formChainedComponentShowWhensDependentComponentNestedBlock = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-dependent-component-nested-block.json"));
|
|
61
|
+
var _dataChainedComponentShowWhensDependentComponentNestedBlock = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-dependent-component-nested-block.json"));
|
|
62
|
+
var _dataChainedComponentShowWhensDependentComponentNestedBlockRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-dependent-component-nested-block-removed.json"));
|
|
63
|
+
var _formChainedComponentShowWhensTargetComponentNested = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/forms/form-chained-component-show-whens-target-component-nested.json"));
|
|
64
|
+
var _dataChainedComponentShowWhensTargetComponentNested = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/input/data-chained-component-show-whens-target-component-nested.json"));
|
|
65
|
+
var _dataChainedComponentShowWhensTargetComponentNestedRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/output/data-chained-component-show-whens-target-component-nested-removed.json"));
|
|
66
|
+
var _formHiddenPageCollection = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/forms/form-hidden-page-collection.json"));
|
|
67
|
+
var _dataHiddenPageCollection = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/input/data-hidden-page-collection.json"));
|
|
68
|
+
var _dataHiddenPageCollectionRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/output/data-hidden-page-collection-removed.json"));
|
|
69
|
+
var _formHiddenCollectionComponentDependentOnExternalData = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/forms/form-hidden-collection-component-dependent-on-external-data.json"));
|
|
70
|
+
var _dataHiddenCollectionComponentDependentOnExternalData = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/input/data-hidden-collection-component-dependent-on-external-data.json"));
|
|
71
|
+
var _dataHiddenCollectionComponentDependentOnExternalDataRemoved = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/output/data-hidden-collection-component-dependent-on-external-data-removed.json"));
|
|
72
|
+
var _formCopMandec = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/forms/form-cop-mandec.json"));
|
|
73
|
+
var _copMandecRemoveBusinessInterestsBefore = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/input/cop-mandec-remove-business-interests-before.json"));
|
|
74
|
+
var _copMandecRemoveBusinessInterestsAfter = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/output/cop-mandec-remove-business-interests-after.json"));
|
|
75
|
+
var _copMandecRemoveCriminalityBefore = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/input/cop-mandec-remove-criminality-before.json"));
|
|
76
|
+
var _copMandecRemoveCriminalityAfter = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/output/cop-mandec-remove-criminality-after.json"));
|
|
77
|
+
var _formCopAirpax = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/forms/form-cop-airpax.json"));
|
|
78
|
+
var _copAirpaxRemovePhotosBefore = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/input/cop-airpax-remove-photos-before.json"));
|
|
79
|
+
var _copAirpaxRemovePhotosAfter = _interopRequireDefault(require("../clear-uncompleted-routes/test-data/output/cop-airpax-remove-photos-after.json"));
|
|
80
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
81
|
+
// Hidden component
|
|
82
|
+
|
|
83
|
+
// Hidden embedded component
|
|
84
|
+
|
|
85
|
+
// Hidden collection component
|
|
86
|
+
|
|
87
|
+
// Hidden embedded collection component
|
|
88
|
+
|
|
89
|
+
// Hidden containerised component (containerised means components within a Container component)
|
|
90
|
+
|
|
91
|
+
// Hidden containerised multi-level component
|
|
92
|
+
|
|
93
|
+
// Hidden containerised multi-level component with only leaf level hidden
|
|
94
|
+
|
|
95
|
+
// Options inside a hidden component
|
|
96
|
+
|
|
97
|
+
// Nested questions within options inside a hidden component
|
|
98
|
+
|
|
99
|
+
// Nested options inside a visible component, but answers don't align with option selected
|
|
100
|
+
|
|
101
|
+
// Hidden page
|
|
102
|
+
|
|
103
|
+
// Hidden page with component used elsewhere
|
|
104
|
+
|
|
105
|
+
// Hidden component with show_when rule referring to a collection
|
|
106
|
+
|
|
107
|
+
// Hidden component with show_when rule referring to a hidden collection
|
|
108
|
+
|
|
109
|
+
// Chained component show_whens
|
|
110
|
+
|
|
111
|
+
// chained show_whens when top level dependency is field within refdata object
|
|
112
|
+
|
|
113
|
+
// Chained component show_whens with containerised components (producing a segmented path)
|
|
114
|
+
|
|
115
|
+
// Chained show_whens with leaf component hidden by page
|
|
116
|
+
|
|
117
|
+
// Chained component show_whens when dependent component is nested and hidden
|
|
118
|
+
|
|
119
|
+
// Chained component show_whens when dependent component is a nested block and hidden
|
|
120
|
+
|
|
121
|
+
// Chained component show_whens when target component is nested
|
|
122
|
+
|
|
123
|
+
// Hidden page collection
|
|
124
|
+
|
|
125
|
+
// Hidden collection component, dependent on data external to and internal to collection payload
|
|
126
|
+
|
|
127
|
+
// Mandec business interests
|
|
128
|
+
|
|
129
|
+
// Mandec criminality
|
|
130
|
+
|
|
131
|
+
// Airpax photos
|
|
132
|
+
|
|
133
|
+
describe('FormRenderer', () => {
|
|
134
|
+
describe('helpers', () => {
|
|
135
|
+
describe('clearOutUncompletedRoutes', () => {
|
|
136
|
+
it('should remove hidden component', () => {
|
|
137
|
+
const submissionData = JSON.parse(JSON.stringify(_dataHiddenComponent.default));
|
|
138
|
+
const form = JSON.parse(JSON.stringify(_formHiddenComponent.default));
|
|
139
|
+
const result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
140
|
+
expect(result).toEqual(_dataHiddenComponentRemoved.default);
|
|
141
|
+
});
|
|
142
|
+
it('should remove hidden component embedded in page', () => {
|
|
143
|
+
const submissionData = JSON.parse(JSON.stringify(_dataHiddenEmbeddedComponent.default));
|
|
144
|
+
const form = JSON.parse(JSON.stringify(_formHiddenEmbeddedComponent.default));
|
|
145
|
+
const result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
146
|
+
expect(result).toEqual(_dataHiddenEmbeddedComponentRemoved.default);
|
|
147
|
+
});
|
|
148
|
+
it('should remove hidden collection component', () => {
|
|
149
|
+
const submissionData = JSON.parse(JSON.stringify(_dataHiddenCollectionComponent.default));
|
|
150
|
+
const form = JSON.parse(JSON.stringify(_formHiddenCollectionComponent.default));
|
|
151
|
+
const result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
152
|
+
expect(result).toEqual(_dataHiddenCollectionComponentRemoved.default);
|
|
153
|
+
});
|
|
154
|
+
it('should remove hidden embedded collection component', () => {
|
|
155
|
+
const submissionData = JSON.parse(JSON.stringify(_dataHiddenEmbeddedCollectionComponent.default));
|
|
156
|
+
const form = JSON.parse(JSON.stringify(_formHiddenEmbeddedCollectionComponent.default));
|
|
157
|
+
const result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
158
|
+
expect(result).toEqual(_dataHiddenEmbeddedCollectionComponentRemoved.default);
|
|
159
|
+
});
|
|
160
|
+
it('should remove hidden containerised component', () => {
|
|
161
|
+
const submissionData = JSON.parse(JSON.stringify(_dataHiddenContainerisedComponent.default));
|
|
162
|
+
const form = JSON.parse(JSON.stringify(_formHiddenContainerisedComponent.default));
|
|
163
|
+
const result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
164
|
+
expect(result).toEqual(_dataHiddenContainerisedComponentRemoved.default);
|
|
165
|
+
});
|
|
166
|
+
it('should remove hidden multi-level containerised components', () => {
|
|
167
|
+
const submissionData = JSON.parse(JSON.stringify(_dataHiddenMultilevelContainerisedComponent.default));
|
|
168
|
+
const form = JSON.parse(JSON.stringify(_formHiddenMultilevelContainerisedComponent.default));
|
|
169
|
+
const result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
170
|
+
expect(result).toEqual(_dataHiddenMultilevelContainerisedComponentRemoved.default);
|
|
171
|
+
});
|
|
172
|
+
it('should remove hidden leaf-level in a multi-level containerised component', () => {
|
|
173
|
+
const submissionData = JSON.parse(JSON.stringify(_dataHiddenMultilevelContainerisedComponentLeafHidden.default));
|
|
174
|
+
const form = JSON.parse(JSON.stringify(_formHiddenMultilevelContainerisedComponentLeafHidden.default));
|
|
175
|
+
const result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
176
|
+
expect(result).toEqual(_dataHiddenMultilevelContainerisedComponentLeafHiddenRemoved.default);
|
|
177
|
+
});
|
|
178
|
+
it('should remove hidden component with options', () => {
|
|
179
|
+
const submissionData = JSON.parse(JSON.stringify(_dataHiddenOptions.default));
|
|
180
|
+
const form = JSON.parse(JSON.stringify(_formHiddenOptions.default));
|
|
181
|
+
const result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
182
|
+
expect(result).toEqual(_dataHiddenOptionsRemoved.default);
|
|
183
|
+
});
|
|
184
|
+
it('should remove hidden component with nested questions in options', () => {
|
|
185
|
+
const submissionData = JSON.parse(JSON.stringify(_dataHiddenComponentWithNestedQuestions.default));
|
|
186
|
+
const form = JSON.parse(JSON.stringify(_formHiddenComponentWithNestedQuestions.default));
|
|
187
|
+
const result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
188
|
+
expect(result).toEqual(_dataHiddenComponentWithNestedQuestionsRemoved.default);
|
|
189
|
+
});
|
|
190
|
+
it('should remove answers associated with unselected options in a containerised component', () => {
|
|
191
|
+
const submissionData = JSON.parse(JSON.stringify(_dataNestedAnswersHiddenByOption.default));
|
|
192
|
+
const form = JSON.parse(JSON.stringify(_formNestedAnswersHiddenByOption.default));
|
|
193
|
+
const result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
194
|
+
expect(result).toEqual(_dataNestedAnswersHiddenByOptionRemoved.default);
|
|
195
|
+
});
|
|
196
|
+
it('should remove hidden page', () => {
|
|
197
|
+
const submissionData = JSON.parse(JSON.stringify(_dataHiddenPage.default));
|
|
198
|
+
const form = JSON.parse(JSON.stringify(_formHiddenPage.default));
|
|
199
|
+
const result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
200
|
+
expect(result).toEqual(_dataHiddenPageRemoved.default);
|
|
201
|
+
});
|
|
202
|
+
it('should remove a hidden collection on a page', () => {
|
|
203
|
+
const submissionData = JSON.parse(JSON.stringify(_dataHiddenPageCollection.default));
|
|
204
|
+
const form = JSON.parse(JSON.stringify(_formHiddenPageCollection.default));
|
|
205
|
+
const result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
206
|
+
expect(result).toEqual(_dataHiddenPageCollectionRemoved.default);
|
|
207
|
+
});
|
|
208
|
+
it('hidden component with show_when rule referring to a collection', () => {
|
|
209
|
+
const submissionData = JSON.parse(JSON.stringify(_dataHiddenComponentReferringToCollection.default));
|
|
210
|
+
const form = JSON.parse(JSON.stringify(_formHiddenComponentReferringToCollection.default));
|
|
211
|
+
const result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
212
|
+
expect(result).toEqual(_dataHiddenComponentReferringToCollectionRemoved.default);
|
|
213
|
+
});
|
|
214
|
+
it('hidden component with show_when rule referring to a hidden collection', () => {
|
|
215
|
+
const submissionData = JSON.parse(JSON.stringify(_dataHiddenComponentReferringToHiddenCollection.default));
|
|
216
|
+
const form = JSON.parse(JSON.stringify(_formHiddenComponentReferringToHiddenCollection.default));
|
|
217
|
+
try {
|
|
218
|
+
_index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
219
|
+
throw new Error('Expected myFunction to throw an error, but it did not');
|
|
220
|
+
} catch (error) {
|
|
221
|
+
expect(error.message).toContain('It is not possible to reliably clean hidden data when a component is dependent');
|
|
222
|
+
}
|
|
223
|
+
});
|
|
224
|
+
it('should remove hidden collection components whether they are dependent on data inside or outside the collection', () => {
|
|
225
|
+
const submissionData = JSON.parse(JSON.stringify(_dataHiddenCollectionComponentDependentOnExternalData.default));
|
|
226
|
+
const form = JSON.parse(JSON.stringify(_formHiddenCollectionComponentDependentOnExternalData.default));
|
|
227
|
+
const result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
228
|
+
expect(result).toEqual(_dataHiddenCollectionComponentDependentOnExternalDataRemoved.default);
|
|
229
|
+
});
|
|
230
|
+
it('should not remove component on hidden page if component used elsewhere', () => {
|
|
231
|
+
const submissionData = JSON.parse(JSON.stringify(_dataHiddenPageComponentUsedElsewhere.default));
|
|
232
|
+
const form = JSON.parse(JSON.stringify(_formHiddenPageComponentUsedElsewhere.default));
|
|
233
|
+
const result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
234
|
+
expect(result).toEqual(_dataHiddenPageComponentUsedElsewhereRemoved.default);
|
|
235
|
+
});
|
|
236
|
+
it('chained show_whens should be resolved from the end of the chain backup to the start', () => {
|
|
237
|
+
const submissionData = JSON.parse(JSON.stringify(_dataChainedComponentShowWhens.default));
|
|
238
|
+
const form = JSON.parse(JSON.stringify(_formChainedComponentShowWhens.default));
|
|
239
|
+
const result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
240
|
+
expect(result).toEqual(_dataChainedComponentShowWhensRemoved.default);
|
|
241
|
+
});
|
|
242
|
+
it('chained show_whens when top level dependency is field within refdata object', () => {
|
|
243
|
+
const submissionData = JSON.parse(JSON.stringify(_dataChainedComponentShowWhensRefdata.default));
|
|
244
|
+
const form = JSON.parse(JSON.stringify(_formChainedComponentShowWhensRefdata.default));
|
|
245
|
+
const result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
246
|
+
expect(result).toEqual(_dataChainedComponentShowWhensRefdataRemoved.default);
|
|
247
|
+
});
|
|
248
|
+
it('chained show_whens should be resolved from the end of the chain backup to the start, even if the target and dependent components are in containers thus having segmented paths', () => {
|
|
249
|
+
const submissionData = JSON.parse(JSON.stringify(_dataChainedComponentShowWhensContainerised.default));
|
|
250
|
+
const form = JSON.parse(JSON.stringify(_formChainedComponentShowWhensContainerised.default));
|
|
251
|
+
const result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
252
|
+
expect(result).toEqual(_dataChainedComponentShowWhensContainerisedRemoved.default);
|
|
253
|
+
});
|
|
254
|
+
it('chained show_whens when the component at the end of the chain is hidden indirectly via page show_when', () => {
|
|
255
|
+
const submissionData = JSON.parse(JSON.stringify(_dataChainedShowWhensPageHidden.default));
|
|
256
|
+
const form = JSON.parse(JSON.stringify(_formChainedShowWhensPageHidden.default));
|
|
257
|
+
const result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
258
|
+
expect(result).toEqual(_dataChainedShowWhensPageHiddenRemoved.default);
|
|
259
|
+
});
|
|
260
|
+
it('chained show_whens when the dependent component is nested single question', () => {
|
|
261
|
+
const submissionData = JSON.parse(JSON.stringify(_dataChainedComponentShowWhensDependentComponentNested.default));
|
|
262
|
+
const form = JSON.parse(JSON.stringify(_formChainedComponentShowWhensDependentComponentNested.default));
|
|
263
|
+
const result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
264
|
+
expect(result).toEqual(_dataChainedComponentShowWhensDependentComponentNestedRemoved.default);
|
|
265
|
+
});
|
|
266
|
+
it('chained show_whens when the target component is nested', () => {
|
|
267
|
+
const submissionData = JSON.parse(JSON.stringify(_dataChainedComponentShowWhensTargetComponentNested.default));
|
|
268
|
+
const form = JSON.parse(JSON.stringify(_formChainedComponentShowWhensTargetComponentNested.default));
|
|
269
|
+
const result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
270
|
+
expect(result).toEqual(_dataChainedComponentShowWhensTargetComponentNestedRemoved.default);
|
|
271
|
+
});
|
|
272
|
+
it('chained show_whens when the dependent component is nested entire block', () => {
|
|
273
|
+
const submissionData = JSON.parse(JSON.stringify(_dataChainedComponentShowWhensDependentComponentNestedBlock.default));
|
|
274
|
+
const form = JSON.parse(JSON.stringify(_formChainedComponentShowWhensDependentComponentNestedBlock.default));
|
|
275
|
+
const result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
276
|
+
expect(result).toEqual(_dataChainedComponentShowWhensDependentComponentNestedBlockRemoved.default);
|
|
277
|
+
});
|
|
278
|
+
it('business interests removed from mandec', () => {
|
|
279
|
+
const submissionData = JSON.parse(JSON.stringify(_copMandecRemoveBusinessInterestsBefore.default));
|
|
280
|
+
const form = JSON.parse(JSON.stringify(_formCopMandec.default));
|
|
281
|
+
const result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
282
|
+
expect(result).toEqual(_copMandecRemoveBusinessInterestsAfter.default);
|
|
283
|
+
});
|
|
284
|
+
it('criminality removed from mandec', () => {
|
|
285
|
+
const submissionData = JSON.parse(JSON.stringify(_copMandecRemoveCriminalityBefore.default));
|
|
286
|
+
const form = JSON.parse(JSON.stringify(_formCopMandec.default));
|
|
287
|
+
const result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
288
|
+
expect(result).toEqual(_copMandecRemoveCriminalityAfter.default);
|
|
289
|
+
});
|
|
290
|
+
it('photos removed from airpax', () => {
|
|
291
|
+
const submissionData = JSON.parse(JSON.stringify(_copAirpaxRemovePhotosBefore.default));
|
|
292
|
+
const form = JSON.parse(JSON.stringify(_formCopAirpax.default));
|
|
293
|
+
const result = _index.default.clearOutUncompletedRoutes(form, submissionData);
|
|
294
|
+
expect(result).toEqual(_copAirpaxRemovePhotosAfter.default);
|
|
295
|
+
});
|
|
296
|
+
});
|
|
297
|
+
});
|
|
298
|
+
});
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
/* eslint-disable consistent-return */
|
|
8
|
+
const deleteNodeByPath = (obj, path) => {
|
|
9
|
+
if (Array.isArray(obj)) {
|
|
10
|
+
// If obj is an array, recursively call deleteNodeByPath on each element
|
|
11
|
+
for (let i = 0; i < obj.length; i += 1) {
|
|
12
|
+
deleteNodeByPath(obj[i], path);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
const keys = path.split('.');
|
|
16
|
+
let current = obj;
|
|
17
|
+
for (let i = 0; i < keys.length - 1; i += 1) {
|
|
18
|
+
current = current[keys[i]];
|
|
19
|
+
if (current === undefined) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
delete current[keys[keys.length - 1]];
|
|
24
|
+
return obj;
|
|
25
|
+
};
|
|
26
|
+
var _default = exports.default = deleteNodeByPath;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _deleteNodeByPath = _interopRequireDefault(require("./deleteNodeByPath"));
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
5
|
+
describe('Delete node based on path', () => {
|
|
6
|
+
it('delete where node is at parent level', () => {
|
|
7
|
+
const nested = {
|
|
8
|
+
type: "Example form",
|
|
9
|
+
alpha: "alpha",
|
|
10
|
+
bravo: "bravo",
|
|
11
|
+
person: {
|
|
12
|
+
charlie: "Smith",
|
|
13
|
+
delta: "Acme Inc"
|
|
14
|
+
},
|
|
15
|
+
gamma: "gamma",
|
|
16
|
+
epsilon: "epsilon"
|
|
17
|
+
};
|
|
18
|
+
const path = 'type';
|
|
19
|
+
const result = (0, _deleteNodeByPath.default)(nested, path);
|
|
20
|
+
expect(result).toEqual({
|
|
21
|
+
alpha: "alpha",
|
|
22
|
+
bravo: "bravo",
|
|
23
|
+
person: {
|
|
24
|
+
charlie: "Smith",
|
|
25
|
+
delta: "Acme Inc"
|
|
26
|
+
},
|
|
27
|
+
gamma: "gamma",
|
|
28
|
+
epsilon: "epsilon"
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
it('delete where node is at child level', () => {
|
|
32
|
+
const nested = {
|
|
33
|
+
type: "Example form",
|
|
34
|
+
alpha: "alpha",
|
|
35
|
+
bravo: "bravo",
|
|
36
|
+
person: {
|
|
37
|
+
charlie: "Smith",
|
|
38
|
+
delta: "Acme Inc"
|
|
39
|
+
},
|
|
40
|
+
gamma: "gamma",
|
|
41
|
+
epsilon: "epsilon"
|
|
42
|
+
};
|
|
43
|
+
const path = 'person.charlie';
|
|
44
|
+
const result = (0, _deleteNodeByPath.default)(nested, path);
|
|
45
|
+
expect(result).toEqual({
|
|
46
|
+
type: "Example form",
|
|
47
|
+
alpha: "alpha",
|
|
48
|
+
bravo: "bravo",
|
|
49
|
+
person: {
|
|
50
|
+
delta: "Acme Inc"
|
|
51
|
+
},
|
|
52
|
+
gamma: "gamma",
|
|
53
|
+
epsilon: "epsilon"
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
});
|
|
@@ -13,6 +13,7 @@ var _getNextPageId = _interopRequireDefault(require("./getNextPageId"));
|
|
|
13
13
|
var _getPage = _interopRequireDefault(require("./getPage"));
|
|
14
14
|
var _getSubmissionStatus = _interopRequireDefault(require("./getSubmissionStatus"));
|
|
15
15
|
var _getUpdatedSectionStates = _interopRequireDefault(require("./getUpdatedSectionStates"));
|
|
16
|
+
var _clearOutUncompletedRoutes = _interopRequireDefault(require("./clearOutUncompletedRoutes"));
|
|
16
17
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
18
|
// Local imports
|
|
18
19
|
|
|
@@ -25,6 +26,7 @@ const helpers = {
|
|
|
25
26
|
getNextPageId: _getNextPageId.default,
|
|
26
27
|
getPage: _getPage.default,
|
|
27
28
|
getSubmissionStatus: _getSubmissionStatus.default,
|
|
28
|
-
getUpdatedSectionStates: _getUpdatedSectionStates.default
|
|
29
|
+
getUpdatedSectionStates: _getUpdatedSectionStates.default,
|
|
30
|
+
clearOutUncompletedRoutes: _clearOutUncompletedRoutes.default
|
|
29
31
|
};
|
|
30
32
|
var _default = exports.default = helpers;
|
|
@@ -107,6 +107,13 @@ const onPageAction = (action, patch, patchLabel, hooks, data, formState, validat
|
|
|
107
107
|
setData(submissionData);
|
|
108
108
|
}
|
|
109
109
|
;
|
|
110
|
+
const formPagesAndComponents = {
|
|
111
|
+
pages,
|
|
112
|
+
components
|
|
113
|
+
};
|
|
114
|
+
if (action.type === _models.PageAction.TYPES.SUBMIT) {
|
|
115
|
+
_helpers.default.clearOutUncompletedRoutes(formPagesAndComponents, submissionData);
|
|
116
|
+
}
|
|
110
117
|
|
|
111
118
|
// In case of hub-and-spoke if patchLabel has changed then
|
|
112
119
|
// save name and value to variables for call to onSubmit hook
|
|
@@ -46,6 +46,11 @@ jest.mock('./helpers', () => ({
|
|
|
46
46
|
this.cleanHiddenNestedDataCalls += 1;
|
|
47
47
|
return patch;
|
|
48
48
|
},
|
|
49
|
+
clearOutUncompletedRoutesCalls: 0,
|
|
50
|
+
clearOutUncompletedRoutes(formPagesAndComponents, formData) {
|
|
51
|
+
this.clearOutUncompletedRoutesCalls += 1;
|
|
52
|
+
return formData;
|
|
53
|
+
},
|
|
49
54
|
getNextPageIdCalls: 0,
|
|
50
55
|
getNextPageId() {
|
|
51
56
|
this.getNextPageIdCalls += 1;
|
|
@@ -75,8 +75,7 @@ const setupDefaultObjectValue = (defaultObject, data) => {
|
|
|
75
75
|
// defaultObject.sourced is an object with values that should
|
|
76
76
|
// be used as field names to get values from data.
|
|
77
77
|
if (defaultObj.sourced) {
|
|
78
|
-
|
|
79
|
-
result = (_result = result) !== null && _result !== void 0 ? _result : {};
|
|
78
|
+
result = result !== null && result !== void 0 ? result : {};
|
|
80
79
|
Object.keys(defaultObj.sourced).every(key => {
|
|
81
80
|
const sourcedValue = typeof defaultObj.sourced[key] === 'string' && (0, _getSourceData.default)(data, defaultObj.sourced[key]);
|
|
82
81
|
if (sourcedValue === undefined && defaultObj.skipIfSourceInvalid) {
|
|
@@ -20,26 +20,6 @@ const getComparisonValue = (condition, data) => {
|
|
|
20
20
|
return condition.value;
|
|
21
21
|
};
|
|
22
22
|
|
|
23
|
-
/**
|
|
24
|
-
* Processes a value based on its type.
|
|
25
|
-
* - If it's an array, returns its length.
|
|
26
|
-
* - If it's a string, parses it as a float.
|
|
27
|
-
* - If it's a number, returns it as is.
|
|
28
|
-
* - Returns `undefined` for other types.
|
|
29
|
-
*
|
|
30
|
-
* @param {any} value - The value to process.
|
|
31
|
-
* @returns {number | undefined} - The processed value or `undefined` if not applicable.
|
|
32
|
-
*/
|
|
33
|
-
const getProcessedValue = obj => {
|
|
34
|
-
if (Array.isArray(obj)) return obj.length;
|
|
35
|
-
if (typeof obj === "string") {
|
|
36
|
-
const cleaned = obj.replace(/,/g, ''); // Remove all commas
|
|
37
|
-
return Number.isNaN(cleaned) ? null : parseFloat(cleaned);
|
|
38
|
-
}
|
|
39
|
-
if (typeof obj === "number") return obj;
|
|
40
|
-
return null;
|
|
41
|
-
};
|
|
42
|
-
|
|
43
23
|
/**
|
|
44
24
|
* Looks at a condition object to see if the supplied value meets it.
|
|
45
25
|
* The condition object contains an `op` property, along with a comparator
|
|
@@ -86,15 +66,21 @@ const meetsCondition = (condition, value, data) => {
|
|
|
86
66
|
}
|
|
87
67
|
case '<':
|
|
88
68
|
{
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
69
|
+
if (!value || !compare) {
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
const valFloat = parseFloat(value.replace(',', ''));
|
|
73
|
+
const compareFloat = parseFloat(compare.replace(',', ''));
|
|
74
|
+
return valFloat < compareFloat;
|
|
92
75
|
}
|
|
93
76
|
case '>':
|
|
94
77
|
{
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
78
|
+
if (!value || !compare) {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
const valFloat = parseFloat(value.replace(/,/g, ''));
|
|
82
|
+
const compareFloat = parseFloat(compare.replace(/,/g, ''));
|
|
83
|
+
return valFloat > compareFloat;
|
|
98
84
|
}
|
|
99
85
|
case 'contains':
|
|
100
86
|
{
|
|
@@ -551,27 +551,6 @@ describe('utils.Condition.meetsCondition', () => {
|
|
|
551
551
|
};
|
|
552
552
|
expect((0, _meetsCondition.default)(CONDITION, '10,000,000')).toBeTruthy();
|
|
553
553
|
});
|
|
554
|
-
it('greater than should handle value is 0', () => {
|
|
555
|
-
const CONDITION = {
|
|
556
|
-
op: '>',
|
|
557
|
-
value: 0
|
|
558
|
-
};
|
|
559
|
-
expect((0, _meetsCondition.default)(CONDITION, 1)).toBeTruthy();
|
|
560
|
-
});
|
|
561
|
-
it('greater than should handle compear is 0', () => {
|
|
562
|
-
const CONDITION = {
|
|
563
|
-
op: '<',
|
|
564
|
-
value: 1
|
|
565
|
-
};
|
|
566
|
-
expect((0, _meetsCondition.default)(CONDITION, 0)).toBeTruthy();
|
|
567
|
-
});
|
|
568
|
-
it('greater than should handle array is 0', () => {
|
|
569
|
-
const CONDITION = {
|
|
570
|
-
op: '>',
|
|
571
|
-
value: 1
|
|
572
|
-
};
|
|
573
|
-
expect((0, _meetsCondition.default)(CONDITION, ["A", "B", "C"])).toBeTruthy();
|
|
574
|
-
});
|
|
575
554
|
});
|
|
576
555
|
describe('operator includes', () => {
|
|
577
556
|
it('should accept a string that exists within the value', () => {
|