rea/tests/boundary/browser/cdpScreenshotDocumentIdenti...

30 lines
1.1 KiB
TypeScript

import { describe, expect, it, onTestFinished } from "vitest";
import { CdpBrowserProvider } from "../../../src/browser/CdpBrowserProvider.js";
import { captureWebScreenshotInputSchema } from "../../../src/domain/webScreenshot.js";
import { startFakeCdpBrowser } from "../../fixtures/fakeCdpBrowser.js";
describe("screenshot committed document identity", () => {
it.each(["loader-main", "loader-reloaded"])(
"distinguishes %s for the same URL",
async (screenshotDocumentLoader) => {
const browser = await startFakeCdpBrowser({ screenshotDocumentLoader });
onTestFinished(async () => {
await browser.close();
});
const result = await new CdpBrowserProvider().captureScreenshot(
captureWebScreenshotInputSchema.parse({
cdp_endpoint: browser.endpoint,
allowed_origins: [browser.allowedOrigin],
target_id: "allowed-page",
}),
);
if (screenshotDocumentLoader === "loader-main")
expect(result.ok).toBe(true);
else
expect(result).toMatchObject({
ok: false,
error: { reason: "target_changed" },
});
},
);
});