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:
root
2026-02-19 12:24:38 +00:00
parent aa1b2fa80b
commit 040655912c
3 changed files with 68 additions and 2 deletions
+53
View File
@@ -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();