e2e/hydration.spec.ts
Linked repository file from this build.
import { expect, test } from "@playwright/test";
test("inbox and review reload without hydration errors", async ({ page }) => {
const errors: string[] = [];
page.on("console", (message) => {
if (
/hydration|hydrated|server rendered HTML|Minified React error #(?:418|423|425)/i.test(
message.text(),
)
)
errors.push(message.text());
});
page.on("pageerror", (error) => errors.push(error.message));
for (const route of ["/dashboard", "/reviews/aa1635c0-c99d-5f12-8f26-54d3f23bf13d"]) {
await page.goto(route);
await expect(page.getByRole("textbox", { name: "Search reviews", exact: true })).toBeVisible();
await page.reload();
await expect(page.getByRole("textbox", { name: "Search reviews", exact: true })).toBeVisible();
if (route.includes("60001")) await expect(page.locator("#client-name")).toBeVisible();
}
expect(errors).toEqual([]);
});