mirror of
https://github.com/morluto/rea.git
synced 2026-10-28 18:35:53 +00:00
30 lines
1.2 KiB
TypeScript
30 lines
1.2 KiB
TypeScript
import { afterEach, expect, it, vi } from "vitest";
|
|
import { inspectWebPageInputSchema } from "../domain/browserObservation.js";
|
|
import { CdpCaptureEvents } from "./CdpCaptureEvents.js";
|
|
|
|
afterEach(() => vi.useRealTimers());
|
|
|
|
it("starts each domain at its first event or enable acknowledgment, preserving events before the reply", () => {
|
|
vi.useFakeTimers();
|
|
vi.setSystemTime(new Date("2026-10-24T00:00:00.000Z"));
|
|
const events = new CdpCaptureEvents(
|
|
inspectWebPageInputSchema.parse({
|
|
cdp_endpoint: "http://127.0.0.1:9222",
|
|
target_id: "page",
|
|
allowed_origins: ["https://example.test"],
|
|
}),
|
|
new Set(["https://example.test"]),
|
|
);
|
|
events.beginAuthorizedFrame("main");
|
|
vi.setSystemTime(new Date("2026-10-24T00:00:01.000Z"));
|
|
events.ingest({
|
|
method: "Network.loadingFinished",
|
|
params: { requestId: "unobserved", encodedDataLength: 0 },
|
|
});
|
|
vi.setSystemTime(new Date("2026-10-24T00:00:02.000Z"));
|
|
events.markDomainEnabled("Network");
|
|
events.markDomainEnabled("Runtime");
|
|
expect(events.coverageStartedAt("Network")).toBe("2026-10-24T00:00:01.000Z");
|
|
expect(events.coverageStartedAt("Runtime")).toBe("2026-10-24T00:00:02.000Z");
|
|
});
|