import { fileURLToPath } from 'url' import path from 'path' import { describe, expect, test, vi } from 'vitest' import { get } from '@/tests/helpers/e2etest' import getExceptionRedirects from '../../lib/exception-redirects' import { latest } from '@/versions/lib/enterprise-server-releases' const __dirname = path.dirname(fileURLToPath(import.meta.url)) const EXCEPTIONS_FILE = path.join(__dirname, '../../lib/static/redirect-exceptions.txt') describe('redirect exceptions', () => { vi.setConfig({ testTimeout: 60 * 1000 }) const redirectExceptions = getExceptionRedirects(EXCEPTIONS_FILE) test.each(Object.keys(redirectExceptions))('responds with redirect on %p', async (oldPath) => { const newPath = redirectExceptions[oldPath] const englishNewPath = `/en${newPath.replace( '/enterprise-server@latest', `/enterprise-server@${latest}`, )}` const { statusCode, headers } = await get(oldPath, { followRedirects: false }) expect(statusCode, `Did not get a 302 from loading ${oldPath}`).toBe(302) expect(headers.location).toBe(englishNewPath) }) })