@ukhomeoffice/cop-react-form-renderer 5.89.0 → 5.90.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/CheckYourAnswers/Answer.js +15 -15
- package/dist/components/CheckYourAnswers/Answer.test.js +132 -181
- package/dist/components/CheckYourAnswers/CheckYourAnswers.js +106 -142
- package/dist/components/CheckYourAnswers/CheckYourAnswers.test.js +563 -941
- package/dist/components/CheckYourAnswers/index.js +1 -1
- package/dist/components/CollectionPage/CollectionPage.js +76 -66
- package/dist/components/CollectionPage/CollectionPage.test.js +318 -369
- package/dist/components/CollectionPage/index.js +1 -1
- package/dist/components/CollectionSummary/BannerStrip.js +15 -15
- package/dist/components/CollectionSummary/BannerStrip.test.js +83 -79
- package/dist/components/CollectionSummary/CollectionSummary.js +109 -131
- package/dist/components/CollectionSummary/CollectionSummary.test.js +198 -180
- package/dist/components/CollectionSummary/Confirmation.js +15 -13
- package/dist/components/CollectionSummary/Confirmation.test.js +68 -63
- package/dist/components/CollectionSummary/RenderListView.js +47 -55
- package/dist/components/CollectionSummary/RenderListView.test.js +82 -81
- package/dist/components/CollectionSummary/SummaryCard.js +121 -157
- package/dist/components/CollectionSummary/SummaryCard.test.js +970 -1000
- package/dist/components/CollectionSummary/SummaryCardDetails.js +103 -94
- package/dist/components/CollectionSummary/SummaryCardDetails.test.js +187 -195
- package/dist/components/CollectionSummary/SummaryCardValidationContext.js +31 -36
- package/dist/components/CollectionSummary/SummaryCardValidationContext.test.js +64 -76
- package/dist/components/CollectionSummary/index.js +1 -1
- package/dist/components/FormComponent/Collection.js +81 -117
- package/dist/components/FormComponent/Collection.scss +1 -1
- package/dist/components/FormComponent/Collection.test.js +910 -1082
- package/dist/components/FormComponent/Container.js +45 -38
- package/dist/components/FormComponent/Container.scss +15 -0
- package/dist/components/FormComponent/Container.test.js +379 -411
- package/dist/components/FormComponent/FormComponent.js +71 -74
- 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 +71 -87
- package/dist/components/FormPage/FormPage.test.js +133 -170
- package/dist/components/FormPage/index.js +1 -1
- package/dist/components/FormRenderer/FormRenderer.js +153 -198
- package/dist/components/FormRenderer/FormRenderer.test.js +731 -1116
- 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 +27 -30
- package/dist/components/FormRenderer/helpers/cleanHiddenNestedData.test.js +21 -21
- package/dist/components/FormRenderer/helpers/getCYA.js +5 -7
- 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 +18 -32
- 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 +8 -11
- 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 +104 -98
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.js +65 -64
- package/dist/components/FormRenderer/helpers/getUpdatedSectionStates.test.js +72 -79
- package/dist/components/FormRenderer/helpers/index.js +2 -2
- package/dist/components/FormRenderer/index.js +1 -1
- package/dist/components/FormRenderer/onCYAAction.js +61 -54
- package/dist/components/FormRenderer/onCYAAction.test.js +165 -153
- package/dist/components/FormRenderer/onPageAction.js +45 -41
- package/dist/components/FormRenderer/onPageAction.test.js +225 -210
- package/dist/components/FormRenderer/onTaskAction.js +11 -15
- package/dist/components/FormRenderer/onTaskAction.test.js +94 -89
- package/dist/components/PageActions/ActionButton.js +13 -16
- 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 +13 -21
- package/dist/components/SummaryList/GroupAction.test.js +41 -37
- package/dist/components/SummaryList/RowAction.js +12 -17
- package/dist/components/SummaryList/RowAction.test.js +41 -37
- package/dist/components/SummaryList/SummaryList.js +23 -28
- package/dist/components/SummaryList/SummaryList.test.js +179 -206
- package/dist/components/SummaryList/SummaryListHeadingRow.js +8 -6
- package/dist/components/SummaryList/SummaryListHeadingRowWithAction.js +7 -5
- package/dist/components/SummaryList/SummaryListRow.js +8 -6
- package/dist/components/SummaryList/SummaryListTitleRow.js +7 -5
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.js +4 -6
- package/dist/components/SummaryList/helpers/getGroupActionAttributes.test.js +24 -24
- package/dist/components/SummaryList/helpers/getRowActionAttributes.js +4 -6
- 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 +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 +53 -84
- package/dist/components/TaskList/TaskList.test.js +150 -150
- package/dist/components/TaskList/TaskState.js +8 -6
- package/dist/components/TaskList/TaskState.test.js +56 -49
- package/dist/components/TaskList/index.js +1 -1
- package/dist/components/index.js +8 -8
- package/dist/context/HooksContext/HooksContext.js +58 -81
- 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 +58 -70
- 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 +28 -41
- 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 +31 -32
- package/dist/utils/CheckYourAnswers/getCYAAction.js +5 -5
- package/dist/utils/CheckYourAnswers/getCYAAction.test.js +53 -55
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.js +17 -27
- package/dist/utils/CheckYourAnswers/getCYACollectionChangeAction.test.js +34 -36
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.js +20 -34
- package/dist/utils/CheckYourAnswers/getCYACollectionDeleteAction.test.js +43 -45
- package/dist/utils/CheckYourAnswers/getCYARow.js +8 -10
- package/dist/utils/CheckYourAnswers/getCYARow.test.js +87 -87
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.js +19 -25
- package/dist/utils/CheckYourAnswers/getCYARowForGroup.test.js +16 -17
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.js +39 -45
- package/dist/utils/CheckYourAnswers/getCYARowsForCollection.test.js +72 -75
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.js +100 -105
- package/dist/utils/CheckYourAnswers/getCYARowsForCollectionPage.test.js +218 -182
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.js +26 -21
- package/dist/utils/CheckYourAnswers/getCYARowsForContainer.test.js +112 -106
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.js +15 -21
- package/dist/utils/CheckYourAnswers/getCYARowsForPage.test.js +77 -83
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.js +13 -13
- package/dist/utils/CheckYourAnswers/getSummaryListRowForDetails.test.js +14 -19
- package/dist/utils/CheckYourAnswers/index.js +2 -2
- package/dist/utils/CheckYourAnswers/showComponentCYA.js +6 -6
- package/dist/utils/CheckYourAnswers/showComponentCYA.test.js +26 -26
- package/dist/utils/CollectionPage/addCollectionPageEntry.js +3 -3
- package/dist/utils/CollectionPage/addCollectionPageEntry.test.js +6 -6
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.js +3 -3
- package/dist/utils/CollectionPage/duplicateCollectionPageActiveEntry.test.js +21 -22
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.js +15 -24
- package/dist/utils/CollectionPage/duplicateCollectionPageEntry.test.js +52 -43
- package/dist/utils/CollectionPage/getCollectionPageActiveId.js +3 -3
- package/dist/utils/CollectionPage/getCollectionPageActiveId.test.js +11 -11
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.js +7 -12
- package/dist/utils/CollectionPage/getCollectionPageActiveIndex.test.js +23 -23
- package/dist/utils/CollectionPage/getCollectionPageData.js +8 -13
- package/dist/utils/CollectionPage/getCollectionPageData.test.js +20 -20
- package/dist/utils/CollectionPage/getErrorsForCollection.js +25 -26
- package/dist/utils/CollectionPage/getErrorsForCollection.test.js +21 -23
- package/dist/utils/CollectionPage/getQuickEditPage.js +37 -32
- package/dist/utils/CollectionPage/getQuickEditPage.test.js +18 -22
- package/dist/utils/CollectionPage/index.js +2 -2
- package/dist/utils/CollectionPage/mergeCollectionPages.js +37 -42
- package/dist/utils/CollectionPage/mergeCollectionPages.test.js +26 -22
- package/dist/utils/CollectionPage/removeCollectionPageEntry.js +5 -7
- package/dist/utils/CollectionPage/removeCollectionPageEntry.test.js +11 -11
- package/dist/utils/CollectionPage/setCollectionPageData.js +13 -19
- package/dist/utils/CollectionPage/setCollectionPageData.test.js +26 -26
- package/dist/utils/Component/addShowWhen.js +4 -8
- package/dist/utils/Component/addShowWhen.test.js +38 -38
- package/dist/utils/Component/applyToComponentTree.js +19 -20
- package/dist/utils/Component/applyToComponentTree.test.js +28 -33
- package/dist/utils/Component/cleanAttributes.js +10 -13
- package/dist/utils/Component/cleanAttributes.test.js +17 -18
- package/dist/utils/Component/elevateNestedComponents.js +6 -7
- package/dist/utils/Component/elevateNestedComponents.test.js +34 -34
- package/dist/utils/Component/getComponent.js +90 -97
- package/dist/utils/Component/getComponentTests/getComponent.autocomplete.test.js +19 -18
- package/dist/utils/Component/getComponentTests/getComponent.calculation.test.js +50 -63
- package/dist/utils/Component/getComponentTests/getComponent.checkboxes.test.js +40 -49
- package/dist/utils/Component/getComponentTests/getComponent.date.test.js +30 -40
- 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 +22 -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 +23 -27
- package/dist/utils/Component/getComponentTests/getComponent.nested.test.js +155 -175
- 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 +34 -41
- package/dist/utils/Component/getComponentTests/getComponent.time.test.js +23 -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 +13 -13
- package/dist/utils/Component/getDefaultValueFromConfig.js +24 -24
- 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 +29 -31
- package/dist/utils/Component/setupContainerComponentsPath.test.js +16 -16
- package/dist/utils/Component/showComponent.js +3 -4
- 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 +20 -31
- 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 +14 -19
- 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 +16 -22
- package/dist/utils/Container/setupNesting.test.js +28 -31
- package/dist/utils/Container/showContainer.js +4 -8
- package/dist/utils/Container/showContainer.test.js +31 -31
- package/dist/utils/Data/applyFormula.js +40 -50
- package/dist/utils/Data/applyFormula.test.js +26 -26
- package/dist/utils/Data/deleteValues.js +4 -8
- package/dist/utils/Data/deleteValues.test.js +11 -11
- package/dist/utils/Data/getAutocompleteSource.js +20 -29
- package/dist/utils/Data/getAutocompleteSource.test.js +81 -87
- package/dist/utils/Data/getDataPath.js +20 -30
- package/dist/utils/Data/getDataPath.test.js +20 -20
- package/dist/utils/Data/getOptions.js +27 -34
- package/dist/utils/Data/getOptions.test.js +28 -28
- 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 -16
- package/dist/utils/Data/nestInRefdataOptions.test.js +17 -17
- package/dist/utils/Data/refDataToOptions.js +11 -15
- 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 +14 -22
- package/dist/utils/Data/setupFormData.test.js +52 -51
- package/dist/utils/Data/setupRefDataUrlForComponent.js +21 -28
- package/dist/utils/Data/setupRefDataUrlForComponent.test.js +28 -28
- package/dist/utils/FormPage/applyConditionalProperties.js +6 -10
- package/dist/utils/FormPage/applyConditionalProperties.test.js +16 -19
- package/dist/utils/FormPage/getConditionalText.js +4 -4
- package/dist/utils/FormPage/getConditionalText.test.js +35 -35
- package/dist/utils/FormPage/getFormPage.js +16 -17
- package/dist/utils/FormPage/getFormPage.test.js +49 -48
- package/dist/utils/FormPage/getFormPages.js +8 -13
- package/dist/utils/FormPage/getFormPages.test.js +22 -25
- package/dist/utils/FormPage/getPageActions.js +10 -17
- 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 +3 -3
- package/dist/utils/FormPage/showFormPageCYA.test.js +9 -9
- package/dist/utils/FormPage/useComponent.js +21 -28
- package/dist/utils/FormPage/useComponent.test.js +78 -80
- 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 +6 -8
- 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 +29 -32
- package/dist/utils/Hub/index.js +2 -2
- package/dist/utils/Meta/constants.js +2 -2
- package/dist/utils/Meta/documents/getDocuments.js +1 -4
- 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 +15 -17
- package/dist/utils/Meta/documents/setDocumentsForField.test.js +69 -35
- package/dist/utils/Meta/index.js +2 -2
- package/dist/utils/Operate/checkValueIsTruthy.js +4 -4
- package/dist/utils/Operate/checkValueIsTruthy.test.js +17 -17
- package/dist/utils/Operate/deleteValueInFormData.js +3 -3
- package/dist/utils/Operate/deleteValueInFormData.test.js +15 -15
- package/dist/utils/Operate/getFirstOf.js +8 -8
- package/dist/utils/Operate/getFirstOf.test.js +33 -33
- package/dist/utils/Operate/getIndexOfMatchingValueIn.js +12 -12
- package/dist/utils/Operate/getIndexOfMatchingValueIn.test.js +47 -53
- package/dist/utils/Operate/getLength.js +11 -11
- package/dist/utils/Operate/getLength.test.js +19 -19
- package/dist/utils/Operate/index.js +2 -2
- package/dist/utils/Operate/persistValueInFormData.js +6 -6
- package/dist/utils/Operate/persistValueInFormData.test.js +23 -21
- package/dist/utils/Operate/runPageOperations.js +9 -9
- package/dist/utils/Operate/runPageOperations.test.js +36 -37
- package/dist/utils/Operate/setValueInFormData.js +5 -5
- package/dist/utils/Operate/setValueInFormData.test.js +17 -17
- package/dist/utils/Operate/shouldRun.js +8 -8
- package/dist/utils/Operate/shouldRun.test.js +22 -28
- package/dist/utils/Validate/additional/conditionallyPermittedChange.js +25 -0
- package/dist/utils/Validate/additional/conditionallyPermittedChange.test.js +33 -0
- package/dist/utils/Validate/additional/conditionallyRequired.js +4 -5
- package/dist/utils/Validate/additional/conditionallyRequired.test.js +19 -19
- package/dist/utils/Validate/additional/index.js +10 -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 +9 -14
- package/dist/utils/Validate/additional/mustBeEarlierDateTime.test.js +38 -42
- 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 +4 -4
- package/dist/utils/Validate/additional/mustBeInTheFuture.test.js +13 -13
- package/dist/utils/Validate/additional/mustBeInThePast.js +5 -5
- 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 +36 -40
- package/dist/utils/Validate/additional/mustEnterAtLeastOne.js +3 -5
- 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 +3 -5
- package/dist/utils/Validate/additional/mustSelectOnlyOne.test.js +29 -27
- package/dist/utils/Validate/additional/utils.js +11 -24
- package/dist/utils/Validate/index.js +2 -2
- package/dist/utils/Validate/validateCollection.js +21 -27
- package/dist/utils/Validate/validateCollection.test.js +85 -77
- package/dist/utils/Validate/validateComponent.js +22 -23
- package/dist/utils/Validate/validateComponent.test.js +188 -165
- package/dist/utils/Validate/validateContainer.js +16 -21
- package/dist/utils/Validate/validateContainer.test.js +62 -56
- package/dist/utils/Validate/validateDate.js +17 -23
- package/dist/utils/Validate/validateDate.test.js +31 -32
- package/dist/utils/Validate/validateEmail.js +7 -9
- package/dist/utils/Validate/validateEmail.test.js +26 -26
- package/dist/utils/Validate/validateMultifile.js +5 -7
- package/dist/utils/Validate/validateMultifile.test.js +17 -18
- package/dist/utils/Validate/validatePage.js +20 -24
- package/dist/utils/Validate/validatePage.test.js +227 -215
- package/dist/utils/Validate/validateRegex.js +5 -8
- package/dist/utils/Validate/validateRegex.test.js +17 -17
- package/dist/utils/Validate/validateRequired.js +5 -7
- package/dist/utils/Validate/validateRequired.test.js +19 -19
- package/dist/utils/Validate/validateTextArea.js +5 -7
- 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 +8 -10
- package/package.json +3 -2
|
@@ -1,51 +1,51 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _mustBeGreaterThan = _interopRequireDefault(require("./mustBeGreaterThan"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
describe('utils',
|
|
6
|
-
describe('Validate',
|
|
7
|
-
describe('additional',
|
|
8
|
-
describe('mustBeGreaterThan',
|
|
9
|
-
test('should return true given a number greater than 10',
|
|
10
|
-
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
5
|
+
describe('utils', () => {
|
|
6
|
+
describe('Validate', () => {
|
|
7
|
+
describe('additional', () => {
|
|
8
|
+
describe('mustBeGreaterThan', () => {
|
|
9
|
+
test('should return true given a number greater than 10', () => {
|
|
10
|
+
const result = (0, _mustBeGreaterThan.default)('11', {
|
|
11
11
|
value: 10
|
|
12
12
|
});
|
|
13
13
|
expect(result).toEqual(true);
|
|
14
14
|
});
|
|
15
|
-
test('should return false if provided value less than or equal to 10',
|
|
16
|
-
|
|
15
|
+
test('should return false if provided value less than or equal to 10', () => {
|
|
16
|
+
const result1 = (0, _mustBeGreaterThan.default)('9', {
|
|
17
17
|
value: 10
|
|
18
18
|
});
|
|
19
19
|
expect(result1).toBeFalsy();
|
|
20
|
-
|
|
20
|
+
const result2 = (0, _mustBeGreaterThan.default)('10', {
|
|
21
21
|
value: 10
|
|
22
22
|
});
|
|
23
23
|
expect(result2).toBeFalsy();
|
|
24
24
|
});
|
|
25
|
-
test('should correctly handle numbers with commas in',
|
|
26
|
-
|
|
25
|
+
test('should correctly handle numbers with commas in', () => {
|
|
26
|
+
const result1 = (0, _mustBeGreaterThan.default)('999,999,999.99', {
|
|
27
27
|
value: 1000000000
|
|
28
28
|
});
|
|
29
29
|
expect(result1).toEqual(false);
|
|
30
|
-
|
|
30
|
+
const result2 = (0, _mustBeGreaterThan.default)('1,000,000,123', {
|
|
31
31
|
value: 1000000000
|
|
32
32
|
});
|
|
33
33
|
expect(result2).toEqual(true);
|
|
34
34
|
});
|
|
35
|
-
test('should return true when string is undefined',
|
|
36
|
-
|
|
35
|
+
test('should return true when string is undefined', () => {
|
|
36
|
+
const result = (0, _mustBeGreaterThan.default)(undefined, {
|
|
37
37
|
value: 10
|
|
38
38
|
});
|
|
39
39
|
expect(result).toEqual(true);
|
|
40
40
|
});
|
|
41
|
-
test('should return true when string is empty',
|
|
42
|
-
|
|
41
|
+
test('should return true when string is empty', () => {
|
|
42
|
+
const result = (0, _mustBeGreaterThan.default)('', {
|
|
43
43
|
value: 10
|
|
44
44
|
});
|
|
45
45
|
expect(result).toEqual(true);
|
|
46
46
|
});
|
|
47
|
-
test('should return true when string is null',
|
|
48
|
-
|
|
47
|
+
test('should return true when string is null', () => {
|
|
48
|
+
const result = (0, _mustBeGreaterThan.default)(null, {
|
|
49
49
|
value: 10
|
|
50
50
|
});
|
|
51
51
|
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 _isToday = _interopRequireDefault(require("dayjs/plugin/isToday"));
|
|
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
|
|
@@ -22,11 +22,11 @@ _dayjs.default.extend(_isToday.default);
|
|
|
22
22
|
* @param {boolean} config.todayAllowed - true if today should be a valid date
|
|
23
23
|
* @returns true if date is after current date
|
|
24
24
|
*/
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
const mustBeInTheFuture = (date, config) => {
|
|
26
|
+
const afterToday = (0, _dayjs.default)((0, _utils.formatString)(date), _utils.DATE_FORMAT).isAfter((0, _dayjs.default)());
|
|
27
27
|
if (afterToday) {
|
|
28
28
|
return true;
|
|
29
29
|
}
|
|
30
|
-
return !!
|
|
30
|
+
return !!config?.todayAllowed && (0, _dayjs.default)((0, _utils.formatString)(date), _utils.DATE_FORMAT).isToday();
|
|
31
31
|
};
|
|
32
32
|
var _default = exports.default = mustBeInTheFuture;
|
|
@@ -2,25 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
4
4
|
var _mustBeInTheFuture = _interopRequireDefault(require("./mustBeInTheFuture"));
|
|
5
|
-
function _interopRequireDefault(
|
|
6
|
-
describe('utils',
|
|
7
|
-
describe('Validate',
|
|
8
|
-
describe('additional',
|
|
9
|
-
describe('mustBeInTheFuture',
|
|
10
|
-
test('should return false given a date in the past',
|
|
11
|
-
|
|
5
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
6
|
+
describe('utils', () => {
|
|
7
|
+
describe('Validate', () => {
|
|
8
|
+
describe('additional', () => {
|
|
9
|
+
describe('mustBeInTheFuture', () => {
|
|
10
|
+
test('should return false given a date in the past', () => {
|
|
11
|
+
const result = (0, _mustBeInTheFuture.default)((0, _dayjs.default)().subtract(1, 'day').format('DD-MM-YYYY'));
|
|
12
12
|
expect(result).toEqual(false);
|
|
13
13
|
});
|
|
14
|
-
test('should return true given a date in the future',
|
|
15
|
-
|
|
14
|
+
test('should return true given a date in the future', () => {
|
|
15
|
+
const result = (0, _mustBeInTheFuture.default)((0, _dayjs.default)().add(1, 'day').format('DD-MM-YYYY'));
|
|
16
16
|
expect(result).toEqual(true);
|
|
17
17
|
});
|
|
18
|
-
test('should return false given todays date',
|
|
19
|
-
|
|
18
|
+
test('should return false given todays date', () => {
|
|
19
|
+
const result = (0, _mustBeInTheFuture.default)((0, _dayjs.default)().format('DD-MM-YYYY'));
|
|
20
20
|
expect(result).toEqual(false);
|
|
21
21
|
});
|
|
22
|
-
test('should return true given todays date if todayAllowed is true',
|
|
23
|
-
|
|
22
|
+
test('should return true given todays date if todayAllowed is true', () => {
|
|
23
|
+
const result = (0, _mustBeInTheFuture.default)((0, _dayjs.default)().format('DD-MM-YYYY'), {
|
|
24
24
|
todayAllowed: true
|
|
25
25
|
});
|
|
26
26
|
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 _isToday = _interopRequireDefault(require("dayjs/plugin/isToday"));
|
|
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
|
|
@@ -23,13 +23,13 @@ _dayjs.default.extend(_isToday.default);
|
|
|
23
23
|
* @param {boolean} config.todayAllowed - true if today should be a valid date
|
|
24
24
|
* @returns true if date is before current date
|
|
25
25
|
*/
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
const mustBeInThePast = (date, config) => {
|
|
27
|
+
const beforeToday = (0, _dayjs.default)((0, _utils.formatString)(date), _utils.DATE_FORMAT).isBefore((0, _dayjs.default)());
|
|
28
|
+
const dateIsToday = (0, _dayjs.default)((0, _utils.formatString)(date), _utils.DATE_FORMAT).isToday();
|
|
29
29
|
// dayjs classifies the current day as in the past so exclude it here
|
|
30
30
|
if (beforeToday && !dateIsToday) {
|
|
31
31
|
return true;
|
|
32
32
|
}
|
|
33
|
-
return dateIsToday && !!
|
|
33
|
+
return dateIsToday && !!config?.todayAllowed;
|
|
34
34
|
};
|
|
35
35
|
var _default = exports.default = mustBeInThePast;
|
|
@@ -2,25 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
4
4
|
var _mustBeInThePast = _interopRequireDefault(require("./mustBeInThePast"));
|
|
5
|
-
function _interopRequireDefault(
|
|
6
|
-
describe('utils',
|
|
7
|
-
describe('Validate',
|
|
8
|
-
describe('additional',
|
|
9
|
-
describe('mustBeInThePast',
|
|
10
|
-
test('should return true given a date in the past',
|
|
11
|
-
|
|
5
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
6
|
+
describe('utils', () => {
|
|
7
|
+
describe('Validate', () => {
|
|
8
|
+
describe('additional', () => {
|
|
9
|
+
describe('mustBeInThePast', () => {
|
|
10
|
+
test('should return true given a date in the past', () => {
|
|
11
|
+
const result = (0, _mustBeInThePast.default)((0, _dayjs.default)().subtract(1, 'day').format('DD-MM-YYYY'));
|
|
12
12
|
expect(result).toEqual(true);
|
|
13
13
|
});
|
|
14
|
-
test('should return false given a date in the future',
|
|
15
|
-
|
|
14
|
+
test('should return false given a date in the future', () => {
|
|
15
|
+
const result = (0, _mustBeInThePast.default)((0, _dayjs.default)().add(1, 'day').format('DD-MM-YYYY'));
|
|
16
16
|
expect(result).toEqual(false);
|
|
17
17
|
});
|
|
18
|
-
test('should return false given todays date',
|
|
19
|
-
|
|
18
|
+
test('should return false given todays date', () => {
|
|
19
|
+
const result = (0, _mustBeInThePast.default)((0, _dayjs.default)().format('DD-MM-YYYY'));
|
|
20
20
|
expect(result).toEqual(false);
|
|
21
21
|
});
|
|
22
|
-
test('should return true given todays date if todayAllowed is true',
|
|
23
|
-
|
|
22
|
+
test('should return true given todays date if todayAllowed is true', () => {
|
|
23
|
+
const result = (0, _mustBeInThePast.default)((0, _dayjs.default)().format('DD-MM-YYYY'), {
|
|
24
24
|
todayAllowed: true
|
|
25
25
|
});
|
|
26
26
|
expect(result).toEqual(true);
|
|
@@ -9,13 +9,13 @@ exports.default = void 0;
|
|
|
9
9
|
* @param {number} config.value - the value must be equal or less than config.value.
|
|
10
10
|
* @returns true if value is equal to or less then config.value, false if not.
|
|
11
11
|
*/
|
|
12
|
-
|
|
12
|
+
const mustBeLessThan = (value, config) => {
|
|
13
13
|
if (!value) {
|
|
14
14
|
// null, undefined and empty strings should be picked up by the required flag
|
|
15
15
|
// and not considered here as they would be valid for optional fields.
|
|
16
16
|
return true;
|
|
17
17
|
}
|
|
18
|
-
|
|
18
|
+
const finalValue = typeof value === 'string' ? value.replace(/,/g, '') : value;
|
|
19
19
|
return parseFloat(finalValue) < config.value;
|
|
20
20
|
};
|
|
21
21
|
var _default = exports.default = mustBeLessThan;
|
|
@@ -1,47 +1,47 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _mustBeLessThan = _interopRequireDefault(require("./mustBeLessThan"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
describe('utils',
|
|
6
|
-
describe('Validate',
|
|
7
|
-
describe('additional',
|
|
8
|
-
describe('mustBeLessThan',
|
|
9
|
-
test('should return true given a number equal to or less than 1000000000',
|
|
10
|
-
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
5
|
+
describe('utils', () => {
|
|
6
|
+
describe('Validate', () => {
|
|
7
|
+
describe('additional', () => {
|
|
8
|
+
describe('mustBeLessThan', () => {
|
|
9
|
+
test('should return true given a number equal to or less than 1000000000', () => {
|
|
10
|
+
const result = (0, _mustBeLessThan.default)(999999999.999, {
|
|
11
11
|
value: 1000000000
|
|
12
12
|
});
|
|
13
13
|
expect(result).toEqual(true);
|
|
14
14
|
});
|
|
15
|
-
test('should return false if provided value greater than 1000000000',
|
|
16
|
-
|
|
15
|
+
test('should return false if provided value greater than 1000000000', () => {
|
|
16
|
+
const result = (0, _mustBeLessThan.default)('1000000000.9', {
|
|
17
17
|
value: 1000000000
|
|
18
18
|
});
|
|
19
19
|
expect(result).toBeFalsy();
|
|
20
20
|
});
|
|
21
|
-
test('should correctly handle numbers with commas in',
|
|
22
|
-
|
|
21
|
+
test('should correctly handle numbers with commas in', () => {
|
|
22
|
+
const result1 = (0, _mustBeLessThan.default)('999,999,999.99', {
|
|
23
23
|
value: 1000000000
|
|
24
24
|
});
|
|
25
25
|
expect(result1).toEqual(true);
|
|
26
|
-
|
|
26
|
+
const result2 = (0, _mustBeLessThan.default)('1,000,000,123', {
|
|
27
27
|
value: 1000000000
|
|
28
28
|
});
|
|
29
29
|
expect(result2).toEqual(false);
|
|
30
30
|
});
|
|
31
|
-
test('should return true when string is undefined',
|
|
32
|
-
|
|
31
|
+
test('should return true when string is undefined', () => {
|
|
32
|
+
const result = (0, _mustBeLessThan.default)(undefined, {
|
|
33
33
|
value: 3
|
|
34
34
|
});
|
|
35
35
|
expect(result).toEqual(true);
|
|
36
36
|
});
|
|
37
|
-
test('should return true when string is empty',
|
|
38
|
-
|
|
37
|
+
test('should return true when string is empty', () => {
|
|
38
|
+
const result = (0, _mustBeLessThan.default)('', {
|
|
39
39
|
value: 3
|
|
40
40
|
});
|
|
41
41
|
expect(result).toEqual(true);
|
|
42
42
|
});
|
|
43
|
-
test('should return true when string is null',
|
|
44
|
-
|
|
43
|
+
test('should return true when string is null', () => {
|
|
44
|
+
const result = (0, _mustBeLessThan.default)(null, {
|
|
45
45
|
value: 3
|
|
46
46
|
});
|
|
47
47
|
expect(result).toEqual(true);
|
|
@@ -11,7 +11,7 @@ exports.default = void 0;
|
|
|
11
11
|
* @param {number} config.value - the length that string.length must be greater than.
|
|
12
12
|
* @returns true if string.length is greater than config.value, false if not.
|
|
13
13
|
*/
|
|
14
|
-
|
|
14
|
+
const mustBeLongerThan = (string, config) => {
|
|
15
15
|
if (!string) {
|
|
16
16
|
// null, undefined and empty strings should be picked up by the required flag
|
|
17
17
|
// and not considered here as they would be valid for optional fields.
|
|
@@ -1,43 +1,43 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _mustBeLongerThan = _interopRequireDefault(require("./mustBeLongerThan"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
describe('utils',
|
|
6
|
-
describe('Validate',
|
|
7
|
-
describe('additional',
|
|
8
|
-
describe('mustBeLongerThan',
|
|
9
|
-
test('should return true given a string longer than the given length',
|
|
10
|
-
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
5
|
+
describe('utils', () => {
|
|
6
|
+
describe('Validate', () => {
|
|
7
|
+
describe('additional', () => {
|
|
8
|
+
describe('mustBeLongerThan', () => {
|
|
9
|
+
test('should return true given a string longer than the given length', () => {
|
|
10
|
+
const result = (0, _mustBeLongerThan.default)('test', {
|
|
11
11
|
value: 3
|
|
12
12
|
});
|
|
13
13
|
expect(result).toEqual(true);
|
|
14
14
|
});
|
|
15
|
-
test('should return false given a string shorter than the given length',
|
|
16
|
-
|
|
15
|
+
test('should return false given a string shorter than the given length', () => {
|
|
16
|
+
const result = (0, _mustBeLongerThan.default)('to', {
|
|
17
17
|
value: 3
|
|
18
18
|
});
|
|
19
19
|
expect(result).toEqual(false);
|
|
20
20
|
});
|
|
21
|
-
test('should return false given a string equal to the given length',
|
|
22
|
-
|
|
21
|
+
test('should return false given a string equal to the given length', () => {
|
|
22
|
+
const result = (0, _mustBeLongerThan.default)('dog', {
|
|
23
23
|
value: 3
|
|
24
24
|
});
|
|
25
25
|
expect(result).toEqual(false);
|
|
26
26
|
});
|
|
27
|
-
test('should return true when string is undefined',
|
|
28
|
-
|
|
27
|
+
test('should return true when string is undefined', () => {
|
|
28
|
+
const result = (0, _mustBeLongerThan.default)(undefined, {
|
|
29
29
|
value: 3
|
|
30
30
|
});
|
|
31
31
|
expect(result).toEqual(true);
|
|
32
32
|
});
|
|
33
|
-
test('should return true when string is empty',
|
|
34
|
-
|
|
33
|
+
test('should return true when string is empty', () => {
|
|
34
|
+
const result = (0, _mustBeLongerThan.default)('', {
|
|
35
35
|
value: 3
|
|
36
36
|
});
|
|
37
37
|
expect(result).toEqual(true);
|
|
38
38
|
});
|
|
39
|
-
test('should return true when string is null',
|
|
40
|
-
|
|
39
|
+
test('should return true when string is null', () => {
|
|
40
|
+
const result = (0, _mustBeLongerThan.default)(null, {
|
|
41
41
|
value: 3
|
|
42
42
|
});
|
|
43
43
|
expect(result).toEqual(true);
|
|
@@ -11,13 +11,13 @@ exports.default = void 0;
|
|
|
11
11
|
* @param {object} config The config of the validation check.
|
|
12
12
|
* @returns true if value passes the regex, false if not.
|
|
13
13
|
*/
|
|
14
|
-
|
|
14
|
+
const mustBeNumbersOnly = (value, config) => {
|
|
15
15
|
if (!value) {
|
|
16
16
|
// null, undefined and empty numbers should be picked up by the required flag
|
|
17
17
|
// and not considered here as they would be valid for optional fields.
|
|
18
18
|
return true;
|
|
19
19
|
}
|
|
20
|
-
|
|
20
|
+
const regex = config?.allowCommas ? /^[0-9,]*\.?[0-9]*$/ : /^[0-9]*\.?[0-9]*$/;
|
|
21
21
|
return regex.test(value);
|
|
22
22
|
};
|
|
23
23
|
var _default = exports.default = mustBeNumbersOnly;
|
|
@@ -1,41 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _mustBeNumbersOnly = _interopRequireDefault(require("./mustBeNumbersOnly"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
describe('utils',
|
|
6
|
-
describe('Validate',
|
|
7
|
-
describe('additional',
|
|
8
|
-
describe('mustBeNumbersOnly',
|
|
9
|
-
test('should return true given a string is number',
|
|
10
|
-
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
5
|
+
describe('utils', () => {
|
|
6
|
+
describe('Validate', () => {
|
|
7
|
+
describe('additional', () => {
|
|
8
|
+
describe('mustBeNumbersOnly', () => {
|
|
9
|
+
test('should return true given a string is number', () => {
|
|
10
|
+
const result = (0, _mustBeNumbersOnly.default)('349732');
|
|
11
11
|
expect(result).toEqual(true);
|
|
12
12
|
});
|
|
13
|
-
test('should return true given a string is numbers contains desimile',
|
|
14
|
-
|
|
13
|
+
test('should return true given a string is numbers contains desimile', () => {
|
|
14
|
+
const result = (0, _mustBeNumbersOnly.default)('123456.123');
|
|
15
15
|
expect(result).toEqual(true);
|
|
16
16
|
});
|
|
17
|
-
test('should return false if given number contains commas and config does not allow them',
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
test('should return false if given number contains commas and config does not allow them', () => {
|
|
18
|
+
const CONFIG = {};
|
|
19
|
+
const result = (0, _mustBeNumbersOnly.default)('1,234', CONFIG);
|
|
20
20
|
expect(result).toEqual(false);
|
|
21
21
|
});
|
|
22
|
-
test('should return true if given number contains commas and config allows them',
|
|
23
|
-
|
|
22
|
+
test('should return true if given number contains commas and config allows them', () => {
|
|
23
|
+
const CONFIG = {
|
|
24
24
|
allowCommas: true
|
|
25
25
|
};
|
|
26
|
-
|
|
26
|
+
const result = (0, _mustBeNumbersOnly.default)('1,234', CONFIG);
|
|
27
27
|
expect(result).toEqual(true);
|
|
28
28
|
});
|
|
29
|
-
test('should return true when string is undefined',
|
|
30
|
-
|
|
29
|
+
test('should return true when string is undefined', () => {
|
|
30
|
+
const result = (0, _mustBeNumbersOnly.default)(undefined);
|
|
31
31
|
expect(result).toEqual(true);
|
|
32
32
|
});
|
|
33
|
-
test('should return true when string is empty',
|
|
34
|
-
|
|
33
|
+
test('should return true when string is empty', () => {
|
|
34
|
+
const result = (0, _mustBeNumbersOnly.default)('');
|
|
35
35
|
expect(result).toEqual(true);
|
|
36
36
|
});
|
|
37
|
-
test('should return true when string is null',
|
|
38
|
-
|
|
37
|
+
test('should return true when string is null', () => {
|
|
38
|
+
const result = (0, _mustBeNumbersOnly.default)(null);
|
|
39
39
|
expect(result).toEqual(true);
|
|
40
40
|
});
|
|
41
41
|
});
|
|
@@ -10,7 +10,7 @@ exports.default = void 0;
|
|
|
10
10
|
* @param {array} config.array - the array that the string will be checked against.
|
|
11
11
|
* @returns true if string is contained in config.array, false if not.
|
|
12
12
|
*/
|
|
13
|
-
|
|
13
|
+
const mustBeOneOf = (string, config) => {
|
|
14
14
|
if (!string) {
|
|
15
15
|
// null, undefined and empty strings should be picked up by the required flag
|
|
16
16
|
// and not considered here as they would be valid for optional fields.
|
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _mustBeOneOf = _interopRequireDefault(require("./mustBeOneOf"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
describe('utils',
|
|
6
|
-
describe('Validate',
|
|
7
|
-
describe('additional',
|
|
8
|
-
describe('mustBeShorterThan',
|
|
9
|
-
test('should return true given the string is in the array',
|
|
10
|
-
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
5
|
+
describe('utils', () => {
|
|
6
|
+
describe('Validate', () => {
|
|
7
|
+
describe('additional', () => {
|
|
8
|
+
describe('mustBeShorterThan', () => {
|
|
9
|
+
test('should return true given the string is in the array', () => {
|
|
10
|
+
const result = (0, _mustBeOneOf.default)('test2', {
|
|
11
11
|
array: ["test1", "test2", "test3", "test4"]
|
|
12
12
|
});
|
|
13
13
|
expect(result).toEqual(true);
|
|
14
14
|
});
|
|
15
|
-
test('should return false given the string is not in the array',
|
|
16
|
-
|
|
15
|
+
test('should return false given the string is not in the array', () => {
|
|
16
|
+
const result = (0, _mustBeOneOf.default)('test5', {
|
|
17
17
|
array: ["test1", "test2", "test3", "test4"]
|
|
18
18
|
});
|
|
19
19
|
expect(result).toEqual(false);
|
|
20
20
|
});
|
|
21
|
-
test('should return false given the array is empty',
|
|
22
|
-
|
|
21
|
+
test('should return false given the array is empty', () => {
|
|
22
|
+
const result = (0, _mustBeOneOf.default)('test1', {
|
|
23
23
|
array: []
|
|
24
24
|
});
|
|
25
25
|
expect(result).toEqual(false);
|
|
26
26
|
});
|
|
27
|
-
test('should return false when only the partial string is in the array',
|
|
28
|
-
|
|
27
|
+
test('should return false when only the partial string is in the array', () => {
|
|
28
|
+
const result = (0, _mustBeOneOf.default)('test', {
|
|
29
29
|
array: ["test1", "test2", "test3", "test4"]
|
|
30
30
|
});
|
|
31
31
|
expect(result).toEqual(false);
|
|
@@ -11,7 +11,7 @@ exports.default = void 0;
|
|
|
11
11
|
* @param {number} config.value - the length that string.length must be less than.
|
|
12
12
|
* @returns true if string.length is greater than config.value, false if not.
|
|
13
13
|
*/
|
|
14
|
-
|
|
14
|
+
const mustBeShorterThan = (string, config) => {
|
|
15
15
|
if (!string) {
|
|
16
16
|
// null, undefined and empty strings should be picked up by the required flag
|
|
17
17
|
// and not considered here as they would be valid for optional fields.
|
|
@@ -1,43 +1,43 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _mustBeShorterThan = _interopRequireDefault(require("./mustBeShorterThan"));
|
|
4
|
-
function _interopRequireDefault(
|
|
5
|
-
describe('utils',
|
|
6
|
-
describe('Validate',
|
|
7
|
-
describe('additional',
|
|
8
|
-
describe('mustBeShorterThan',
|
|
9
|
-
test('should return true given a string shorter than the given length',
|
|
10
|
-
|
|
4
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
5
|
+
describe('utils', () => {
|
|
6
|
+
describe('Validate', () => {
|
|
7
|
+
describe('additional', () => {
|
|
8
|
+
describe('mustBeShorterThan', () => {
|
|
9
|
+
test('should return true given a string shorter than the given length', () => {
|
|
10
|
+
const result = (0, _mustBeShorterThan.default)('to', {
|
|
11
11
|
value: 3
|
|
12
12
|
});
|
|
13
13
|
expect(result).toEqual(true);
|
|
14
14
|
});
|
|
15
|
-
test('should return false given a string longer than the given length',
|
|
16
|
-
|
|
15
|
+
test('should return false given a string longer than the given length', () => {
|
|
16
|
+
const result = (0, _mustBeShorterThan.default)('test', {
|
|
17
17
|
value: 3
|
|
18
18
|
});
|
|
19
19
|
expect(result).toEqual(false);
|
|
20
20
|
});
|
|
21
|
-
test('should return false given a string equal to the given length',
|
|
22
|
-
|
|
21
|
+
test('should return false given a string equal to the given length', () => {
|
|
22
|
+
const result = (0, _mustBeShorterThan.default)('dog', {
|
|
23
23
|
value: 3
|
|
24
24
|
});
|
|
25
25
|
expect(result).toEqual(false);
|
|
26
26
|
});
|
|
27
|
-
test('should return true when string is undefined',
|
|
28
|
-
|
|
27
|
+
test('should return true when string is undefined', () => {
|
|
28
|
+
const result = (0, _mustBeShorterThan.default)(undefined, {
|
|
29
29
|
value: 3
|
|
30
30
|
});
|
|
31
31
|
expect(result).toEqual(true);
|
|
32
32
|
});
|
|
33
|
-
test('should return true when string is empty',
|
|
34
|
-
|
|
33
|
+
test('should return true when string is empty', () => {
|
|
34
|
+
const result = (0, _mustBeShorterThan.default)('', {
|
|
35
35
|
value: 3
|
|
36
36
|
});
|
|
37
37
|
expect(result).toEqual(true);
|
|
38
38
|
});
|
|
39
|
-
test('should return true when string is null',
|
|
40
|
-
|
|
39
|
+
test('should return true when string is null', () => {
|
|
40
|
+
const result = (0, _mustBeShorterThan.default)(null, {
|
|
41
41
|
value: 3
|
|
42
42
|
});
|
|
43
43
|
expect(result).toEqual(true);
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _getCollectionPageActiveId = _interopRequireDefault(require("../../CollectionPage/getCollectionPageActiveId"));
|
|
8
8
|
var _getCollectionPageData = _interopRequireDefault(require("../../CollectionPage/getCollectionPageData"));
|
|
9
|
-
function _interopRequireDefault(
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
10
|
/**
|
|
11
11
|
* @param {*} value - the value to check.
|
|
12
12
|
* @param {string} config.collectionPath - the path to the collection within formData
|
|
@@ -15,15 +15,15 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
15
15
|
* @param {object} formData - the current form data
|
|
16
16
|
* @returns true if components value is not the same in any other entry in the collection
|
|
17
17
|
*/
|
|
18
|
-
|
|
18
|
+
const mustBeUniqueInCollection = (value, config, component, formData) => {
|
|
19
19
|
if (!value || !formData) {
|
|
20
20
|
// null, undefined and empty strings should be picked up by the required flag
|
|
21
21
|
// and not considered here as they would be valid for optional fields.
|
|
22
22
|
return true;
|
|
23
23
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
const activeId = (0, _getCollectionPageActiveId.default)(config.collectionPath, formData);
|
|
25
|
+
const collectionData = (0, _getCollectionPageData.default)(config.collectionPath, formData);
|
|
26
|
+
const result = collectionData?.some(entry => {
|
|
27
27
|
// Don't compare it to itself
|
|
28
28
|
if (entry.id === activeId) {
|
|
29
29
|
return false;
|