fix: complete TechLog migration evidence
This commit is contained in:
@@ -15,6 +15,7 @@ function ignoredConsole(message: ConsoleMessage) {
|
||||
export const test = base.extend({
|
||||
page: async ({ page }, use) => {
|
||||
const failures: string[] = [];
|
||||
let mainDocumentStatus: number | null = null;
|
||||
const onConsole = (message: ConsoleMessage) => {
|
||||
if (
|
||||
["error", "warning"].includes(message.type()) &&
|
||||
@@ -31,14 +32,33 @@ export const test = base.extend({
|
||||
`requestfailed:${request.method()}:${new URL(request.url()).pathname}:${request.failure()?.errorText ?? "unknown"}`,
|
||||
);
|
||||
};
|
||||
const onResponse = (response: import("@playwright/test").Response) => {
|
||||
if (
|
||||
response.request().resourceType() === "document" &&
|
||||
response.frame() === page.mainFrame()
|
||||
) {
|
||||
mainDocumentStatus = response.status();
|
||||
}
|
||||
};
|
||||
page.on("console", onConsole);
|
||||
page.on("pageerror", onPageError);
|
||||
page.on("requestfailed", onRequestFailed);
|
||||
page.on("response", onResponse);
|
||||
await use(page);
|
||||
page.off("console", onConsole);
|
||||
page.off("pageerror", onPageError);
|
||||
page.off("requestfailed", onRequestFailed);
|
||||
expect(failures, "unexpected browser console/page errors").toEqual([]);
|
||||
page.off("response", onResponse);
|
||||
const expectedDocumentNotFoundConsole =
|
||||
"console:error:Failed to load resource: the server responded with a status of 404 (Not Found)";
|
||||
expect(
|
||||
failures.filter(
|
||||
(failure) =>
|
||||
failure !== expectedDocumentNotFoundConsole ||
|
||||
mainDocumentStatus !== 404,
|
||||
),
|
||||
"unexpected browser console/page errors",
|
||||
).toEqual([]);
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user