28 lines
835 B
TypeScript
28 lines
835 B
TypeScript
// @vitest-environment jsdom
|
|
// @vitest-environment-options {"url":"https://xingtu.cn/ad/creator/market"}
|
|
|
|
import { describe, expect, test, vi } from "vitest";
|
|
|
|
import { bootContentScript } from "../src/content/index";
|
|
|
|
describe("market-auth-gating", () => {
|
|
test("shows a login gate instead of booting the market controller when unauthenticated", async () => {
|
|
document.body.innerHTML = "<div></div>";
|
|
|
|
const createMarketController = vi.fn();
|
|
await bootContentScript({
|
|
createMarketController,
|
|
document,
|
|
sendAuthMessage: vi.fn(async () => ({
|
|
ok: true,
|
|
type: "auth:state",
|
|
value: { isAuthenticated: false }
|
|
})),
|
|
window
|
|
});
|
|
|
|
expect(createMarketController).not.toHaveBeenCalled();
|
|
expect(document.body.textContent).toContain("请先登录插件");
|
|
});
|
|
});
|