diff --git a/openmetadata-ui/src/main/resources/ui/src/components/DatasetDetails/DatasetDetails.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/DatasetDetails/DatasetDetails.component.tsx index a6a3234ee93..3e4edf89fb3 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/DatasetDetails/DatasetDetails.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/DatasetDetails/DatasetDetails.component.tsx @@ -633,6 +633,7 @@ const DatasetDetails: React.FC = ({ constraint: col.constraint as string, colName: col.name, colType: col.dataTypeDisplay as string, + dataType: col.dataType as string, colTests: col.columnTests, }))} qualityTestFormHandler={qualityTestFormHandler} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/TableProfiler/TableProfiler.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/TableProfiler/TableProfiler.component.tsx index 64038e20798..0711e33f311 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/TableProfiler/TableProfiler.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/TableProfiler/TableProfiler.component.tsx @@ -24,6 +24,7 @@ import { ColumnTest, DatasetTestModeType, } from '../../interface/dataQuality.interface'; +import { isColumnTestSupported } from '../../utils/EntityUtils'; import { getRoundedValue } from '../../utils/ProfilerUtils'; import { getConstraintIcon } from '../../utils/TableUtils'; import { Button } from '../buttons/Button/Button'; @@ -37,6 +38,7 @@ type Props = { constraint: string; colName: string; colType: string; + dataType: string; colTests?: ColumnTest[]; }>; qualityTestFormHandler: ( @@ -246,7 +248,7 @@ const TableProfiler: FC = ({ colSpan={2} data-testid="tableBody-cell">
- {col.columnTests ? ( + {col.columnTests?.length ? (
{col.columnTests.map((m, i) => (
@@ -290,7 +292,7 @@ const TableProfiler: FC = ({ `No tests available` )}
- {col.name.colType.includes('struct') ? ( + {!isColumnTestSupported(col.name.dataType) ? ( Not supported ) : ( { return Object.values(ColumnTestType); } }; + +export const isColumnTestSupported = (dataType: string) => { + const supportedType = Object.values(PrimaryTableDataTypes); + + return supportedType.includes( + getDataTypeString(dataType) as PrimaryTableDataTypes + ); +}; diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/TableUtils.tsx b/openmetadata-ui/src/main/resources/ui/src/utils/TableUtils.tsx index 1bb18f89932..fff068f09c7 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/TableUtils.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/utils/TableUtils.tsx @@ -30,7 +30,7 @@ import { } from '../constants/constants'; import { EntityType } from '../enums/entity.enum'; import { SearchIndex } from '../enums/search.enum'; -import { ConstraintTypes } from '../enums/table.enum'; +import { ConstraintTypes, PrimaryTableDataTypes } from '../enums/table.enum'; import { Column, DataType } from '../generated/entity/data/table'; import { TableTest, TestCaseStatus } from '../generated/tests/tableTest'; import { TagLabel } from '../generated/type/tagLabel'; @@ -291,22 +291,22 @@ export const getDataTypeString = (dataType: string): string => { case DataType.Mediumtext: case DataType.Mediumblob: case DataType.Blob: - return 'varchar'; + return PrimaryTableDataTypes.VARCHAR; case DataType.Timestamp: case DataType.Time: - return 'timestamp'; + return PrimaryTableDataTypes.TIMESTAMP; case DataType.Date: - return 'date'; + return PrimaryTableDataTypes.DATE; case DataType.Int: case DataType.Float: case DataType.Smallint: case DataType.Bigint: case DataType.Numeric: case DataType.Tinyint: - return 'numeric'; + return PrimaryTableDataTypes.NUMERIC; case DataType.Boolean: case DataType.Enum: - return 'boolean'; + return PrimaryTableDataTypes.BOOLEAN; default: return dataType; }