diff --git a/src/__tests__/unit/id-validation.test.ts b/src/__tests__/unit/id-validation.test.ts index d5b82c7..eb40210 100644 --- a/src/__tests__/unit/id-validation.test.ts +++ b/src/__tests__/unit/id-validation.test.ts @@ -125,4 +125,36 @@ describe('ID Validation', () => { expect(isNaN(playerId)).toBe(true); }); }); + + describe('Next.js 16 params handling', () => { + test('should handle params as Promise (Next.js 16 requirement)', async () => { + // In Next.js 16, params is a Promise + const params = Promise.resolve({ id: '123' }); + + // This is how Next.js 16 expects params to be handled + const { id } = await params; + const parsedId = parseInt(id, 10); + + expect(parsedId).toBe(123); + expect(isNaN(parsedId)).toBe(false); + }); + + test('should handle invalid ID in Next.js 16 params', async () => { + const params = Promise.resolve({ id: 'invalid' }); + + const { id } = await params; + const parsedId = parseInt(id, 10); + + expect(isNaN(parsedId)).toBe(true); + }); + + test('should handle empty ID in Next.js 16 params', async () => { + const params = Promise.resolve({ id: '' }); + + const { id } = await params; + const parsedId = parseInt(id, 10); + + expect(isNaN(parsedId)).toBe(true); + }); + }); });