From 7f6a8220dc3c5b6c114fb16663dc67952c5ab092 Mon Sep 17 00:00:00 2001 From: Emmad Usmani <emmadusmani@berkeley.edu> Date: Wed, 22 Feb 2023 13:15:15 -0800 Subject: [PATCH] Fix order of type checking in `getFieldType` (#28543) --- frontend/src/metabase-lib/types/utils/isa.js | 2 +- frontend/src/metabase-lib/types/utils/isa.unit.spec.js | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/frontend/src/metabase-lib/types/utils/isa.js b/frontend/src/metabase-lib/types/utils/isa.js index 9d2516a84fb..a8deade2964 100644 --- a/frontend/src/metabase-lib/types/utils/isa.js +++ b/frontend/src/metabase-lib/types/utils/isa.js @@ -90,10 +90,10 @@ export function getFieldType(field) { COORDINATE, FOREIGN_KEY, PRIMARY_KEY, + BOOLEAN, STRING, STRING_LIKE, NUMBER, - BOOLEAN, ]) { if (isFieldType(type, field)) { return type; diff --git a/frontend/src/metabase-lib/types/utils/isa.unit.spec.js b/frontend/src/metabase-lib/types/utils/isa.unit.spec.js index d9077d891fd..bb126c06661 100644 --- a/frontend/src/metabase-lib/types/utils/isa.unit.spec.js +++ b/frontend/src/metabase-lib/types/utils/isa.unit.spec.js @@ -94,6 +94,15 @@ describe("isa", () => { ).toEqual(STRING); }); + it("should know a bool regardless of semantic_type", () => { + expect( + getFieldType({ + base_type: TYPE.Boolean, + semantic_type: TYPE.Category, + }), + ).toEqual(BOOLEAN); + }); + it("should know what it doesn't know", () => { expect(getFieldType({ base_type: "DERP DERP DERP" })).toEqual(undefined); }); -- GitLab