diff --git a/packages/tests-e2e/tests/appRouter/middleware.rewrite.test.ts b/packages/tests-e2e/tests/appRouter/middleware.rewrite.test.ts index 07a227666..afd3f7c5f 100644 --- a/packages/tests-e2e/tests/appRouter/middleware.rewrite.test.ts +++ b/packages/tests-e2e/tests/appRouter/middleware.rewrite.test.ts @@ -34,14 +34,19 @@ test("Middleware Rewrite External Image", async ({ page }) => { }); test("Middleware Rewrite Status Code", async ({ page }) => { - page.on("response", async (response) => { - // Need to set up the event before navigating to the page to avoid missing it - // We need to check the URL here also cause there will be multiple responses (i.e the fonts, css, js, etc) - if (response.url() === "/rewrite-status-code") { - expect(response.status()).toBe(403); - } + // Need to set up the event before navigating to the page to avoid missing it + // We need to check the URL here also cause there will be multiple responses (i.e the fonts, css, js, etc) + const statusPromise = new Promise((resolve) => { + page.on("response", async (response) => { + // `response.url()` will be the full URL including the host, so we need to check the pathname + if (new URL(response.url()).pathname === "/rewrite-status-code") { + resolve(response.status()); + } + }); }); + await page.goto("/rewrite-status-code"); const el = page.getByText("Rewritten Destination", { exact: true }); await expect(el).toBeVisible(); + expect(statusPromise).resolves.toEqual(403); });