ProjectDropdown.test.ts 1.1 KB

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