ProjectDropdown.test.ts24 lines · main
1import { expect, test } from 'vitest'
2
3import { sanitizeRoute } from '@/components/layouts/AppLayout/ProjectDropdown.utils'
4
5test('Should sanitize project routes correctly when switching projects by removing project specific parameters', () => {
6 expect(sanitizeRoute('/project/[ref]', { ref: 'abc' })).toBe('/project/[ref]')
7 expect(sanitizeRoute('/project/[ref]/editor', { ref: 'abc' })).toBe('/project/[ref]/editor')
8 expect(sanitizeRoute('/project/[ref]/storage/buckets', { ref: 'abc' })).toBe(
9 '/project/[ref]/storage/buckets'
10 )
11
12 expect(sanitizeRoute('/project/[ref]/editor/[tableId]', { ref: 'abc', tableId: '10' })).toBe(
13 '/project/[ref]/editor'
14 )
15 expect(
16 sanitizeRoute('/project/[ref]/storage/buckets/[bucketId]', { ref: 'abc', bucketId: 'bucket-1' })
17 ).toBe('/project/[ref]/storage/buckets')
18 expect(sanitizeRoute('/project/[ref]/logs/explorer?q=select', { ref: 'abc' })).toBe(
19 '/project/[ref]/logs/explorer?q=select'
20 )
21 expect(
22 sanitizeRoute('/project/[ref]/advisors/security/[preset]', { ref: 'abc', preset: 'auth' })
23 ).toBe('/project/[ref]/advisors/security')
24})