diff --git a/openmetadata-ui/src/main/resources/ui/src/components/DataQuality/AddDataQualityTest/AddDataQualityTest.interface.ts b/openmetadata-ui/src/main/resources/ui/src/components/DataQuality/AddDataQualityTest/AddDataQualityTest.interface.ts index c3046e6e750..dab203fb5e7 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/DataQuality/AddDataQualityTest/AddDataQualityTest.interface.ts +++ b/openmetadata-ui/src/main/resources/ui/src/components/DataQuality/AddDataQualityTest/AddDataQualityTest.interface.ts @@ -30,7 +30,7 @@ export interface SelectTestSuiteProps { export interface TestCaseFormProps { initialValue?: CreateTestCase; - onSubmit: (data: CreateTestCase) => void; + onSubmit: (data: CreateTestCase) => Promise; onCancel: (data: CreateTestCase) => void; table: Table; } diff --git a/openmetadata-ui/src/main/resources/ui/src/components/DataQuality/AddDataQualityTest/components/ParameterForm.tsx b/openmetadata-ui/src/main/resources/ui/src/components/DataQuality/AddDataQualityTest/components/ParameterForm.tsx index 7d90acdf26c..852c12928ba 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/DataQuality/AddDataQualityTest/components/ParameterForm.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/DataQuality/AddDataQualityTest/components/ParameterForm.tsx @@ -72,11 +72,12 @@ const ParameterForm: React.FC = ({ definition, table }) => { DynamicField?: ReactElement ) => { const ruleValidation: RuleRender = ({ getFieldValue }) => ({ - validator(_, value) { + validator(_, formValue) { if (data?.validationRule) { const fieldValue = data.validationRule.parameterField - ? getFieldValue(['params', data.validationRule.parameterField]) + ? +getFieldValue(['params', data.validationRule.parameterField]) : undefined; + const value = +formValue; if (fieldValue && value) { switch (data.validationRule.rule) { case Rule.GreaterThanOrEquals: diff --git a/openmetadata-ui/src/main/resources/ui/src/components/DataQuality/AddDataQualityTest/components/TestCaseForm.tsx b/openmetadata-ui/src/main/resources/ui/src/components/DataQuality/AddDataQualityTest/components/TestCaseForm.tsx index edcaac79d77..13986c62385 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/DataQuality/AddDataQualityTest/components/TestCaseForm.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/DataQuality/AddDataQualityTest/components/TestCaseForm.tsx @@ -46,6 +46,7 @@ import { getListTestDefinitions, } from '../../../../rest/testAPI'; import { + filterSelectOptions, getNameFromFQN, replaceAllSpacialCharWith_, } from '../../../../utils/CommonUtils'; @@ -88,6 +89,7 @@ const TestCaseForm: React.FC = ({ ); const [testCases, setTestCases] = useState([]); const [currentColumnType, setCurrentColumnType] = useState(); + const [loading, setLoading] = useState(false); const columnName = Form.useWatch('column', form); @@ -196,8 +198,10 @@ const TestCaseForm: React.FC = ({ }; }; - const handleFormSubmit: FormProps['onFinish'] = (value) => { - onSubmit(createTestCaseObj(value)); + const handleFormSubmit: FormProps['onFinish'] = async (value) => { + setLoading(true); + await onSubmit(createTestCaseObj(value)); + setLoading(false); }; const onBack = () => { @@ -277,6 +281,16 @@ const TestCaseForm: React.FC = ({ }); }, [activeColumnFqn]); + const testTypeOptions = useMemo( + () => + testDefinitions.map((suite) => ({ + label: getEntityName(suite), + value: suite.fullyQualifiedName ?? '', + })), + + [testDefinitions] + ); + return (
= ({