fix: /demos/[vertical] route with Next.js 15 params await
- Fix Next.js 15 params requirement (await params) - Add minimal test for route redirect behavior - Test verifies all 4 verticals redirect correctly
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
/**
|
||||
* Simple test for /demos/[vertical] route
|
||||
* Tests that the dynamic route properly handles vertical params and redirects
|
||||
*/
|
||||
|
||||
const VERTICALS = ['restaurant', 'real-estate', 'clinic', 'car-rental'];
|
||||
|
||||
const BASE_URL = process.env.TEST_BASE_URL || 'http://localhost:1284';
|
||||
|
||||
async function testRoute(vertical) {
|
||||
const response = await fetch(`${BASE_URL}/demos/${vertical}`, {
|
||||
redirect: 'manual' // Don't follow redirect, just get the location
|
||||
});
|
||||
|
||||
// Should return a 307 redirect (temporary redirect in Next.js)
|
||||
if (response.status !== 307 && response.status !== 302) {
|
||||
throw new Error(`Expected 307/302 for /demos/${vertical}, got ${response.status}`);
|
||||
}
|
||||
|
||||
// Should redirect to /demos?vertical=<vertical>
|
||||
const location = response.headers.get('location');
|
||||
if (!location || !location.includes(`/demos?vertical=${vertical}`)) {
|
||||
throw new Error(`Expected redirect to /demos?vertical=${vertical}, got ${location}`);
|
||||
}
|
||||
|
||||
console.log(`✓ /demos/${vertical} redirects to ${location}`);
|
||||
return true;
|
||||
}
|
||||
|
||||
async function runTests() {
|
||||
console.log('Testing /demos/[vertical] route...\n');
|
||||
|
||||
let passed = 0;
|
||||
let failed = 0;
|
||||
|
||||
for (const vertical of VERTICALS) {
|
||||
try {
|
||||
await testRoute(vertical);
|
||||
passed++;
|
||||
} catch (error) {
|
||||
console.error(`✗ /demos/${vertical} failed: ${error.message}`);
|
||||
failed++;
|
||||
}
|
||||
}
|
||||
|
||||
console.log(`\nResults: ${passed} passed, ${failed} failed`);
|
||||
|
||||
if (failed > 0) {
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
runTests();
|
||||
Reference in New Issue
Block a user