@ukhomeoffice/cop-react-form-renderer 6.14.0 → 6.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/dist/components/CheckYourAnswers/Answer.js +12 -11
- package/dist/components/CheckYourAnswers/Answer.test.js +132 -181
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +98 -133
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +544 -939
- package/dist/components/CheckYourAnswers/index.js +1 -1
- package/dist/components/CollectionPage/CollectionPage.js +62 -60
- package/dist/components/CollectionPage/CollectionPage.test.js +315 -365
- package/dist/components/CollectionPage/index.js +1 -1
- package/dist/components/CollectionSummary/BannerStrip.js +14 -14
- package/dist/components/CollectionSummary/BannerStrip.test.js +79 -74
- package/dist/components/CollectionSummary/CollectionSummary.js +75 -97
- package/dist/components/CollectionSummary/CollectionSummary.test.js +182 -166
- package/dist/components/CollectionSummary/Confirmation.js +15 -13
- package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
- package/dist/components/CollectionSummary/RenderListView.js +34 -47
- package/dist/components/CollectionSummary/RenderListView.test.js +113 -111
- package/dist/components/CollectionSummary/SummaryCard.js +101 -133
- package/dist/components/CollectionSummary/SummaryCard.test.js +961 -993
- package/dist/components/CollectionSummary/SummaryCardButtons.js +25 -30
- package/dist/components/CollectionSummary/SummaryCardButtons.test.js +30 -28
- package/dist/components/CollectionSummary/SummaryCardDetails.js +59 -76
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +170 -180
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +31 -36
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +63 -75
- package/dist/components/CollectionSummary/index.js +1 -1
- package/dist/components/FormComponent/Collection.js +63 -100
- package/dist/components/FormComponent/Collection.test.js +907 -1080
- package/dist/components/FormComponent/Container.js +35 -29
- package/dist/components/FormComponent/Container.test.js +378 -409
- package/dist/components/FormComponent/FormComponent.js +59 -63
- package/dist/components/FormComponent/FormComponent.test.js +354 -415
- package/dist/components/FormComponent/helpers/addLabel.js +4 -7
- package/dist/components/FormComponent/helpers/getComponentDisabled.js +1 -1
- package/dist/components/FormComponent/helpers/getComponentDisabled.test.js +8 -8
- package/dist/components/FormComponent/helpers/getComponentError.js +3 -5
- package/dist/components/FormComponent/helpers/getComponentError.test.js +15 -15
- package/dist/components/FormComponent/helpers/getComponentFieldSet.js +3 -4
- package/dist/components/FormComponent/helpers/getComponentFieldSet.test.js +7 -7
- package/dist/components/FormComponent/helpers/index.js +5 -5
- package/dist/components/FormComponent/index.js +1 -1
- package/dist/components/FormPage/FormPage.js +70 -93
- package/dist/components/FormPage/FormPage.test.js +150 -202
- package/dist/components/FormPage/index.js +1 -1
- package/dist/components/FormRenderer/FormRenderer.js +131 -173
- package/dist/components/FormRenderer/FormRenderer.test.js +732 -1114
- package/dist/components/FormRenderer/handlers/cyaAction.js +3 -3
- package/dist/components/FormRenderer/handlers/getPageId.js +1 -3
- package/dist/components/FormRenderer/handlers/getPageId.test.js +15 -15
- package/dist/components/FormRenderer/handlers/handlers.test.js +33 -33
- package/dist/components/FormRenderer/handlers/index.js +2 -2
- package/dist/components/FormRenderer/handlers/navigate.js +4 -4
- package/dist/components/FormRenderer/handlers/submissionError.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.js +1 -1
- package/dist/components/FormRenderer/helpers/canActionProceed.test.js +16 -16
- package/dist/components/FormRenderer/helpers/canCYASubmit.js +1 -3
- package/dist/components/FormRenderer/helpers/canCYASubmit.test.js +17 -21
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.js +22 -25
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
- package/dist/components/FormRenderer/helpers/getCYA.js +4 -6
- package/dist/components/FormRenderer/helpers/getCYA.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getFormState.js +6 -8
- package/dist/components/FormRenderer/helpers/getFormState.test.js +11 -11
- package/dist/components/FormRenderer/helpers/getNextPageId.js +14 -25
- package/dist/components/FormRenderer/helpers/getNextPageId.test.js +68 -68
- package/dist/components/FormRenderer/helpers/getPage.js +2 -4
- package/dist/components/FormRenderer/helpers/getPage.test.js +12 -12
- package/dist/components/FormRenderer/helpers/getRelevantPages.js +7 -9
- package/dist/components/FormRenderer/helpers/getRelevantPages.test.js +15 -15
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.js +6 -6
- package/dist/components/FormRenderer/helpers/getSubmissionStatus.test.js +104 -98
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +44 -51
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +68 -74
- package/dist/components/FormRenderer/helpers/index.js +2 -2
- package/dist/components/FormRenderer/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +43 -44
- package/dist/components/FormRenderer/onCYAAction.test.js +126 -133
- package/dist/components/FormRenderer/onPageAction.js +26 -35
- package/dist/components/FormRenderer/onPageAction.test.js +177 -186
- package/dist/components/FormRenderer/onTaskAction.js +11 -12
- package/dist/components/FormRenderer/onTaskAction.test.js +63 -68
- package/dist/components/PageActions/ActionButton.js +14 -14
- package/dist/components/PageActions/ActionButton.test.js +57 -79
- package/dist/components/PageActions/PageActions.js +11 -11
- package/dist/components/PageActions/PageActions.test.js +87 -116
- package/dist/components/PageActions/index.js +1 -1
- package/dist/components/SummaryList/GroupAction.js +10 -18
- package/dist/components/SummaryList/GroupAction.test.js +38 -34
- package/dist/components/SummaryList/RowAction.js +12 -17
- package/dist/components/SummaryList/RowAction.test.js +38 -34
- package/dist/components/SummaryList/SummaryList.js +23 -25
- package/dist/components/SummaryList/SummaryList.test.js +162 -189
- package/dist/components/SummaryList/SummaryListHeadingRow.js +7 -5
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +7 -5
- package/dist/components/SummaryList/SummaryListRow.js +7 -5
- package/dist/components/SummaryList/SummaryListTitleRow.js +6 -4
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +23 -23
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +3 -5
- package/dist/components/SummaryList/helpers/getRowActionAttributes.test.js +23 -23
- package/dist/components/SummaryList/helpers/index.js +2 -2
- package/dist/components/SummaryList/index.js +1 -1
- package/dist/components/TaskList/Task.js +20 -30
- package/dist/components/TaskList/Task.test.js +84 -77
- package/dist/components/TaskList/TaskList.js +56 -79
- package/dist/components/TaskList/TaskList.test.js +149 -149
- package/dist/components/TaskList/TaskState.js +8 -6
- package/dist/components/TaskList/TaskState.test.js +53 -46
- package/dist/components/TaskList/index.js +1 -1
- package/dist/components/index.js +8 -8
- package/dist/context/HooksContext/HooksContext.js +56 -79
- package/dist/context/HooksContext/HooksContext.test.js +27 -36
- package/dist/context/HooksContext/index.js +3 -4
- package/dist/context/ValidationContext/ValidationContext.js +44 -95
- package/dist/context/ValidationContext/ValidationContext.test.js +57 -69
- package/dist/context/ValidationContext/index.js +3 -4
- package/dist/context/index.js +3 -3
- package/dist/hooks/index.js +10 -11
- package/dist/hooks/useAxios.js +15 -41
- package/dist/hooks/useGetRequest.js +62 -98
- package/dist/hooks/useHooks.js +1 -3
- package/dist/hooks/useRefData.js +25 -37
- package/dist/hooks/useValidation.js +1 -3
- package/dist/index.js +14 -15
- package/dist/models/CollectionLabels.js +1 -1
- package/dist/models/ComponentTypes.js +25 -25
- package/dist/models/EventTypes.js +4 -4
- package/dist/models/FormPages.js +4 -4
- package/dist/models/FormTypes.js +8 -8
- package/dist/models/HubFormats.js +3 -3
- package/dist/models/PageAction.js +44 -38
- package/dist/models/TaskStates.js +29 -28
- package/dist/models/index.js +10 -10
- package/dist/setupTests.js +30 -31
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +12 -21
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +32 -33
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +15 -28
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +41 -42
- package/dist/utils/CheckYourAnswers/getCYARow.js +7 -7
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +19 -21
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +27 -34
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +48 -52
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +76 -93
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +110 -115
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +11 -16
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +14 -19
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +69 -73
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +7 -8
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +15 -16
- package/dist/utils/CheckYourAnswers/index.js +2 -2
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +5 -5
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +2 -2
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +18 -19
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +13 -20
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +48 -39
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +2 -2
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
- package/dist/utils/CollectionPage/getCollectionPageData.js +8 -12
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
- package/dist/utils/CollectionPage/getErrorsForCollection.js +20 -21
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +21 -23
- package/dist/utils/CollectionPage/getQuickEditPage.js +22 -23
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +17 -18
- package/dist/utils/CollectionPage/index.js +2 -2
- package/dist/utils/CollectionPage/mergeCollectionPages.js +26 -35
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +18 -18
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +5 -7
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
- package/dist/utils/CollectionPage/setCollectionPageData.js +10 -16
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +25 -25
- package/dist/utils/Component/addShowWhen.js +5 -6
- package/dist/utils/Component/addShowWhen.test.js +38 -38
- package/dist/utils/Component/applyToComponentTree.js +12 -15
- package/dist/utils/Component/applyToComponentTree.test.js +28 -31
- package/dist/utils/Component/cleanAttributes.js +12 -11
- package/dist/utils/Component/cleanAttributes.test.js +17 -18
- package/dist/utils/Component/elevateNestedComponents.js +6 -6
- package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
- package/dist/utils/Component/getComponent.js +79 -85
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +41 -58
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +40 -49
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +24 -34
- package/dist/utils/Component/getComponentTests/getComponent.details.test.js +21 -19
- package/dist/utils/Component/getComponentTests/getComponent.email.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.file.test.js +21 -26
- package/dist/utils/Component/getComponentTests/getComponent.heading.test.js +11 -10
- package/dist/utils/Component/getComponentTests/getComponent.html.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.insetText.test.js +10 -9
- package/dist/utils/Component/getComponentTests/getComponent.list.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.multifile.test.js +23 -27
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +201 -226
- package/dist/utils/Component/getComponentTests/getComponent.paragraph.test.js +18 -16
- package/dist/utils/Component/getComponentTests/getComponent.phoneNumber.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.radios.test.js +58 -73
- package/dist/utils/Component/getComponentTests/getComponent.select.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.text.test.js +18 -23
- package/dist/utils/Component/getComponentTests/getComponent.textArea.test.js +32 -39
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +21 -30
- package/dist/utils/Component/getComponentTests/getComponent.unknown.test.js +3 -3
- package/dist/utils/Component/getComponentTests/getComponent.warningText.test.js +10 -9
- package/dist/utils/Component/getDefaultValue.js +7 -9
- package/dist/utils/Component/getDefaultValue.test.js +13 -13
- package/dist/utils/Component/getDefaultValueFromConfig.js +16 -20
- package/dist/utils/Component/getDefaultValueFromConfig.test.js +32 -32
- package/dist/utils/Component/index.js +2 -2
- package/dist/utils/Component/isEditable.js +2 -4
- package/dist/utils/Component/isEditable.test.js +14 -15
- package/dist/utils/Component/optionIsSelected.js +2 -4
- package/dist/utils/Component/optionIsSelected.test.js +12 -12
- package/dist/utils/Component/setupContainerComponentsPath.js +23 -28
- package/dist/utils/Component/setupContainerComponentsPath.test.js +12 -12
- package/dist/utils/Component/showComponent.js +2 -2
- package/dist/utils/Component/showComponent.test.js +29 -29
- package/dist/utils/Component/wrapInFormGroup.js +4 -4
- package/dist/utils/Condition/index.js +2 -2
- package/dist/utils/Condition/meetsAllConditions.js +9 -9
- package/dist/utils/Condition/meetsAllConditions.test.js +21 -21
- package/dist/utils/Condition/meetsCondition.js +17 -26
- package/dist/utils/Condition/meetsCondition.test.js +403 -403
- package/dist/utils/Condition/meetsOneCondition.js +6 -6
- package/dist/utils/Condition/meetsOneCondition.test.js +17 -17
- package/dist/utils/Condition/setupConditions.js +12 -15
- package/dist/utils/Condition/setupConditions.test.js +8 -8
- package/dist/utils/Container/getEditableComponents.js +4 -6
- package/dist/utils/Container/getEditableComponents.test.js +44 -46
- package/dist/utils/Container/index.js +2 -2
- package/dist/utils/Container/setupNesting.js +14 -15
- package/dist/utils/Container/setupNesting.test.js +20 -23
- package/dist/utils/Container/showContainer.js +4 -8
- package/dist/utils/Container/showContainer.test.js +31 -31
- package/dist/utils/Data/applyFormula.js +30 -44
- package/dist/utils/Data/applyFormula.test.js +21 -21
- package/dist/utils/Data/deleteValues.js +4 -8
- package/dist/utils/Data/deleteValues.test.js +11 -11
- package/dist/utils/Data/getAutocompleteSource.js +19 -27
- package/dist/utils/Data/getAutocompleteSource.test.js +76 -81
- package/dist/utils/Data/getDataPath.js +18 -28
- package/dist/utils/Data/getDataPath.test.js +13 -13
- package/dist/utils/Data/getOptions.js +35 -42
- package/dist/utils/Data/getOptions.test.js +37 -38
- package/dist/utils/Data/getSourceData.js +6 -19
- package/dist/utils/Data/getSourceData.test.js +85 -81
- package/dist/utils/Data/index.js +2 -2
- package/dist/utils/Data/nestInRefdataOptions.js +9 -12
- package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
- package/dist/utils/Data/refDataToOptions.js +9 -10
- package/dist/utils/Data/refDataToOptions.test.js +20 -20
- package/dist/utils/Data/setDataItem.js +7 -8
- package/dist/utils/Data/setDataItem.test.js +38 -38
- package/dist/utils/Data/setupFormData.js +13 -20
- package/dist/utils/Data/setupFormData.test.js +48 -47
- package/dist/utils/Data/setupRefDataUrlForComponent.js +11 -20
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +25 -25
- package/dist/utils/FormPage/applyConditionalProperties.js +7 -8
- package/dist/utils/FormPage/applyConditionalProperties.test.js +14 -15
- package/dist/utils/FormPage/getConditionalText.js +4 -4
- package/dist/utils/FormPage/getConditionalText.test.js +30 -30
- package/dist/utils/FormPage/getFormPage.js +12 -15
- package/dist/utils/FormPage/getFormPage.test.js +23 -24
- package/dist/utils/FormPage/getFormPages.js +8 -11
- package/dist/utils/FormPage/getFormPages.test.js +15 -16
- package/dist/utils/FormPage/getPageActions.js +10 -13
- package/dist/utils/FormPage/getPageActions.test.js +33 -33
- package/dist/utils/FormPage/getParagraphFromText.js +5 -7
- package/dist/utils/FormPage/getParagraphFromText.test.js +7 -7
- package/dist/utils/FormPage/index.js +3 -5
- package/dist/utils/FormPage/showFormPage.js +4 -8
- package/dist/utils/FormPage/showFormPage.test.js +33 -33
- package/dist/utils/FormPage/showFormPageCYA.js +2 -2
- package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
- package/dist/utils/FormPage/useComponent.js +15 -23
- package/dist/utils/FormPage/useComponent.test.js +49 -50
- package/dist/utils/Format/formatData.js +1 -1
- package/dist/utils/Format/formatData.test.js +19 -19
- package/dist/utils/Format/formatDataForComponent.js +6 -7
- package/dist/utils/Format/formatDataForComponent.test.js +50 -78
- package/dist/utils/Format/formatDataForForm.js +5 -6
- package/dist/utils/Format/formatDataForForm.test.js +14 -17
- package/dist/utils/Format/formatDataForPage.js +4 -5
- package/dist/utils/Format/formatDataForPage.test.js +20 -25
- package/dist/utils/Format/index.js +2 -2
- package/dist/utils/Hub/getFormHub.js +2 -2
- package/dist/utils/Hub/getFormHub.test.js +23 -24
- package/dist/utils/Hub/index.js +2 -2
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -1
- package/dist/utils/Meta/documents/getDocuments.test.js +25 -17
- package/dist/utils/Meta/documents/index.js +2 -2
- package/dist/utils/Meta/documents/setDocumentsForField.js +12 -13
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +70 -33
- package/dist/utils/Meta/index.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.js +3 -3
- package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
- package/dist/utils/Operate/deleteValueInFormData.js +2 -2
- package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
- package/dist/utils/Operate/getFirstOf.js +6 -6
- package/dist/utils/Operate/getFirstOf.test.js +32 -32
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +11 -11
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
- package/dist/utils/Operate/getLength.js +9 -9
- package/dist/utils/Operate/getLength.test.js +19 -19
- package/dist/utils/Operate/index.js +2 -2
- package/dist/utils/Operate/persistValueInFormData.js +4 -4
- package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
- package/dist/utils/Operate/runPageOperations.js +8 -8
- package/dist/utils/Operate/runPageOperations.test.js +24 -25
- package/dist/utils/Operate/setValueInFormData.js +3 -3
- package/dist/utils/Operate/setValueInFormData.test.js +17 -17
- package/dist/utils/Operate/shouldRun.js +7 -7
- package/dist/utils/Operate/shouldRun.test.js +22 -24
- package/dist/utils/Validate/additional/conditionallyPermittedChange.js +1 -1
- package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +15 -15
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -4
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
- package/dist/utils/Validate/additional/index.js +8 -8
- package/dist/utils/Validate/additional/index.test.js +22 -22
- package/dist/utils/Validate/additional/mustBeAfter.js +3 -3
- package/dist/utils/Validate/additional/mustBeAfter.test.js +41 -41
- package/dist/utils/Validate/additional/mustBeBefore.js +3 -3
- package/dist/utils/Validate/additional/mustBeBefore.test.js +29 -29
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.js +8 -12
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +37 -38
- package/dist/utils/Validate/additional/mustBeGreaterThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeGreaterThan.test.js +19 -19
- package/dist/utils/Validate/additional/mustBeInTheFuture.js +3 -3
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeInThePast.js +4 -4
- package/dist/utils/Validate/additional/mustBeInThePast.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeLessThan.js +2 -2
- package/dist/utils/Validate/additional/mustBeLessThan.test.js +18 -18
- package/dist/utils/Validate/additional/mustBeLongerThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeLongerThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeNumbersOnly.js +2 -2
- package/dist/utils/Validate/additional/mustBeNumbersOnly.test.js +21 -21
- package/dist/utils/Validate/additional/mustBeOneOf.js +1 -1
- package/dist/utils/Validate/additional/mustBeOneOf.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeShorterThan.js +1 -1
- package/dist/utils/Validate/additional/mustBeShorterThan.test.js +17 -17
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.js +5 -5
- package/dist/utils/Validate/additional/mustBeUniqueInCollection.test.js +35 -36
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +2 -2
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.test.js +15 -17
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.js +1 -1
- package/dist/utils/Validate/additional/mustHaveLessThanDecimalPlaces.test.js +13 -13
- package/dist/utils/Validate/additional/mustNotContainSql.js +3 -4
- package/dist/utils/Validate/additional/mustNotContainSql.test.js +15 -15
- package/dist/utils/Validate/additional/mustSelectOnlyOne.js +2 -2
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
- package/dist/utils/Validate/additional/utils.js +9 -22
- package/dist/utils/Validate/index.js +2 -2
- package/dist/utils/Validate/validateCollection.js +18 -23
- package/dist/utils/Validate/validateCollection.test.js +75 -67
- package/dist/utils/Validate/validateComponent.js +19 -19
- package/dist/utils/Validate/validateComponent.test.js +179 -154
- package/dist/utils/Validate/validateContainer.js +14 -17
- package/dist/utils/Validate/validateContainer.test.js +59 -53
- package/dist/utils/Validate/validateDate.js +16 -22
- package/dist/utils/Validate/validateDate.test.js +31 -32
- package/dist/utils/Validate/validateEmail.js +7 -9
- package/dist/utils/Validate/validateEmail.test.js +27 -27
- package/dist/utils/Validate/validateMultifile.js +5 -7
- package/dist/utils/Validate/validateMultifile.test.js +17 -18
- package/dist/utils/Validate/validatePage.js +13 -18
- package/dist/utils/Validate/validatePage.test.js +198 -195
- package/dist/utils/Validate/validateRegex.js +3 -5
- package/dist/utils/Validate/validateRegex.test.js +15 -15
- package/dist/utils/Validate/validateRequired.js +4 -6
- package/dist/utils/Validate/validateRequired.test.js +19 -19
- package/dist/utils/Validate/validateTextArea.js +4 -6
- package/dist/utils/Validate/validateTextArea.test.js +21 -21
- package/dist/utils/Validate/validateTime.js +12 -19
- package/dist/utils/Validate/validateTime.test.js +27 -27
- package/dist/utils/index.js +5 -6
- package/package.json +2 -4
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _conditionallyPermittedChange = _interopRequireDefault(require("./conditionallyPermittedChange"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
describe('utils',
|
|
6
|
-
describe('Validate',
|
|
7
|
-
describe('additional',
|
|
8
|
-
describe('conditionallyPermittedChange',
|
|
9
|
-
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
5
|
+
describe('utils', () => {
|
|
6
|
+
describe('Validate', () => {
|
|
7
|
+
describe('additional', () => {
|
|
8
|
+
describe('conditionallyPermittedChange', () => {
|
|
9
|
+
const CONFIG = {
|
|
10
10
|
base: 'Value1',
|
|
11
11
|
check: 'Item1'
|
|
12
12
|
};
|
|
13
|
-
test('should pass if the base value has same value as data parameter',
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
test('should pass if the base value has same value as data parameter', () => {
|
|
14
|
+
const DATA = 'Value1';
|
|
15
|
+
const FORMDATA = {};
|
|
16
16
|
expect((0, _conditionallyPermittedChange.default)(DATA, CONFIG, null, FORMDATA)).toEqual(true);
|
|
17
17
|
});
|
|
18
|
-
test('should fail if the base value is different to data parameter and check item exists in form data',
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
test('should fail if the base value is different to data parameter and check item exists in form data', () => {
|
|
19
|
+
const DATA = 'Value2';
|
|
20
|
+
const FORMDATA = {
|
|
21
21
|
Item1: "any"
|
|
22
22
|
};
|
|
23
23
|
expect((0, _conditionallyPermittedChange.default)(DATA, CONFIG, null, FORMDATA)).toEqual(false);
|
|
24
24
|
});
|
|
25
|
-
test('should pass if the base value is different to data parameter and check item not exists in form data',
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
test('should pass if the base value is different to data parameter and check item not exists in form data', () => {
|
|
26
|
+
const DATA = 'Value2';
|
|
27
|
+
const FORMDATA = {};
|
|
28
28
|
expect((0, _conditionallyPermittedChange.default)(DATA, CONFIG, null, FORMDATA)).toEqual(true);
|
|
29
29
|
});
|
|
30
30
|
});
|
|
@@ -13,11 +13,11 @@ exports.default = void 0;
|
|
|
13
13
|
* @returns true if the user has entered data into the 'base' field or entered a value into the 'check' field to turn off the validation
|
|
14
14
|
* otherwise returns false
|
|
15
15
|
*/
|
|
16
|
-
|
|
16
|
+
const conditionallyRequired = (data, config, component) => {
|
|
17
17
|
var _data$component$id, _data$component$id2;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
const conditional = (_data$component$id = data[component.id]) === null || _data$component$id === void 0 ? void 0 : _data$component$id[config.base];
|
|
19
|
+
const checkFieldvalue = (_data$component$id2 = data[component.id]) === null || _data$component$id2 === void 0 ? void 0 : _data$component$id2[config.check];
|
|
20
|
+
const checkHasValue = checkFieldvalue && (checkFieldvalue === null || checkFieldvalue === void 0 ? void 0 : checkFieldvalue.length) > 0;
|
|
21
21
|
return !!(conditional || checkHasValue);
|
|
22
22
|
};
|
|
23
23
|
var _default = exports.default = conditionallyRequired;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _conditionallyRequired = _interopRequireDefault(require("./conditionallyRequired"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
describe('utils',
|
|
6
|
-
describe('Validate',
|
|
7
|
-
describe('additional',
|
|
8
|
-
describe('conditionallyRequired',
|
|
9
|
-
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
5
|
+
describe('utils', () => {
|
|
6
|
+
describe('Validate', () => {
|
|
7
|
+
describe('additional', () => {
|
|
8
|
+
describe('conditionallyRequired', () => {
|
|
9
|
+
const CONFIG = {
|
|
10
10
|
base: 'componentOne',
|
|
11
11
|
check: 'componentTwo'
|
|
12
12
|
};
|
|
13
|
-
|
|
13
|
+
const COMPONENT = {
|
|
14
14
|
id: 'containerComponent',
|
|
15
15
|
fieldId: 'containerComponent',
|
|
16
16
|
type: 'container',
|
|
@@ -24,16 +24,16 @@ describe('utils', function () {
|
|
|
24
24
|
type: 'checkboxes'
|
|
25
25
|
}]
|
|
26
26
|
};
|
|
27
|
-
test('should pass if only the base field has a value',
|
|
28
|
-
|
|
27
|
+
test('should pass if only the base field has a value', () => {
|
|
28
|
+
const DATA = {
|
|
29
29
|
containerComponent: {
|
|
30
30
|
componentOne: 'value'
|
|
31
31
|
}
|
|
32
32
|
};
|
|
33
33
|
expect((0, _conditionallyRequired.default)(DATA, CONFIG, COMPONENT)).toEqual(true);
|
|
34
34
|
});
|
|
35
|
-
test('should pass if the base and check fields have values',
|
|
36
|
-
|
|
35
|
+
test('should pass if the base and check fields have values', () => {
|
|
36
|
+
const DATA = {
|
|
37
37
|
containerComponent: {
|
|
38
38
|
componentOne: 'value',
|
|
39
39
|
componentTwo: 'value'
|
|
@@ -41,30 +41,30 @@ describe('utils', function () {
|
|
|
41
41
|
};
|
|
42
42
|
expect((0, _conditionallyRequired.default)(DATA, CONFIG, COMPONENT)).toEqual(true);
|
|
43
43
|
});
|
|
44
|
-
test('should pass if only the check field has a value',
|
|
45
|
-
|
|
44
|
+
test('should pass if only the check field has a value', () => {
|
|
45
|
+
const DATA = {
|
|
46
46
|
containerComponent: {
|
|
47
47
|
componentTwo: 'value'
|
|
48
48
|
}
|
|
49
49
|
};
|
|
50
50
|
expect((0, _conditionallyRequired.default)(DATA, CONFIG, COMPONENT)).toEqual(true);
|
|
51
51
|
});
|
|
52
|
-
test('should pass if only the check field has a value and that value is an array',
|
|
53
|
-
|
|
52
|
+
test('should pass if only the check field has a value and that value is an array', () => {
|
|
53
|
+
const DATA = {
|
|
54
54
|
containerComponent: {
|
|
55
55
|
componentTwo: ['value']
|
|
56
56
|
}
|
|
57
57
|
};
|
|
58
58
|
expect((0, _conditionallyRequired.default)(DATA, CONFIG, COMPONENT)).toEqual(true);
|
|
59
59
|
});
|
|
60
|
-
test('should fail if neither field has a value',
|
|
61
|
-
|
|
60
|
+
test('should fail if neither field has a value', () => {
|
|
61
|
+
const DATA = {
|
|
62
62
|
containerComponent: {}
|
|
63
63
|
};
|
|
64
64
|
expect((0, _conditionallyRequired.default)(DATA, CONFIG, COMPONENT)).toEqual(false);
|
|
65
65
|
});
|
|
66
|
-
test('should fail if there is no data',
|
|
67
|
-
|
|
66
|
+
test('should fail if there is no data', () => {
|
|
67
|
+
const DATA = {};
|
|
68
68
|
expect((0, _conditionallyRequired.default)(DATA, CONFIG, COMPONENT)).toEqual(false);
|
|
69
69
|
});
|
|
70
70
|
});
|
|
@@ -22,10 +22,10 @@ var _mustEnterAtLeastOne = _interopRequireDefault(require("./mustEnterAtLeastOne
|
|
|
22
22
|
var _mustHaveLessThanDecimalPlaces = _interopRequireDefault(require("./mustHaveLessThanDecimalPlaces"));
|
|
23
23
|
var _mustNotContainSql = _interopRequireDefault(require("./mustNotContainSql"));
|
|
24
24
|
var _mustSelectOnlyOne = _interopRequireDefault(require("./mustSelectOnlyOne"));
|
|
25
|
-
function _interopRequireDefault(
|
|
25
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
26
26
|
// Local imports
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
const functions = {
|
|
29
29
|
conditionallyPermittedChange: _conditionallyPermittedChange.default,
|
|
30
30
|
conditionallyRequired: _conditionallyRequired.default,
|
|
31
31
|
mustBeAfter: _mustBeAfter.default,
|
|
@@ -45,21 +45,21 @@ var functions = {
|
|
|
45
45
|
mustNotContainSql: _mustNotContainSql.default,
|
|
46
46
|
mustSelectOnlyOne: _mustSelectOnlyOne.default
|
|
47
47
|
};
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
const additionalValidation = (value, config, component, formData) => {
|
|
49
|
+
const fn = functions[config.function];
|
|
50
|
+
const valueToValidate = config.objectValueToUse ? value[config.objectValueToUse] : value;
|
|
51
51
|
if (typeof fn === 'function') {
|
|
52
52
|
return fn(valueToValidate, config, component, formData) ? undefined : config.message;
|
|
53
53
|
}
|
|
54
54
|
return undefined;
|
|
55
55
|
};
|
|
56
|
-
|
|
56
|
+
const runAdditionalComponentValidation = (component, value, formData) => {
|
|
57
57
|
// We only care when we have a value - if we don't have one but want one, set `required: true`.
|
|
58
58
|
// eslint-disable-next-line no-extra-boolean-cast
|
|
59
59
|
if (!!value) {
|
|
60
60
|
if (Array.isArray(component.additionalValidation)) {
|
|
61
|
-
|
|
62
|
-
component.additionalValidation.forEach(
|
|
61
|
+
let error;
|
|
62
|
+
component.additionalValidation.forEach(config => {
|
|
63
63
|
// If we've already encountered an error, don't run any more validators.
|
|
64
64
|
if (!error) {
|
|
65
65
|
error = additionalValidation(value, config, component, formData);
|
|
@@ -4,13 +4,13 @@ var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
|
4
4
|
var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customParseFormat"));
|
|
5
5
|
var _utils = require("./utils");
|
|
6
6
|
var _index = _interopRequireDefault(require("./index"));
|
|
7
|
-
function _interopRequireDefault(
|
|
7
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
8
|
_dayjs.default.extend(_customParseFormat.default);
|
|
9
|
-
describe('utils',
|
|
10
|
-
describe('Validate',
|
|
11
|
-
describe('additional',
|
|
12
|
-
it('should apply optional validators when specified',
|
|
13
|
-
|
|
9
|
+
describe('utils', () => {
|
|
10
|
+
describe('Validate', () => {
|
|
11
|
+
describe('additional', () => {
|
|
12
|
+
it('should apply optional validators when specified', () => {
|
|
13
|
+
const COMPONENT = {
|
|
14
14
|
additionalValidation: [{
|
|
15
15
|
function: 'mustBeAfter',
|
|
16
16
|
value: 3,
|
|
@@ -18,11 +18,11 @@ describe('utils', function () {
|
|
|
18
18
|
message: 'Date must be more than 3 days in the future'
|
|
19
19
|
}]
|
|
20
20
|
};
|
|
21
|
-
|
|
21
|
+
const VALUE = (0, _dayjs.default)().add(1, 'day').format(_utils.DATE_FORMAT);
|
|
22
22
|
expect((0, _index.default)(COMPONENT, VALUE)).toEqual('Date must be more than 3 days in the future');
|
|
23
23
|
});
|
|
24
|
-
it('should apply multiple optional validators when specified',
|
|
25
|
-
|
|
24
|
+
it('should apply multiple optional validators when specified', () => {
|
|
25
|
+
const COMPONENT = {
|
|
26
26
|
additionalValidation: [{
|
|
27
27
|
function: 'mustBeAfter',
|
|
28
28
|
value: 100,
|
|
@@ -35,11 +35,11 @@ describe('utils', function () {
|
|
|
35
35
|
message: 'Date must be less than 200 days in the future'
|
|
36
36
|
}]
|
|
37
37
|
};
|
|
38
|
-
|
|
38
|
+
const VALUE = (0, _dayjs.default)().add(250, 'day').format(_utils.DATE_FORMAT);
|
|
39
39
|
expect((0, _index.default)(COMPONENT, VALUE)).toEqual('Date must be less than 200 days in the future');
|
|
40
40
|
});
|
|
41
|
-
it('should apply multiple optional validators when specified and return undefined if all are passed',
|
|
42
|
-
|
|
41
|
+
it('should apply multiple optional validators when specified and return undefined if all are passed', () => {
|
|
42
|
+
const COMPONENT = {
|
|
43
43
|
additionalValidation: [{
|
|
44
44
|
function: 'mustBeAfter',
|
|
45
45
|
value: 100,
|
|
@@ -55,11 +55,11 @@ describe('utils', function () {
|
|
|
55
55
|
message: 'Date must be in the future'
|
|
56
56
|
}]
|
|
57
57
|
};
|
|
58
|
-
|
|
58
|
+
const VALUE = (0, _dayjs.default)().add(150, 'day').format(_utils.DATE_FORMAT);
|
|
59
59
|
expect((0, _index.default)(COMPONENT, VALUE)).toEqual(undefined);
|
|
60
60
|
});
|
|
61
|
-
it('should apply optional validators that fail when the value is an object',
|
|
62
|
-
|
|
61
|
+
it('should apply optional validators that fail when the value is an object', () => {
|
|
62
|
+
const COMPONENT = {
|
|
63
63
|
fieldId: 'container',
|
|
64
64
|
components: [{
|
|
65
65
|
id: 'eventDate',
|
|
@@ -75,7 +75,7 @@ describe('utils', function () {
|
|
|
75
75
|
message: 'The date and time cannot be in the future'
|
|
76
76
|
}]
|
|
77
77
|
};
|
|
78
|
-
|
|
78
|
+
const VALUE = {
|
|
79
79
|
container: {
|
|
80
80
|
eventDate: '01-07-4024',
|
|
81
81
|
eventTime: '1:1'
|
|
@@ -83,8 +83,8 @@ describe('utils', function () {
|
|
|
83
83
|
};
|
|
84
84
|
expect((0, _index.default)(COMPONENT, VALUE)).toEqual('The date and time cannot be in the future');
|
|
85
85
|
});
|
|
86
|
-
it('should apply optional validators that pass when the value is an object',
|
|
87
|
-
|
|
86
|
+
it('should apply optional validators that pass when the value is an object', () => {
|
|
87
|
+
const COMPONENT = {
|
|
88
88
|
fieldId: 'container',
|
|
89
89
|
components: [{
|
|
90
90
|
id: 'eventDate',
|
|
@@ -100,7 +100,7 @@ describe('utils', function () {
|
|
|
100
100
|
message: 'The date and time cannot be in the future'
|
|
101
101
|
}]
|
|
102
102
|
};
|
|
103
|
-
|
|
103
|
+
const VALUE = {
|
|
104
104
|
container: {
|
|
105
105
|
eventDate: '01-07-1024',
|
|
106
106
|
eventTime: '1:1'
|
|
@@ -108,8 +108,8 @@ describe('utils', function () {
|
|
|
108
108
|
};
|
|
109
109
|
expect((0, _index.default)(COMPONENT, VALUE)).toEqual(undefined);
|
|
110
110
|
});
|
|
111
|
-
it('should apply optional validators when the value is within an object',
|
|
112
|
-
|
|
111
|
+
it('should apply optional validators when the value is within an object', () => {
|
|
112
|
+
const COMPONENT = {
|
|
113
113
|
additionalValidation: [{
|
|
114
114
|
function: 'mustBeAfter',
|
|
115
115
|
value: 3,
|
|
@@ -118,7 +118,7 @@ describe('utils', function () {
|
|
|
118
118
|
message: 'Date must be more than 3 days in the future'
|
|
119
119
|
}]
|
|
120
120
|
};
|
|
121
|
-
|
|
121
|
+
const VALUE = {
|
|
122
122
|
testValue: "",
|
|
123
123
|
date: (0, _dayjs.default)().add(1, 'day').format(_utils.DATE_FORMAT)
|
|
124
124
|
};
|
|
@@ -7,7 +7,7 @@ exports.default = void 0;
|
|
|
7
7
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
8
8
|
var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customParseFormat"));
|
|
9
9
|
var _utils = require("./utils");
|
|
10
|
-
function _interopRequireDefault(
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
11
|
// Global imports
|
|
12
12
|
|
|
13
13
|
// Local imports
|
|
@@ -26,8 +26,8 @@ _dayjs.default.extend(_customParseFormat.default);
|
|
|
26
26
|
* @param {number} config.value - number of the unit to be after
|
|
27
27
|
* @returns false if date is not after the given date/offset or true if it is.
|
|
28
28
|
*/
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
const mustBeAfter = (date, config) => {
|
|
30
|
+
const dateToCompare = config.date ? (0, _dayjs.default)((0, _utils.formatString)(config.date), _utils.DATE_FORMAT) : (0, _dayjs.default)().add(config.value, config.unit);
|
|
31
31
|
return (0, _dayjs.default)((0, _utils.formatString)(date), _utils.DATE_FORMAT).isAfter(dateToCompare);
|
|
32
32
|
};
|
|
33
33
|
var _default = exports.default = mustBeAfter;
|
|
@@ -3,101 +3,101 @@
|
|
|
3
3
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
4
4
|
var _mustBeAfter = _interopRequireDefault(require("./mustBeAfter"));
|
|
5
5
|
var _utils = require("./utils");
|
|
6
|
-
function _interopRequireDefault(
|
|
7
|
-
describe('utils',
|
|
8
|
-
describe('Validate',
|
|
9
|
-
describe('additional',
|
|
10
|
-
describe('mustBeAfter',
|
|
11
|
-
test('should return true given a date after the given number of months in the future',
|
|
12
|
-
|
|
13
|
-
|
|
6
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
|
+
describe('utils', () => {
|
|
8
|
+
describe('Validate', () => {
|
|
9
|
+
describe('additional', () => {
|
|
10
|
+
describe('mustBeAfter', () => {
|
|
11
|
+
test('should return true given a date after the given number of months in the future', () => {
|
|
12
|
+
const date = (0, _dayjs.default)().add(3, 'month').format(_utils.DATE_FORMAT);
|
|
13
|
+
const result = (0, _mustBeAfter.default)(date, {
|
|
14
14
|
value: 1,
|
|
15
15
|
unit: 'month'
|
|
16
16
|
});
|
|
17
17
|
expect(result).toEqual(true);
|
|
18
18
|
});
|
|
19
|
-
test('should return false given a date before the given number of months in the future',
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
test('should return false given a date before the given number of months in the future', () => {
|
|
20
|
+
const date = (0, _dayjs.default)().add(3, 'month').format(_utils.DATE_FORMAT);
|
|
21
|
+
const result = (0, _mustBeAfter.default)(date, {
|
|
22
22
|
value: 5,
|
|
23
23
|
unit: 'month'
|
|
24
24
|
});
|
|
25
25
|
expect(result).toEqual(false);
|
|
26
26
|
});
|
|
27
|
-
test('should return true given a date after the given number of months in the past',
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
test('should return true given a date after the given number of months in the past', () => {
|
|
28
|
+
const date = (0, _dayjs.default)().add(-3, 'month').format(_utils.DATE_FORMAT);
|
|
29
|
+
const result = (0, _mustBeAfter.default)(date, {
|
|
30
30
|
value: -5,
|
|
31
31
|
unit: 'month'
|
|
32
32
|
});
|
|
33
33
|
expect(result).toEqual(true);
|
|
34
34
|
});
|
|
35
|
-
test('should return false given a date before the given number of months in the past',
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
test('should return false given a date before the given number of months in the past', () => {
|
|
36
|
+
const date = (0, _dayjs.default)().add(-10, 'month').format(_utils.DATE_FORMAT);
|
|
37
|
+
const result = (0, _mustBeAfter.default)(date, {
|
|
38
38
|
value: -5,
|
|
39
39
|
unit: 'month'
|
|
40
40
|
});
|
|
41
41
|
expect(result).toEqual(false);
|
|
42
42
|
});
|
|
43
|
-
test('should return true given a date after the given number of years in the future',
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
test('should return true given a date after the given number of years in the future', () => {
|
|
44
|
+
const date = (0, _dayjs.default)().add(3, 'year').format(_utils.DATE_FORMAT);
|
|
45
|
+
const result = (0, _mustBeAfter.default)(date, {
|
|
46
46
|
value: 1,
|
|
47
47
|
unit: 'year'
|
|
48
48
|
});
|
|
49
49
|
expect(result).toEqual(true);
|
|
50
50
|
});
|
|
51
|
-
test('should return false given a date before the given number of years in the future',
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
test('should return false given a date before the given number of years in the future', () => {
|
|
52
|
+
const date = (0, _dayjs.default)().add(15, 'year').format(_utils.DATE_FORMAT);
|
|
53
|
+
const result = (0, _mustBeAfter.default)(date, {
|
|
54
54
|
value: 20,
|
|
55
55
|
unit: 'year'
|
|
56
56
|
});
|
|
57
57
|
expect(result).toEqual(false);
|
|
58
58
|
});
|
|
59
|
-
test('should return true given a date after the given number of years in the past',
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
test('should return true given a date after the given number of years in the past', () => {
|
|
60
|
+
const date = (0, _dayjs.default)().add(-15, 'year').format(_utils.DATE_FORMAT);
|
|
61
|
+
const result = (0, _mustBeAfter.default)(date, {
|
|
62
62
|
value: -20,
|
|
63
63
|
unit: 'year'
|
|
64
64
|
});
|
|
65
65
|
expect(result).toEqual(true);
|
|
66
66
|
});
|
|
67
|
-
test('should return false given a date before the given number of years in the past',
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
test('should return false given a date before the given number of years in the past', () => {
|
|
68
|
+
const date = (0, _dayjs.default)().add(-25, 'year').format(_utils.DATE_FORMAT);
|
|
69
|
+
const result = (0, _mustBeAfter.default)(date, {
|
|
70
70
|
value: -20,
|
|
71
71
|
unit: 'year'
|
|
72
72
|
});
|
|
73
73
|
expect(result).toEqual(false);
|
|
74
74
|
});
|
|
75
|
-
test('should return true given a date after the given number of days in the future',
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
test('should return true given a date after the given number of days in the future', () => {
|
|
76
|
+
const date = (0, _dayjs.default)().add(3, 'day').format(_utils.DATE_FORMAT);
|
|
77
|
+
const result = (0, _mustBeAfter.default)(date, {
|
|
78
78
|
value: 1,
|
|
79
79
|
unit: 'day'
|
|
80
80
|
});
|
|
81
81
|
expect(result).toEqual(true);
|
|
82
82
|
});
|
|
83
|
-
test('should return false given a date before the given number of days in the future',
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
test('should return false given a date before the given number of days in the future', () => {
|
|
84
|
+
const date = (0, _dayjs.default)().add(250, 'day').format(_utils.DATE_FORMAT);
|
|
85
|
+
const result = (0, _mustBeAfter.default)(date, {
|
|
86
86
|
value: 275,
|
|
87
87
|
unit: 'day'
|
|
88
88
|
});
|
|
89
89
|
expect(result).toEqual(false);
|
|
90
90
|
});
|
|
91
|
-
test('should return false given a date before the specified fixed date',
|
|
92
|
-
|
|
93
|
-
|
|
91
|
+
test('should return false given a date before the specified fixed date', () => {
|
|
92
|
+
const date = (0, _dayjs.default)().format(_utils.DATE_FORMAT);
|
|
93
|
+
const result = (0, _mustBeAfter.default)(date, {
|
|
94
94
|
date: '01-01-5000'
|
|
95
95
|
});
|
|
96
96
|
expect(result).toEqual(false);
|
|
97
97
|
});
|
|
98
|
-
test('should return true given a date after the specified fixed date',
|
|
99
|
-
|
|
100
|
-
|
|
98
|
+
test('should return true given a date after the specified fixed date', () => {
|
|
99
|
+
const date = (0, _dayjs.default)().format(_utils.DATE_FORMAT);
|
|
100
|
+
const result = (0, _mustBeAfter.default)(date, {
|
|
101
101
|
date: '01-01-2000'
|
|
102
102
|
});
|
|
103
103
|
expect(result).toEqual(true);
|
|
@@ -7,7 +7,7 @@ exports.default = void 0;
|
|
|
7
7
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
8
8
|
var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customParseFormat"));
|
|
9
9
|
var _utils = require("./utils");
|
|
10
|
-
function _interopRequireDefault(
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
11
|
// Global imports
|
|
12
12
|
|
|
13
13
|
// Local imports
|
|
@@ -26,8 +26,8 @@ _dayjs.default.extend(_customParseFormat.default);
|
|
|
26
26
|
* @param {number} config.value - number of the unit to be before
|
|
27
27
|
* @returns false if date is not before the given date/offset or true if it is.
|
|
28
28
|
*/
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
const mustBeBefore = (date, config) => {
|
|
30
|
+
const dateToCompare = config.date ? (0, _dayjs.default)((0, _utils.formatString)(config.date), _utils.DATE_FORMAT) : (0, _dayjs.default)().add(config.value, config.unit);
|
|
31
31
|
return (0, _dayjs.default)((0, _utils.formatString)(date), _utils.DATE_FORMAT).isBefore(dateToCompare);
|
|
32
32
|
};
|
|
33
33
|
var _default = exports.default = mustBeBefore;
|
|
@@ -3,69 +3,69 @@
|
|
|
3
3
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
4
4
|
var _mustBeBefore = _interopRequireDefault(require("./mustBeBefore"));
|
|
5
5
|
var _utils = require("./utils");
|
|
6
|
-
function _interopRequireDefault(
|
|
7
|
-
describe('utils',
|
|
8
|
-
describe('Validate',
|
|
9
|
-
describe('additional',
|
|
10
|
-
describe('mustBeBefore',
|
|
11
|
-
test('should return true given a date before the given number of months in the future',
|
|
12
|
-
|
|
13
|
-
|
|
6
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
|
+
describe('utils', () => {
|
|
8
|
+
describe('Validate', () => {
|
|
9
|
+
describe('additional', () => {
|
|
10
|
+
describe('mustBeBefore', () => {
|
|
11
|
+
test('should return true given a date before the given number of months in the future', () => {
|
|
12
|
+
const date = (0, _dayjs.default)().add(1, 'month').format(_utils.DATE_FORMAT);
|
|
13
|
+
const result = (0, _mustBeBefore.default)(date, {
|
|
14
14
|
value: 3,
|
|
15
15
|
unit: 'month'
|
|
16
16
|
});
|
|
17
17
|
expect(result).toEqual(true);
|
|
18
18
|
});
|
|
19
|
-
test('should return false given a date after the given number of months in the future',
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
test('should return false given a date after the given number of months in the future', () => {
|
|
20
|
+
const date = (0, _dayjs.default)().add(5, 'month').format(_utils.DATE_FORMAT);
|
|
21
|
+
const result = (0, _mustBeBefore.default)(date, {
|
|
22
22
|
value: 3,
|
|
23
23
|
unit: 'month'
|
|
24
24
|
});
|
|
25
25
|
expect(result).toEqual(false);
|
|
26
26
|
});
|
|
27
|
-
test('should return true given a date before the given number of years in the future',
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
test('should return true given a date before the given number of years in the future', () => {
|
|
28
|
+
const date = (0, _dayjs.default)().add(1, 'year').format(_utils.DATE_FORMAT);
|
|
29
|
+
const result = (0, _mustBeBefore.default)(date, {
|
|
30
30
|
value: 3,
|
|
31
31
|
unit: 'year'
|
|
32
32
|
});
|
|
33
33
|
expect(result).toEqual(true);
|
|
34
34
|
});
|
|
35
|
-
test('should return false given a date after the given number of years in the future',
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
test('should return false given a date after the given number of years in the future', () => {
|
|
36
|
+
const date = (0, _dayjs.default)().add(20, 'year').format(_utils.DATE_FORMAT);
|
|
37
|
+
const result = (0, _mustBeBefore.default)(date, {
|
|
38
38
|
value: 15,
|
|
39
39
|
unit: 'year'
|
|
40
40
|
});
|
|
41
41
|
expect(result).toEqual(false);
|
|
42
42
|
});
|
|
43
|
-
test('should return true given a date before the given number of days in the future',
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
test('should return true given a date before the given number of days in the future', () => {
|
|
44
|
+
const date = (0, _dayjs.default)().add(1, 'day').format(_utils.DATE_FORMAT);
|
|
45
|
+
const result = (0, _mustBeBefore.default)(date, {
|
|
46
46
|
value: 3,
|
|
47
47
|
unit: 'day'
|
|
48
48
|
});
|
|
49
49
|
expect(result).toEqual(true);
|
|
50
50
|
});
|
|
51
|
-
test('should return true given a date after the given number of days in the future',
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
test('should return true given a date after the given number of days in the future', () => {
|
|
52
|
+
const date = (0, _dayjs.default)().add(275, 'day').format(_utils.DATE_FORMAT);
|
|
53
|
+
const result = (0, _mustBeBefore.default)(date, {
|
|
54
54
|
value: 250,
|
|
55
55
|
unit: 'day'
|
|
56
56
|
});
|
|
57
57
|
expect(result).toEqual(false);
|
|
58
58
|
});
|
|
59
|
-
test('should return false given a date after the specified fixed date',
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
test('should return false given a date after the specified fixed date', () => {
|
|
60
|
+
const date = (0, _dayjs.default)().format(_utils.DATE_FORMAT);
|
|
61
|
+
const result = (0, _mustBeBefore.default)(date, {
|
|
62
62
|
date: '01-01-2000'
|
|
63
63
|
});
|
|
64
64
|
expect(result).toEqual(false);
|
|
65
65
|
});
|
|
66
|
-
test('should return true given a date before the specified fixed date',
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
test('should return true given a date before the specified fixed date', () => {
|
|
67
|
+
const date = (0, _dayjs.default)().format(_utils.DATE_FORMAT);
|
|
68
|
+
const result = (0, _mustBeBefore.default)(date, {
|
|
69
69
|
date: '01-01-5000'
|
|
70
70
|
});
|
|
71
71
|
expect(result).toEqual(true);
|
|
@@ -8,7 +8,7 @@ var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
|
8
8
|
var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customParseFormat"));
|
|
9
9
|
var _validateComponent = _interopRequireDefault(require("../validateComponent"));
|
|
10
10
|
var _utils = require("./utils");
|
|
11
|
-
function _interopRequireDefault(
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
12
|
// Global Imports
|
|
13
13
|
|
|
14
14
|
// Local imports
|
|
@@ -28,19 +28,15 @@ _dayjs.default.extend(_customParseFormat.default);
|
|
|
28
28
|
* the individual components. False if the date & time is in the future, or
|
|
29
29
|
* the date/time component can't be found.
|
|
30
30
|
*/
|
|
31
|
-
|
|
31
|
+
const mustBeEarlierDateTime = (data, config, container) => {
|
|
32
32
|
var _container$components, _container$components2, _data$container$field, _data$container$field2, _data$container$field3, _data$container$field4;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
});
|
|
36
|
-
var time = (_container$components2 = container.components) === null || _container$components2 === void 0 ? void 0 : _container$components2.find(function (c) {
|
|
37
|
-
return c.fieldId === config.time;
|
|
38
|
-
});
|
|
33
|
+
const date = (_container$components = container.components) === null || _container$components === void 0 ? void 0 : _container$components.find(c => c.fieldId === config.date);
|
|
34
|
+
const time = (_container$components2 = container.components) === null || _container$components2 === void 0 ? void 0 : _container$components2.find(c => c.fieldId === config.time);
|
|
39
35
|
if (!date || !time || !data) {
|
|
40
36
|
return false;
|
|
41
37
|
}
|
|
42
|
-
|
|
43
|
-
|
|
38
|
+
const dateFromData = (_data$container$field = data[container.fieldId]) === null || _data$container$field === void 0 ? void 0 : _data$container$field[config.date];
|
|
39
|
+
const timeFromData = (_data$container$field2 = data[container.fieldId]) === null || _data$container$field2 === void 0 ? void 0 : _data$container$field2[config.time];
|
|
44
40
|
if (!dateFromData || !timeFromData) {
|
|
45
41
|
return true;
|
|
46
42
|
}
|
|
@@ -53,8 +49,8 @@ var mustBeEarlierDateTime = function mustBeEarlierDateTime(data, config, contain
|
|
|
53
49
|
if ((0, _validateComponent.default)(time, data[container.fieldId], data[container.fieldId])) {
|
|
54
50
|
return true;
|
|
55
51
|
}
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
const dateStr = (0, _utils.formatString)((_data$container$field3 = data[container.fieldId]) === null || _data$container$field3 === void 0 ? void 0 : _data$container$field3[config.date]);
|
|
53
|
+
const timeStr = (0, _utils.formattedTime)((_data$container$field4 = data[container.fieldId]) === null || _data$container$field4 === void 0 ? void 0 : _data$container$field4[config.time]);
|
|
58
54
|
return (0, _dayjs.default)("".concat(dateStr, " ").concat(timeStr), "".concat(_utils.DATE_FORMAT, " HH:mm")).isBefore((0, _dayjs.default)());
|
|
59
55
|
};
|
|
60
56
|
var _default = exports.default = mustBeEarlierDateTime;
|