@ukhomeoffice/cop-react-form-renderer 5.14.2 → 5.14.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/CheckYourAnswers/Answer.js +15 -15
- package/dist/components/CheckYourAnswers/Answer.test.js +94 -128
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +99 -129
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +291 -501
- package/dist/components/CheckYourAnswers/index.js +2 -3
- package/dist/components/CollectionPage/CollectionPage.js +64 -58
- package/dist/components/CollectionPage/CollectionPage.test.js +212 -238
- package/dist/components/CollectionPage/index.js +2 -3
- package/dist/components/FormComponent/Collection.js +77 -113
- package/dist/components/FormComponent/Collection.test.js +688 -787
- package/dist/components/FormComponent/Container.js +44 -43
- package/dist/components/FormComponent/Container.test.js +316 -346
- package/dist/components/FormComponent/FormComponent.js +58 -64
- package/dist/components/FormComponent/FormComponent.test.js +180 -219
- package/dist/components/FormComponent/helpers/addLabel.js +5 -9
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +2 -3
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +8 -8
- package/dist/components/FormComponent/helpers/getComponentError.js +4 -7
- package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +2 -2
- 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 +2 -3
- package/dist/components/FormPage/FormPage.js +65 -79
- package/dist/components/FormPage/FormPage.test.js +134 -170
- package/dist/components/FormPage/index.js +2 -3
- package/dist/components/FormRenderer/FormRenderer.js +151 -193
- package/dist/components/FormRenderer/FormRenderer.test.js +598 -920
- package/dist/components/FormRenderer/handlers/cyaAction.js +4 -5
- package/dist/components/FormRenderer/handlers/getPageId.js +2 -5
- 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 +3 -4
- package/dist/components/FormRenderer/handlers/navigate.js +5 -6
- package/dist/components/FormRenderer/handlers/submissionError.js +2 -3
- package/dist/components/FormRenderer/helpers/canActionProceed.js +2 -3
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +10 -10
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +2 -5
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +17 -21
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +19 -27
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +17 -17
- package/dist/components/FormRenderer/helpers/getCYA.js +6 -9
- package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getFormState.js +7 -10
- package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getNextPageId.js +19 -34
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
- package/dist/components/FormRenderer/helpers/getPage.js +3 -6
- package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +9 -13
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +12 -13
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +98 -92
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +66 -66
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +72 -79
- package/dist/components/FormRenderer/helpers/index.js +3 -4
- package/dist/components/FormRenderer/index.js +2 -3
- package/dist/components/FormRenderer/onCYAAction.js +52 -62
- package/dist/components/FormRenderer/onCYAAction.test.js +146 -138
- package/dist/components/FormRenderer/onPageAction.js +48 -47
- package/dist/components/FormRenderer/onPageAction.test.js +219 -205
- package/dist/components/FormRenderer/onTaskAction.js +12 -17
- package/dist/components/FormRenderer/onTaskAction.test.js +94 -89
- package/dist/components/PageActions/ActionButton.js +15 -19
- package/dist/components/PageActions/ActionButton.test.js +58 -79
- package/dist/components/PageActions/PageActions.js +12 -13
- package/dist/components/PageActions/PageActions.test.js +88 -116
- package/dist/components/PageActions/index.js +2 -3
- package/dist/components/SummaryList/GroupAction.js +15 -23
- package/dist/components/SummaryList/GroupAction.test.js +41 -37
- package/dist/components/SummaryList/RowAction.js +14 -19
- package/dist/components/SummaryList/RowAction.test.js +41 -37
- package/dist/components/SummaryList/SummaryList.js +25 -30
- package/dist/components/SummaryList/SummaryList.test.js +160 -182
- package/dist/components/SummaryList/SummaryListHeadingRow.js +9 -8
- package/dist/components/SummaryList/SummaryListRow.js +9 -8
- package/dist/components/SummaryList/SummaryListTitleRow.js +8 -7
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +5 -8
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +24 -24
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +5 -8
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +24 -24
- package/dist/components/SummaryList/helpers/index.js +2 -2
- package/dist/components/SummaryList/index.js +2 -3
- package/dist/components/TaskList/Task.js +22 -33
- package/dist/components/TaskList/Task.test.js +84 -77
- package/dist/components/TaskList/TaskList.js +46 -75
- package/dist/components/TaskList/TaskList.test.js +118 -113
- package/dist/components/TaskList/TaskState.js +9 -9
- package/dist/components/TaskList/TaskState.test.js +56 -49
- package/dist/components/TaskList/index.js +2 -3
- package/dist/components/index.js +8 -8
- package/dist/context/HooksContext/HooksContext.js +59 -85
- package/dist/context/HooksContext/HooksContext.test.js +28 -36
- package/dist/context/HooksContext/index.js +4 -6
- package/dist/context/ValidationContext/ValidationContext.js +35 -76
- package/dist/context/ValidationContext/ValidationContext.test.js +50 -61
- package/dist/context/ValidationContext/index.js +4 -6
- package/dist/context/index.js +3 -3
- package/dist/hooks/index.js +10 -11
- package/dist/hooks/useAxios.js +17 -43
- package/dist/hooks/useGetRequest.js +61 -106
- package/dist/hooks/useHooks.js +2 -5
- package/dist/hooks/useRefData.js +29 -45
- package/dist/hooks/useValidation.js +2 -5
- package/dist/index.js +15 -17
- package/dist/models/CollectionLabels.js +2 -3
- package/dist/models/ComponentTypes.js +25 -26
- package/dist/models/EventTypes.js +5 -6
- package/dist/models/FormPages.js +5 -6
- package/dist/models/FormTypes.js +9 -10
- package/dist/models/HubFormats.js +4 -5
- package/dist/models/PageAction.js +45 -42
- package/dist/models/TaskStates.js +30 -31
- package/dist/models/index.js +11 -12
- package/dist/setupTests.js +20 -24
- package/dist/utils/CheckYourAnswers/getCYAAction.js +6 -7
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +18 -20
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +21 -23
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +17 -21
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +18 -20
- package/dist/utils/CheckYourAnswers/getCYARow.js +8 -10
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +72 -72
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +20 -27
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +41 -47
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +72 -75
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +71 -78
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +133 -114
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +27 -23
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +16 -23
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +77 -83
- package/dist/utils/CheckYourAnswers/index.js +3 -4
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +7 -9
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +25 -25
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +9 -16
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +19 -20
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +4 -8
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +15 -15
- package/dist/utils/CollectionPage/index.js +3 -4
- package/dist/utils/CollectionPage/mergeCollectionPages.js +26 -29
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +15 -15
- package/dist/utils/Component/addShowWhen.js +5 -10
- package/dist/utils/Component/addShowWhen.test.js +38 -38
- package/dist/utils/Component/applyToComponentTree.js +20 -22
- package/dist/utils/Component/applyToComponentTree.test.js +28 -33
- package/dist/utils/Component/cleanAttributes.js +11 -16
- package/dist/utils/Component/cleanAttributes.test.js +17 -18
- package/dist/utils/Component/elevateNestedComponents.js +7 -9
- package/dist/utils/Component/elevateNestedComponents.test.js +19 -19
- package/dist/utils/Component/getComponent.js +91 -99
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +51 -63
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +41 -49
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +33 -37
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +21 -19
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +19 -23
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +23 -27
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +12 -11
- 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 +24 -27
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +156 -175
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +19 -23
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +59 -73
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +19 -23
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +19 -23
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +35 -41
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +24 -32
- 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 +14 -14
- package/dist/utils/Component/index.js +3 -4
- package/dist/utils/Component/isEditable.js +3 -7
- package/dist/utils/Component/isEditable.test.js +14 -15
- package/dist/utils/Component/optionIsSelected.js +2 -3
- package/dist/utils/Component/optionIsSelected.test.js +10 -10
- package/dist/utils/Component/setupContainerComponentsPath.js +30 -33
- package/dist/utils/Component/setupContainerComponentsPath.test.js +16 -16
- package/dist/utils/Component/showComponent.js +4 -6
- package/dist/utils/Component/showComponent.test.js +29 -29
- package/dist/utils/Component/wrapInFormGroup.js +6 -6
- package/dist/utils/Condition/index.js +3 -4
- package/dist/utils/Condition/meetsAllConditions.js +9 -10
- package/dist/utils/Condition/meetsAllConditions.test.js +18 -18
- package/dist/utils/Condition/meetsCondition.js +19 -27
- package/dist/utils/Condition/meetsCondition.test.js +377 -377
- package/dist/utils/Condition/meetsOneCondition.js +7 -8
- package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
- package/dist/utils/Condition/setupConditions.js +15 -21
- package/dist/utils/Condition/setupConditions.test.js +8 -8
- package/dist/utils/Container/getEditableComponents.js +5 -8
- package/dist/utils/Container/getEditableComponents.test.js +44 -46
- package/dist/utils/Container/index.js +3 -4
- package/dist/utils/Container/setupNesting.js +17 -24
- package/dist/utils/Container/setupNesting.test.js +28 -31
- package/dist/utils/Container/showContainer.js +5 -10
- package/dist/utils/Container/showContainer.test.js +31 -31
- package/dist/utils/Data/applyFormula.js +41 -52
- package/dist/utils/Data/applyFormula.test.js +26 -26
- package/dist/utils/Data/getAutocompleteSource.js +11 -14
- package/dist/utils/Data/getAutocompleteSource.test.js +59 -59
- package/dist/utils/Data/getDataPath.js +21 -32
- package/dist/utils/Data/getDataPath.test.js +20 -20
- package/dist/utils/Data/getOptions.js +22 -28
- package/dist/utils/Data/getOptions.test.js +21 -21
- package/dist/utils/Data/getSourceData.js +7 -21
- package/dist/utils/Data/getSourceData.test.js +85 -81
- package/dist/utils/Data/index.js +3 -4
- package/dist/utils/Data/refDataToOptions.js +12 -17
- package/dist/utils/Data/refDataToOptions.test.js +20 -20
- package/dist/utils/Data/setDataItem.js +8 -10
- package/dist/utils/Data/setDataItem.test.js +38 -38
- package/dist/utils/Data/setupFormData.js +32 -48
- package/dist/utils/Data/setupFormData.test.js +99 -98
- package/dist/utils/Data/setupRefDataUrlForComponent.js +22 -30
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +28 -28
- package/dist/utils/FormPage/applyConditionalProperties.js +7 -12
- package/dist/utils/FormPage/applyConditionalProperties.test.js +16 -19
- package/dist/utils/FormPage/getFormPage.js +17 -19
- package/dist/utils/FormPage/getFormPage.test.js +49 -48
- package/dist/utils/FormPage/getFormPages.js +9 -15
- package/dist/utils/FormPage/getFormPages.test.js +22 -25
- package/dist/utils/FormPage/getPageActions.js +11 -19
- package/dist/utils/FormPage/getPageActions.test.js +33 -33
- package/dist/utils/FormPage/getParagraphFromText.js +6 -9
- package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
- package/dist/utils/FormPage/index.js +3 -4
- package/dist/utils/FormPage/showFormPage.js +5 -10
- package/dist/utils/FormPage/showFormPage.test.js +33 -33
- package/dist/utils/FormPage/showFormPageCYA.js +4 -5
- package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
- package/dist/utils/FormPage/useComponent.js +21 -29
- package/dist/utils/FormPage/useComponent.test.js +71 -73
- package/dist/utils/Format/formatData.js +2 -3
- package/dist/utils/Format/formatData.test.js +19 -19
- package/dist/utils/Format/formatDataForComponent.js +6 -9
- package/dist/utils/Format/formatDataForComponent.test.js +50 -78
- package/dist/utils/Format/formatDataForForm.js +7 -10
- package/dist/utils/Format/formatDataForForm.test.js +14 -17
- package/dist/utils/Format/formatDataForPage.js +4 -7
- package/dist/utils/Format/formatDataForPage.test.js +20 -25
- package/dist/utils/Format/index.js +3 -4
- package/dist/utils/Hub/getFormHub.js +3 -4
- package/dist/utils/Hub/getFormHub.test.js +29 -32
- package/dist/utils/Hub/index.js +3 -4
- package/dist/utils/Meta/constants.js +2 -4
- package/dist/utils/Meta/documents/getDocuments.js +2 -6
- package/dist/utils/Meta/documents/getDocuments.test.js +25 -17
- package/dist/utils/Meta/documents/index.js +3 -4
- package/dist/utils/Meta/documents/setDocumentsForField.js +16 -19
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +69 -35
- package/dist/utils/Meta/index.js +3 -4
- package/dist/utils/Operate/checkValueIsTruthy.js +5 -6
- package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
- package/dist/utils/Operate/getFirstOf.js +9 -10
- package/dist/utils/Operate/getFirstOf.test.js +33 -33
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +13 -14
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
- package/dist/utils/Operate/index.js +3 -4
- package/dist/utils/Operate/persistValueInFormData.js +7 -8
- package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
- package/dist/utils/Operate/runPageOperations.js +10 -11
- package/dist/utils/Operate/runPageOperations.test.js +36 -37
- package/dist/utils/Operate/setValueInFormData.js +6 -7
- package/dist/utils/Operate/setValueInFormData.test.js +17 -17
- package/dist/utils/Operate/shouldRun.js +9 -10
- package/dist/utils/Operate/shouldRun.test.js +22 -28
- package/dist/utils/Validate/additional/conditionallyRequired.js +5 -7
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
- package/dist/utils/Validate/additional/index.js +8 -9
- package/dist/utils/Validate/additional/index.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeAfter.js +4 -5
- package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
- package/dist/utils/Validate/additional/mustBeBefore.js +4 -5
- package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +8 -14
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +34 -38
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +3 -4
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +5 -6
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeInThePast.js +6 -7
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeLessThan.js +3 -4
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeLongerThan.js +2 -3
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +3 -4
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
- package/dist/utils/Validate/additional/mustBeShorterThan.js +2 -3
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +4 -7
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +15 -17
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +2 -3
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +4 -7
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
- package/dist/utils/Validate/additional/utils.js +9 -25
- package/dist/utils/Validate/index.js +3 -4
- package/dist/utils/Validate/validateCollection.js +22 -29
- package/dist/utils/Validate/validateCollection.test.js +85 -77
- package/dist/utils/Validate/validateComponent.js +19 -19
- package/dist/utils/Validate/validateComponent.test.js +169 -147
- package/dist/utils/Validate/validateContainer.js +16 -22
- package/dist/utils/Validate/validateContainer.test.js +52 -48
- package/dist/utils/Validate/validateDate.js +14 -21
- package/dist/utils/Validate/validateDate.test.js +28 -29
- package/dist/utils/Validate/validateEmail.js +8 -11
- package/dist/utils/Validate/validateEmail.test.js +26 -26
- package/dist/utils/Validate/validateMultifile.js +6 -10
- package/dist/utils/Validate/validateMultifile.test.js +17 -18
- package/dist/utils/Validate/validatePage.js +20 -22
- package/dist/utils/Validate/validatePage.test.js +146 -143
- package/dist/utils/Validate/validateRegex.js +6 -10
- package/dist/utils/Validate/validateRegex.test.js +17 -17
- package/dist/utils/Validate/validateRequired.js +6 -9
- package/dist/utils/Validate/validateRequired.test.js +19 -19
- package/dist/utils/Validate/validateTextArea.js +6 -9
- package/dist/utils/Validate/validateTextArea.test.js +21 -21
- package/dist/utils/Validate/validateTime.js +8 -16
- package/dist/utils/Validate/validateTime.test.js +15 -15
- package/dist/utils/index.js +10 -12
- package/package.json +9 -6
|
@@ -7,31 +7,26 @@ exports.default = void 0;
|
|
|
7
7
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
8
8
|
var _getSourceData = _interopRequireDefault(require("./getSourceData"));
|
|
9
9
|
var _setDataItem = _interopRequireDefault(require("./setDataItem"));
|
|
10
|
-
function _interopRequireDefault(
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
var dateFormat = /^(\d{1,2})-\d{1,2}-(\d{4})$/;
|
|
19
|
-
var defaultDate = dateFormat.test(date.defaultValue) ? date.defaultValue : (0, _getSourceData.default)(data, date.defaultValue);
|
|
20
|
-
var val = date.defaultValue === 'today' ? (0, _dayjs.default)().format('DD-MM-YYYY') : defaultDate;
|
|
21
|
-
(0, _setDataItem.default)(data, "".concat(fullPath).concat(date.fieldId), val);
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
// Local imports
|
|
12
|
+
|
|
13
|
+
const setDefaultDateValue = (date, data, fullPath) => {
|
|
14
|
+
const dateFormat = /^(\d{1,2})-\d{1,2}-(\d{4})$/;
|
|
15
|
+
const defaultDate = dateFormat.test(date.defaultValue) ? date.defaultValue : (0, _getSourceData.default)(data, date.defaultValue);
|
|
16
|
+
const val = date.defaultValue === 'today' ? (0, _dayjs.default)().format('DD-MM-YYYY') : defaultDate;
|
|
17
|
+
(0, _setDataItem.default)(data, `${fullPath}${date.fieldId}`, val);
|
|
22
18
|
};
|
|
23
19
|
|
|
24
20
|
/**
|
|
25
21
|
* This currently will not work for collections.
|
|
26
22
|
* If support is required it will need to be added.
|
|
27
23
|
*/
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
const setupDefaultValue = (component, data, fullPath) => {
|
|
25
|
+
const thisComponent = component;
|
|
26
|
+
const componentFullPath = `${fullPath}${component.fieldId}`;
|
|
31
27
|
if (component.type === 'container') {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
setupDefaultValue(comp, data, "".concat(componentFullPath, "."));
|
|
28
|
+
component.components?.forEach(comp => {
|
|
29
|
+
setupDefaultValue(comp, data, `${componentFullPath}.`);
|
|
35
30
|
});
|
|
36
31
|
}
|
|
37
32
|
if ((component.defaultValue || component.defaultObjectValue) && !(0, _getSourceData.default)(data, componentFullPath)) {
|
|
@@ -44,13 +39,13 @@ var setupDefaultValue = function setupDefaultValue(component, data, fullPath) {
|
|
|
44
39
|
// as a string is required for consuming apps using FormIO, this restriction could be removed in the future.
|
|
45
40
|
{
|
|
46
41
|
if (component.defaultObjectValue) {
|
|
47
|
-
Object.keys(component.defaultObjectValue).forEach(
|
|
42
|
+
Object.keys(component.defaultObjectValue).forEach(value => {
|
|
48
43
|
if (typeof component.defaultObjectValue[value] === 'string' && (0, _getSourceData.default)(data, component.defaultObjectValue[value]) !== undefined) {
|
|
49
44
|
thisComponent.defaultObjectValue[value] = (0, _getSourceData.default)(data, component.defaultObjectValue[value]);
|
|
50
45
|
}
|
|
51
46
|
});
|
|
52
47
|
}
|
|
53
|
-
|
|
48
|
+
const defaultToUse = component.defaultObjectValue ? component.defaultObjectValue : component.defaultValue;
|
|
54
49
|
(0, _setDataItem.default)(data, componentFullPath, defaultToUse);
|
|
55
50
|
delete thisComponent.defaultObjectValue;
|
|
56
51
|
}
|
|
@@ -64,38 +59,26 @@ var setupDefaultValue = function setupDefaultValue(component, data, fullPath) {
|
|
|
64
59
|
delete thisComponent.defaultValue;
|
|
65
60
|
}
|
|
66
61
|
};
|
|
67
|
-
|
|
68
|
-
components.forEach(
|
|
69
|
-
return setupDefaultValue(component, data, '');
|
|
70
|
-
});
|
|
62
|
+
const setupDefaultValuesForComponents = (components, data) => {
|
|
63
|
+
components.forEach(component => setupDefaultValue(component, data, ''));
|
|
71
64
|
};
|
|
72
|
-
|
|
73
|
-
pages.forEach(
|
|
74
|
-
page.components.filter(
|
|
75
|
-
return !c.use;
|
|
76
|
-
}).forEach(function (component) {
|
|
77
|
-
return setupDefaultValue(component, data, '');
|
|
78
|
-
});
|
|
65
|
+
const setupPageDefaultValues = (pages, data) => {
|
|
66
|
+
pages.forEach(page => {
|
|
67
|
+
page.components.filter(c => !c.use).forEach(component => setupDefaultValue(component, data, ''));
|
|
79
68
|
});
|
|
80
69
|
};
|
|
81
|
-
|
|
82
|
-
|
|
70
|
+
const setupComponentSourceData = (component, data) => {
|
|
71
|
+
const componentSourceData = data;
|
|
83
72
|
if (component.source) {
|
|
84
73
|
componentSourceData[component.fieldId] = (0, _getSourceData.default)(componentSourceData, component.source.field);
|
|
85
74
|
}
|
|
86
75
|
};
|
|
87
|
-
|
|
88
|
-
components.forEach(
|
|
89
|
-
return setupComponentSourceData(component, data);
|
|
90
|
-
});
|
|
76
|
+
const setupSourceDataForComponents = (components, data) => {
|
|
77
|
+
components.forEach(component => setupComponentSourceData(component, data));
|
|
91
78
|
};
|
|
92
|
-
|
|
93
|
-
pages.forEach(
|
|
94
|
-
page.components.filter(
|
|
95
|
-
return !c.use;
|
|
96
|
-
}).forEach(function (component) {
|
|
97
|
-
return setupComponentSourceData(component, data);
|
|
98
|
-
});
|
|
79
|
+
const setupPageSourceData = (pages, data) => {
|
|
80
|
+
pages.forEach(page => {
|
|
81
|
+
page.components.filter(c => !c.use).forEach(component => setupComponentSourceData(component, data));
|
|
99
82
|
});
|
|
100
83
|
};
|
|
101
84
|
|
|
@@ -115,13 +98,14 @@ var setupPageSourceData = function setupPageSourceData(pages, data) {
|
|
|
115
98
|
* @param {object} baseData
|
|
116
99
|
* @returns
|
|
117
100
|
*/
|
|
118
|
-
|
|
119
|
-
|
|
101
|
+
const setupFormData = (pages, components, baseData) => {
|
|
102
|
+
const data = {
|
|
103
|
+
...baseData
|
|
104
|
+
};
|
|
120
105
|
setupDefaultValuesForComponents(components, data);
|
|
121
106
|
setupPageDefaultValues(pages, data);
|
|
122
107
|
setupSourceDataForComponents(components, data);
|
|
123
108
|
setupPageSourceData(pages, data);
|
|
124
109
|
return data;
|
|
125
110
|
};
|
|
126
|
-
var _default = setupFormData;
|
|
127
|
-
exports.default = _default;
|
|
111
|
+
var _default = exports.default = setupFormData;
|
|
@@ -3,64 +3,62 @@
|
|
|
3
3
|
var _setupFormData = _interopRequireDefault(require("./setupFormData"));
|
|
4
4
|
var _userProfile = _interopRequireDefault(require("../../json/userProfile.json"));
|
|
5
5
|
var _userProfileData = _interopRequireDefault(require("../../json/userProfile.data.json"));
|
|
6
|
-
function _interopRequireDefault(
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
describe('
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
var PAGES = [];
|
|
18
|
-
var COMPONENTS = [{
|
|
6
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
|
+
/* eslint-disable import/no-named-default */
|
|
8
|
+
|
|
9
|
+
// Local imports
|
|
10
|
+
|
|
11
|
+
describe('utils', () => {
|
|
12
|
+
describe('Data', () => {
|
|
13
|
+
describe('setupFormData', () => {
|
|
14
|
+
it('should populate a simple form', () => {
|
|
15
|
+
const PAGES = [];
|
|
16
|
+
const COMPONENTS = [{
|
|
19
17
|
fieldId: 'testField',
|
|
20
18
|
source: {
|
|
21
19
|
field: 'sourceField'
|
|
22
20
|
}
|
|
23
21
|
}];
|
|
24
|
-
|
|
22
|
+
const DATA = {
|
|
25
23
|
sourceField: 'VALUE'
|
|
26
24
|
};
|
|
27
|
-
|
|
25
|
+
const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
28
26
|
expect(RESULT).toEqual({
|
|
29
27
|
sourceField: 'VALUE',
|
|
30
28
|
testField: 'VALUE'
|
|
31
29
|
});
|
|
32
30
|
});
|
|
33
|
-
it('should handle a missing source field',
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
it('should handle a missing source field', () => {
|
|
32
|
+
const PAGES = [];
|
|
33
|
+
const COMPONENTS = [{
|
|
36
34
|
fieldId: 'testField',
|
|
37
35
|
source: {
|
|
38
36
|
field: 'otherSourceField'
|
|
39
37
|
}
|
|
40
38
|
}];
|
|
41
|
-
|
|
39
|
+
const DATA = {
|
|
42
40
|
sourceField: 'VALUE'
|
|
43
41
|
};
|
|
44
|
-
|
|
42
|
+
const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
45
43
|
expect(RESULT).toEqual({
|
|
46
44
|
sourceField: 'VALUE',
|
|
47
45
|
testField: undefined
|
|
48
46
|
});
|
|
49
47
|
});
|
|
50
|
-
it('should handle a nested source field',
|
|
51
|
-
|
|
52
|
-
|
|
48
|
+
it('should handle a nested source field', () => {
|
|
49
|
+
const PAGES = [];
|
|
50
|
+
const COMPONENTS = [{
|
|
53
51
|
fieldId: 'testField',
|
|
54
52
|
source: {
|
|
55
53
|
field: 'nested.sourceField'
|
|
56
54
|
}
|
|
57
55
|
}];
|
|
58
|
-
|
|
56
|
+
const DATA = {
|
|
59
57
|
nested: {
|
|
60
58
|
sourceField: 'VALUE'
|
|
61
59
|
}
|
|
62
60
|
};
|
|
63
|
-
|
|
61
|
+
const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
64
62
|
expect(RESULT).toEqual({
|
|
65
63
|
nested: {
|
|
66
64
|
sourceField: 'VALUE'
|
|
@@ -68,20 +66,20 @@ describe('utils', function () {
|
|
|
68
66
|
testField: 'VALUE'
|
|
69
67
|
});
|
|
70
68
|
});
|
|
71
|
-
it('should handle a missing nested source field',
|
|
72
|
-
|
|
73
|
-
|
|
69
|
+
it('should handle a missing nested source field', () => {
|
|
70
|
+
const PAGES = [];
|
|
71
|
+
const COMPONENTS = [{
|
|
74
72
|
fieldId: 'testField',
|
|
75
73
|
source: {
|
|
76
74
|
field: 'nested.otherSourceField'
|
|
77
75
|
}
|
|
78
76
|
}];
|
|
79
|
-
|
|
77
|
+
const DATA = {
|
|
80
78
|
nested: {
|
|
81
79
|
sourceField: 'VALUE'
|
|
82
80
|
}
|
|
83
81
|
};
|
|
84
|
-
|
|
82
|
+
const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
85
83
|
expect(RESULT).toEqual({
|
|
86
84
|
nested: {
|
|
87
85
|
sourceField: 'VALUE'
|
|
@@ -89,20 +87,20 @@ describe('utils', function () {
|
|
|
89
87
|
testField: undefined
|
|
90
88
|
});
|
|
91
89
|
});
|
|
92
|
-
it('should handle an entirely missing nested source field',
|
|
93
|
-
|
|
94
|
-
|
|
90
|
+
it('should handle an entirely missing nested source field', () => {
|
|
91
|
+
const PAGES = [];
|
|
92
|
+
const COMPONENTS = [{
|
|
95
93
|
fieldId: 'testField',
|
|
96
94
|
source: {
|
|
97
95
|
field: 'otherNested.sourceField'
|
|
98
96
|
}
|
|
99
97
|
}];
|
|
100
|
-
|
|
98
|
+
const DATA = {
|
|
101
99
|
nested: {
|
|
102
100
|
sourceField: 'VALUE'
|
|
103
101
|
}
|
|
104
102
|
};
|
|
105
|
-
|
|
103
|
+
const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
106
104
|
expect(RESULT).toEqual({
|
|
107
105
|
nested: {
|
|
108
106
|
sourceField: 'VALUE'
|
|
@@ -110,8 +108,8 @@ describe('utils', function () {
|
|
|
110
108
|
testField: undefined
|
|
111
109
|
});
|
|
112
110
|
});
|
|
113
|
-
it('should handle sources within pages',
|
|
114
|
-
|
|
111
|
+
it('should handle sources within pages', () => {
|
|
112
|
+
const PAGES = [{
|
|
115
113
|
components: [{
|
|
116
114
|
fieldId: 'pageField',
|
|
117
115
|
source: {
|
|
@@ -126,20 +124,20 @@ describe('utils', function () {
|
|
|
126
124
|
}
|
|
127
125
|
}]
|
|
128
126
|
}];
|
|
129
|
-
|
|
127
|
+
const COMPONENTS = [{
|
|
130
128
|
fieldId: 'testField',
|
|
131
129
|
source: {
|
|
132
130
|
field: 'nested.sourceField'
|
|
133
131
|
}
|
|
134
132
|
}];
|
|
135
|
-
|
|
133
|
+
const DATA = {
|
|
136
134
|
nested: {
|
|
137
135
|
sourceField: 'VALUE'
|
|
138
136
|
},
|
|
139
137
|
pageSourceField: 'PAGE 1',
|
|
140
138
|
secondPageSourceField: 'Bob'
|
|
141
139
|
};
|
|
142
|
-
|
|
140
|
+
const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
143
141
|
expect(RESULT).toEqual({
|
|
144
142
|
nested: {
|
|
145
143
|
sourceField: 'VALUE'
|
|
@@ -151,8 +149,8 @@ describe('utils', function () {
|
|
|
151
149
|
secondPageField: 'Bob'
|
|
152
150
|
});
|
|
153
151
|
});
|
|
154
|
-
it('should ignore sources within pages that reference a top-level component',
|
|
155
|
-
|
|
152
|
+
it('should ignore sources within pages that reference a top-level component', () => {
|
|
153
|
+
const PAGES = [{
|
|
156
154
|
components: [{
|
|
157
155
|
fieldId: 'pageField',
|
|
158
156
|
use: 'testField',
|
|
@@ -168,20 +166,20 @@ describe('utils', function () {
|
|
|
168
166
|
}
|
|
169
167
|
}]
|
|
170
168
|
}];
|
|
171
|
-
|
|
169
|
+
const COMPONENTS = [{
|
|
172
170
|
fieldId: 'testField',
|
|
173
171
|
source: {
|
|
174
172
|
field: 'nested.sourceField'
|
|
175
173
|
}
|
|
176
174
|
}];
|
|
177
|
-
|
|
175
|
+
const DATA = {
|
|
178
176
|
nested: {
|
|
179
177
|
sourceField: 'VALUE'
|
|
180
178
|
},
|
|
181
179
|
pageSourceField: 'PAGE 1',
|
|
182
180
|
secondPageSourceField: 'Bob'
|
|
183
181
|
};
|
|
184
|
-
|
|
182
|
+
const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
185
183
|
expect(RESULT).toEqual({
|
|
186
184
|
nested: {
|
|
187
185
|
sourceField: 'VALUE'
|
|
@@ -192,38 +190,41 @@ describe('utils', function () {
|
|
|
192
190
|
secondPageField: 'Bob'
|
|
193
191
|
});
|
|
194
192
|
});
|
|
195
|
-
it('should populate data for the user profile configuration and source',
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
193
|
+
it('should populate data for the user profile configuration and source', () => {
|
|
194
|
+
const {
|
|
195
|
+
pages,
|
|
196
|
+
components
|
|
197
|
+
} = _userProfile.default;
|
|
198
|
+
const RESULT = (0, _setupFormData.default)(pages, components, _userProfileData.default);
|
|
199
199
|
|
|
200
200
|
// It should produce an aggregation of the original source data (USER_PROFILE_DATA)
|
|
201
201
|
// and data calculated for the fields, based on that source data.
|
|
202
|
-
expect(RESULT).toEqual(
|
|
202
|
+
expect(RESULT).toEqual({
|
|
203
|
+
..._userProfileData.default,
|
|
203
204
|
firstName: _userProfileData.default.currentUser.givenName,
|
|
204
205
|
surname: _userProfileData.default.currentUser.familyName,
|
|
205
206
|
team: _userProfileData.default.userDetails.defaultteam,
|
|
206
207
|
staffGradeId: _userProfileData.default.userDetails.gradeid,
|
|
207
208
|
linemanagerEmail: _userProfileData.default.userDetails.linemanagerEmail,
|
|
208
209
|
delegateEmails: _userProfileData.default.userDetails.delegateEmails
|
|
209
|
-
})
|
|
210
|
+
});
|
|
210
211
|
});
|
|
211
|
-
it('should handle a default value field',
|
|
212
|
-
|
|
213
|
-
|
|
212
|
+
it('should handle a default value field', () => {
|
|
213
|
+
const PAGES = [];
|
|
214
|
+
const COMPONENTS = [{
|
|
214
215
|
fieldId: 'testField',
|
|
215
216
|
type: 'text',
|
|
216
217
|
defaultValue: 'VALUE'
|
|
217
218
|
}];
|
|
218
|
-
|
|
219
|
-
|
|
219
|
+
const DATA = {};
|
|
220
|
+
const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
220
221
|
expect(RESULT).toEqual({
|
|
221
222
|
testField: 'VALUE'
|
|
222
223
|
});
|
|
223
224
|
});
|
|
224
|
-
it('should handle a default value field with defaultObjectValue',
|
|
225
|
-
|
|
226
|
-
|
|
225
|
+
it('should handle a default value field with defaultObjectValue', () => {
|
|
226
|
+
const PAGES = [];
|
|
227
|
+
const COMPONENTS = [{
|
|
227
228
|
fieldId: 'testField',
|
|
228
229
|
type: 'autocomplete',
|
|
229
230
|
defaultObjectValue: {
|
|
@@ -233,8 +234,8 @@ describe('utils', function () {
|
|
|
233
234
|
label: 'Algeria'
|
|
234
235
|
}
|
|
235
236
|
}];
|
|
236
|
-
|
|
237
|
-
|
|
237
|
+
const DATA = {};
|
|
238
|
+
const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
238
239
|
expect(RESULT.testField).toMatchObject({
|
|
239
240
|
id: 4,
|
|
240
241
|
name: 'Algeria',
|
|
@@ -242,9 +243,9 @@ describe('utils', function () {
|
|
|
242
243
|
label: 'Algeria'
|
|
243
244
|
});
|
|
244
245
|
});
|
|
245
|
-
it('should handle a default value field with defaultObjectValue if dot-separated field identifier exists within the data',
|
|
246
|
-
|
|
247
|
-
|
|
246
|
+
it('should handle a default value field with defaultObjectValue if dot-separated field identifier exists within the data', () => {
|
|
247
|
+
const PAGES = [];
|
|
248
|
+
const COMPONENTS = [{
|
|
248
249
|
fieldId: 'testField',
|
|
249
250
|
type: 'autocomplete',
|
|
250
251
|
defaultObjectValue: {
|
|
@@ -254,14 +255,14 @@ describe('utils', function () {
|
|
|
254
255
|
label: 'country.name'
|
|
255
256
|
}
|
|
256
257
|
}];
|
|
257
|
-
|
|
258
|
+
const DATA = {
|
|
258
259
|
'country': {
|
|
259
260
|
'id': 4,
|
|
260
261
|
'name': 'Algeria',
|
|
261
262
|
'value': '4'
|
|
262
263
|
}
|
|
263
264
|
};
|
|
264
|
-
|
|
265
|
+
const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
265
266
|
expect(RESULT.testField).toMatchObject({
|
|
266
267
|
id: 4,
|
|
267
268
|
name: 'Algeria',
|
|
@@ -269,9 +270,9 @@ describe('utils', function () {
|
|
|
269
270
|
label: 'Algeria'
|
|
270
271
|
});
|
|
271
272
|
});
|
|
272
|
-
it('should ignore the default value field with defaultObjectValue if dot-separated field identifier doesn\'t exists within the data',
|
|
273
|
-
|
|
274
|
-
|
|
273
|
+
it('should ignore the default value field with defaultObjectValue if dot-separated field identifier doesn\'t exists within the data', () => {
|
|
274
|
+
const PAGES = [];
|
|
275
|
+
const COMPONENTS = [{
|
|
275
276
|
fieldId: 'testField',
|
|
276
277
|
type: 'autocomplete',
|
|
277
278
|
defaultObjectValue: {
|
|
@@ -281,8 +282,8 @@ describe('utils', function () {
|
|
|
281
282
|
label: 'country.name'
|
|
282
283
|
}
|
|
283
284
|
}];
|
|
284
|
-
|
|
285
|
-
|
|
285
|
+
const DATA = {};
|
|
286
|
+
const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
286
287
|
expect(RESULT.testField).toMatchObject({
|
|
287
288
|
id: 'country.id',
|
|
288
289
|
name: 'country.name',
|
|
@@ -290,55 +291,55 @@ describe('utils', function () {
|
|
|
290
291
|
label: 'country.name'
|
|
291
292
|
});
|
|
292
293
|
});
|
|
293
|
-
it('should ignore a default value when a value already exists in data',
|
|
294
|
-
|
|
295
|
-
|
|
294
|
+
it('should ignore a default value when a value already exists in data', () => {
|
|
295
|
+
const PAGES = [];
|
|
296
|
+
const COMPONENTS = [{
|
|
296
297
|
fieldId: 'testField',
|
|
297
298
|
type: 'text',
|
|
298
299
|
defaultValue: 'VALUE'
|
|
299
300
|
}];
|
|
300
|
-
|
|
301
|
+
const DATA = {
|
|
301
302
|
testField: 'EXISTING_VALUE'
|
|
302
303
|
};
|
|
303
|
-
|
|
304
|
+
const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
304
305
|
expect(RESULT).toEqual({
|
|
305
306
|
testField: 'EXISTING_VALUE'
|
|
306
307
|
});
|
|
307
308
|
});
|
|
308
|
-
it('should handle default values within pages',
|
|
309
|
-
|
|
309
|
+
it('should handle default values within pages', () => {
|
|
310
|
+
const PAGES = [{
|
|
310
311
|
components: [{
|
|
311
312
|
fieldId: 'pageField',
|
|
312
313
|
type: 'text',
|
|
313
314
|
defaultValue: 'VALUE'
|
|
314
315
|
}]
|
|
315
316
|
}];
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
317
|
+
const COMPONENTS = [];
|
|
318
|
+
const DATA = {};
|
|
319
|
+
const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
319
320
|
expect(RESULT).toEqual({
|
|
320
321
|
pageField: 'VALUE'
|
|
321
322
|
});
|
|
322
323
|
});
|
|
323
|
-
it('should ignore default values within pages when a value already exists in data',
|
|
324
|
-
|
|
324
|
+
it('should ignore default values within pages when a value already exists in data', () => {
|
|
325
|
+
const PAGES = [{
|
|
325
326
|
components: [{
|
|
326
327
|
fieldId: 'pageField',
|
|
327
328
|
type: 'text',
|
|
328
329
|
defaultValue: 'VALUE'
|
|
329
330
|
}]
|
|
330
331
|
}];
|
|
331
|
-
|
|
332
|
-
|
|
332
|
+
const COMPONENTS = [];
|
|
333
|
+
const DATA = {
|
|
333
334
|
pageField: 'EXISTING_VALUE'
|
|
334
335
|
};
|
|
335
|
-
|
|
336
|
+
const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
336
337
|
expect(RESULT).toEqual({
|
|
337
338
|
pageField: 'EXISTING_VALUE'
|
|
338
339
|
});
|
|
339
340
|
});
|
|
340
|
-
it('should handle default values of components within containers',
|
|
341
|
-
|
|
341
|
+
it('should handle default values of components within containers', () => {
|
|
342
|
+
const PAGES = [{
|
|
342
343
|
components: [{
|
|
343
344
|
fieldId: 'firstContainer',
|
|
344
345
|
type: 'container',
|
|
@@ -357,7 +358,7 @@ describe('utils', function () {
|
|
|
357
358
|
}]
|
|
358
359
|
}]
|
|
359
360
|
}];
|
|
360
|
-
|
|
361
|
+
const RESULT = (0, _setupFormData.default)(PAGES, [], {});
|
|
361
362
|
expect(RESULT).toEqual({
|
|
362
363
|
firstContainer: {
|
|
363
364
|
firstDate: '01-01-1999',
|
|
@@ -367,8 +368,8 @@ describe('utils', function () {
|
|
|
367
368
|
}
|
|
368
369
|
});
|
|
369
370
|
});
|
|
370
|
-
it('should ignore default values of components within containers when they already have a value in data',
|
|
371
|
-
|
|
371
|
+
it('should ignore default values of components within containers when they already have a value in data', () => {
|
|
372
|
+
const PAGES = [{
|
|
372
373
|
components: [{
|
|
373
374
|
fieldId: 'firstContainer',
|
|
374
375
|
type: 'container',
|
|
@@ -387,7 +388,7 @@ describe('utils', function () {
|
|
|
387
388
|
}]
|
|
388
389
|
}]
|
|
389
390
|
}];
|
|
390
|
-
|
|
391
|
+
const DATA = {
|
|
391
392
|
firstContainer: {
|
|
392
393
|
firstDate: '01-01-1000',
|
|
393
394
|
secondContainer: {
|
|
@@ -395,7 +396,7 @@ describe('utils', function () {
|
|
|
395
396
|
}
|
|
396
397
|
}
|
|
397
398
|
};
|
|
398
|
-
|
|
399
|
+
const RESULT = (0, _setupFormData.default)(PAGES, [], DATA);
|
|
399
400
|
expect(RESULT).toEqual({
|
|
400
401
|
firstContainer: {
|
|
401
402
|
firstDate: '01-01-1000',
|
|
@@ -405,8 +406,8 @@ describe('utils', function () {
|
|
|
405
406
|
}
|
|
406
407
|
});
|
|
407
408
|
});
|
|
408
|
-
it('should handle default values given it is a date with a dot-separated field identifier within pages',
|
|
409
|
-
|
|
409
|
+
it('should handle default values given it is a date with a dot-separated field identifier within pages', () => {
|
|
410
|
+
const PAGES = [{
|
|
410
411
|
components: [{
|
|
411
412
|
fieldId: 'pageFieldA',
|
|
412
413
|
type: 'date',
|
|
@@ -417,14 +418,14 @@ describe('utils', function () {
|
|
|
417
418
|
defaultValue: 'test.b'
|
|
418
419
|
}]
|
|
419
420
|
}];
|
|
420
|
-
|
|
421
|
-
|
|
421
|
+
const COMPONENTS = [];
|
|
422
|
+
const DATA = {
|
|
422
423
|
'test': {
|
|
423
424
|
'a': '11-04-2023',
|
|
424
425
|
'b': '12-5-2023'
|
|
425
426
|
}
|
|
426
427
|
};
|
|
427
|
-
|
|
428
|
+
const RESULT = (0, _setupFormData.default)(PAGES, COMPONENTS, DATA);
|
|
428
429
|
expect(RESULT.pageFieldA).toEqual('11-04-2023');
|
|
429
430
|
expect(RESULT.pageFieldB).toEqual('12-5-2023');
|
|
430
431
|
});
|