ProjectDropdown.test.ts24 lines · main
| 1 | import { expect, test } from 'vitest' |
| 2 | |
| 3 | import { sanitizeRoute } from '@/components/layouts/AppLayout/ProjectDropdown.utils' |
| 4 | |
| 5 | test('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 | }) |