diff --git a/frontend/src/metabase-lib/types/utils/isa.js b/frontend/src/metabase-lib/types/utils/isa.js index 9d2516a84fb587112d4daed4b43921706037ed66..a8deade29643139d43a7c63c6038c4234419b92c 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 d9077d891fdb64590e5b62a501d69348cb43c99c..bb126c06661af9219856963065b91b294bf25c50 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); });