diff --git a/apps/studio/components/interfaces/Settings/General/ServiceVersions/ServiceVersionsSection.test.tsx b/apps/studio/components/interfaces/Settings/General/ServiceVersions/ServiceVersionsSection.test.tsx index 9debbbecc34..6c66d9d6d27 100644 --- a/apps/studio/components/interfaces/Settings/General/ServiceVersions/ServiceVersionsSection.test.tsx +++ b/apps/studio/components/interfaces/Settings/General/ServiceVersions/ServiceVersionsSection.test.tsx @@ -11,6 +11,7 @@ const { mockUseReadReplicas, mockUseServiceVersions, mockUseUpgradeEligibility, + mockIsAwsK8sCloudProvider, } = vi.hoisted(() => ({ mockUseFeatures: vi.fn(), mockUseIsOrioleDb: vi.fn(), @@ -18,6 +19,7 @@ const { mockUseReadReplicas: vi.fn(), mockUseServiceVersions: vi.fn(), mockUseUpgradeEligibility: vi.fn(), + mockIsAwsK8sCloudProvider: vi.fn(), })) vi.mock('common', () => ({ @@ -118,6 +120,7 @@ vi.mock('@/hooks/misc/useIsFeatureEnabled', () => ({ vi.mock('@/hooks/misc/useSelectedProject', () => ({ useIsOrioleDb: mockUseIsOrioleDb, useSelectedProjectQuery: mockUseProject, + useIsAwsK8sCloudProvider: mockIsAwsK8sCloudProvider, })) describe('ServiceVersionsSection', () => { @@ -128,6 +131,7 @@ describe('ServiceVersionsSection', () => { }) mockUseIsOrioleDb.mockReturnValue(false) mockUseProject.mockReturnValue({ data: { status: 'ACTIVE_HEALTHY' } }) + mockIsAwsK8sCloudProvider.mockReturnValue(false) mockUseReadReplicas.mockReturnValue({ data: [{ identifier: 'project-ref' }] }) mockUseUpgradeEligibility.mockReturnValue({ data: { @@ -276,4 +280,12 @@ describe('ServiceVersionsSection', () => { rerender() expect(screen.getByText('Failed to retrieve versions')).toBeInTheDocument() }) + + it('does not offer upgrade for v3 projects', () => { + mockIsAwsK8sCloudProvider.mockReturnValue(true) + + render() + + expect(screen.queryByText('Project upgrade available')).not.toBeInTheDocument() + }) }) diff --git a/apps/studio/components/interfaces/Settings/General/ServiceVersions/ServiceVersionsSection.tsx b/apps/studio/components/interfaces/Settings/General/ServiceVersions/ServiceVersionsSection.tsx index b08da20bad0..5a5b2410024 100644 --- a/apps/studio/components/interfaces/Settings/General/ServiceVersions/ServiceVersionsSection.tsx +++ b/apps/studio/components/interfaces/Settings/General/ServiceVersions/ServiceVersionsSection.tsx @@ -34,11 +34,16 @@ import { useProjectUpgradeEligibilityQuery } from '@/data/config/project-upgrade import { useProjectServiceVersionsQuery } from '@/data/projects/project-service-versions' import { useReadReplicasQuery } from '@/data/read-replicas/replicas-query' import { useIsFeatureEnabled } from '@/hooks/misc/useIsFeatureEnabled' -import { useIsOrioleDb, useSelectedProjectQuery } from '@/hooks/misc/useSelectedProject' +import { + useIsAwsK8sCloudProvider, + useIsOrioleDb, + useSelectedProjectQuery, +} from '@/hooks/misc/useSelectedProject' export const ServiceVersionsSection = () => { const { ref } = useParams() const { data: project } = useSelectedProjectQuery() + const isAwsK8s = useIsAwsK8sCloudProvider() const { projectAuthAll: authEnabled, projectSettingsDatabaseUpgrades: showDatabaseUpgrades } = useIsFeatureEnabled([ @@ -197,7 +202,7 @@ export const ServiceVersionsSection = () => { )} - {showDatabaseUpgrades && data && data.eligible ? ( + {showDatabaseUpgrades && data && data.eligible && !isAwsK8s ? ( hasReadReplicas ? ( ) : (