diff --git a/enterprise/frontend/src/metabase-enterprise/settings/index.ts b/enterprise/frontend/src/metabase-enterprise/settings/index.ts index 87b751e828367859ebc3374b838ce64143fbcd58..303483428e96e57a4cf514e0eb2fdce201f06528 100644 --- a/enterprise/frontend/src/metabase-enterprise/settings/index.ts +++ b/enterprise/frontend/src/metabase-enterprise/settings/index.ts @@ -1,11 +1,17 @@ import { hasAnySsoFeature } from "metabase/common/utils/plan"; +import { isTest } from "metabase/env"; import MetabaseSettings from "metabase/lib/settings"; import type { TokenFeature } from "metabase-types/api"; export function hasPremiumFeature(feature: TokenFeature) { const hasFeature = MetabaseSettings.get("token-features")?.[feature]; if (hasFeature == null) { - console.warn("Unknown premium feature", feature); + console.warn( + `Unknown premium feature: '${feature}'.`, + isTest + ? "\nDid you forget to use `mockSettings` instead of `createMockSettings` when testing paid features?" + : "", + ); } return hasFeature; } diff --git a/frontend/test/__support__/settings.ts b/frontend/test/__support__/settings.ts index 477c12628e37eff6473fa53e2d734b8cc69ee8c2..5b518dfb087fbcbd19f4a1b7141ebf3cbc6225cb 100644 --- a/frontend/test/__support__/settings.ts +++ b/frontend/test/__support__/settings.ts @@ -4,6 +4,10 @@ import type { Settings } from "metabase-types/api"; import { createMockSettings } from "metabase-types/api/mocks"; import { createMockSettingsState } from "metabase-types/store/mocks"; +/** + * This function mocks the settings also in MetabaseSettings, + * without that, you'll get the annoying "Unknown premium feature xxx" warning. + */ export function mockSettings( params: Partial<Settings | EnterpriseSettings> = {}, ) {