You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.1 KiB
38 lines
1.1 KiB
import { describe, expect, it } from "vitest";
|
|
import {
|
|
flockLocatorCount,
|
|
flockPageClosedMessage,
|
|
isFlockPageAlive,
|
|
isFlockPageClosedError,
|
|
} from "@/workers/rpa/flock/page-alive";
|
|
|
|
describe("flock page-alive", () => {
|
|
it("识别 Target closed / locator.count 关窗错误", () => {
|
|
expect(
|
|
isFlockPageClosedError(
|
|
new Error("locator.count: Target page, context or browser has been closed"),
|
|
),
|
|
).toBe(true);
|
|
expect(isFlockPageClosedError(new Error("other"))).toBe(false);
|
|
});
|
|
|
|
it("关窗文案可读", () => {
|
|
expect(flockPageClosedMessage("填表")).toContain("BROWSER_CLOSED");
|
|
expect(flockPageClosedMessage("填表")).toContain("填表");
|
|
});
|
|
|
|
it("isFlockPageAlive null 为 false", () => {
|
|
expect(isFlockPageAlive(null)).toBe(false);
|
|
});
|
|
|
|
it("flockLocatorCount 在 page.isClosed 时返回 0", async () => {
|
|
const loc = {
|
|
page: () => ({ isClosed: () => true }),
|
|
count: async () => {
|
|
throw new Error("should not call");
|
|
},
|
|
};
|
|
expect(await flockLocatorCount(loc as never)).toBe(0);
|
|
});
|
|
});
|