diff --git a/apps/studio/data/reports/database-charts.test.ts b/apps/studio/data/reports/database-charts.test.ts index 1fdf6e2c06b..8d41b036587 100644 --- a/apps/studio/data/reports/database-charts.test.ts +++ b/apps/studio/data/reports/database-charts.test.ts @@ -77,6 +77,29 @@ describe('getReportAttributesV2 dedicated pooler chart', () => { }) }) +const getSupavisorChart = (project: Project) => + getReportAttributesV2(ENTITLED_FEATURES, project).find( + (chart) => chart.id === 'supavisor-connections-active' + ) + +describe('getReportAttributesV2 shared pooler chart', () => { + it('shows the chart for standard projects', () => { + expect(getSupavisorChart(buildProject())?.hide).toBe(false) + }) + + it('hides the chart for high availability projects', () => { + expect(getSupavisorChart(buildProject({ high_availability: true }))?.hide).toBe(true) + }) + + it('hides the chart when the database entitlement is missing', () => { + expect( + getReportAttributesV2([], buildProject()).find( + (chart) => chart.id === 'supavisor-connections-active' + )?.hide + ).toBe(true) + }) +}) + describe('getReportAttributesV2 disk-io-burst-balance chart', () => { it('shows the chart for burstable non high availability projects', () => { expect(getBurstBalanceChart(buildProject())?.hide).toBe(false) diff --git a/apps/studio/data/reports/database-charts.ts b/apps/studio/data/reports/database-charts.ts index 0615d1f7052..65e300266e0 100644 --- a/apps/studio/data/reports/database-charts.ts +++ b/apps/studio/data/reports/database-charts.ts @@ -541,7 +541,8 @@ export const getReportAttributesV2: ( valuePrecision: 0, entitlement: 'database', requiredPlan: 'Pro', - hide: !entitledFeatures.includes('database'), + // High Availability projects don't run Supavisor, so there's no data to show. + hide: !entitledFeatures.includes('database') || isHighAvailability, showTooltip: true, showLegend: false, showMaxValue: false,