Skip to content
Snippets Groups Projects
Unverified Commit 546ff304 authored by Anton Kulyk's avatar Anton Kulyk Committed by GitHub
Browse files

Fix model metadata strength calculation (#19803)

* Use `display_name` for metadata completeness calc

* Fix unit tests
parent b49cadb4
No related branches found
No related tags found
No related merge requests found
export type FieldMetadata = {
id?: number;
name: string;
display_name: string;
description?: string | null;
semantic_type?: string | null;
};
......@@ -23,13 +24,13 @@ const MAX_FIELD_SCORE = 3;
* @returns {number} — int between 0 and 3
*/
function getFieldMetadataScore({
name,
display_name,
description,
semantic_type,
}: FieldMetadata): number {
let score = 0;
const isNameDirty = name.includes("") || name.includes("_");
const isNameDirty = display_name.includes("") || display_name.includes("_");
if (!isNameDirty) {
score++;
......
......@@ -7,8 +7,8 @@ describe("getDatasetMetadataCompletenessPercentage", () => {
it("returns 0 for completely missing metadata", () => {
const percent = getDatasetMetadataCompletenessPercentage([
{ name: "Created_At" },
{ name: "Products → Category" },
{ display_name: "Created_At" },
{ display_name: "Products → Category" },
]);
expect(percent).toBe(0);
});
......@@ -16,12 +16,12 @@ describe("getDatasetMetadataCompletenessPercentage", () => {
it("returns 1 for complete metadata", () => {
const percent = getDatasetMetadataCompletenessPercentage([
{
name: "Created At",
display_name: "Created At",
description: "Date created",
semantic_type: "DateTime",
},
{
name: "Product Category",
display_name: "Product Category",
description: "The name is pretty self-explaining",
semantic_type: "String",
},
......@@ -31,9 +31,9 @@ describe("getDatasetMetadataCompletenessPercentage", () => {
it("returns 0.5 for half-complete metadata", () => {
const percent = getDatasetMetadataCompletenessPercentage([
{ name: "Created_At" },
{ display_name: "Created_At" },
{
name: "Product Category",
display_name: "Product Category",
description: "The name is pretty self-explaining",
semantic_type: "String",
},
......@@ -43,9 +43,9 @@ describe("getDatasetMetadataCompletenessPercentage", () => {
it("returns percent value for partially complete metadata", () => {
const percent = getDatasetMetadataCompletenessPercentage([
{ name: "Created_At" },
{ display_name: "Created_At" },
{
name: "Product Category",
display_name: "Product Category",
semantic_type: "String",
},
]);
......
......@@ -17,16 +17,16 @@ function setup({ resultMetadata } = {}) {
describe("DatasetMetadataStrengthIndicator", () => {
const FULLY_COMPLETE_METADATA = {
id: 1,
name: "ID",
display_name: "ID",
description: "Well, that's an ID",
semantic_type: "type/PK",
};
const PARTIALLY_COMPLETE_METADATA = {
id: 1,
name: "ID",
display_name: "ID",
semantic_type: "type/PK",
};
const FULLY_INCOMPLETE_METADATA = { name: "CREATED_AT" };
const FULLY_INCOMPLETE_METADATA = { display_name: "CREATED_AT" };
it("doesn't render if result metadata is not defined", () => {
setup({ resultMetadata: undefined });
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment