Files
supabase/apps/studio/tests/components/ProjectDropdown.test.ts

25 lines
1.1 KiB
TypeScript

import { expect, test } from 'vitest'
import { sanitizeRoute } from '@/components/layouts/AppLayout/ProjectDropdown.utils'
test('Should sanitize project routes correctly when switching projects by removing project specific parameters', () => {
expect(sanitizeRoute('/project/[ref]', { ref: 'abc' })).toBe('/project/[ref]')
expect(sanitizeRoute('/project/[ref]/editor', { ref: 'abc' })).toBe('/project/[ref]/editor')
expect(sanitizeRoute('/project/[ref]/storage/buckets', { ref: 'abc' })).toBe(
'/project/[ref]/storage/buckets'
)
expect(sanitizeRoute('/project/[ref]/editor/[tableId]', { ref: 'abc', tableId: '10' })).toBe(
'/project/[ref]/editor'
)
expect(
sanitizeRoute('/project/[ref]/storage/buckets/[bucketId]', { ref: 'abc', bucketId: 'bucket-1' })
).toBe('/project/[ref]/storage/buckets')
expect(sanitizeRoute('/project/[ref]/logs/explorer?q=select', { ref: 'abc' })).toBe(
'/project/[ref]/logs/explorer?q=select'
)
expect(
sanitizeRoute('/project/[ref]/advisors/security/[preset]', { ref: 'abc', preset: 'auth' })
).toBe('/project/[ref]/advisors/security')
})