mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-09 00:18:26 +00:00
43 lines
1.1 KiB
TypeScript
43 lines
1.1 KiB
TypeScript
import { EventEmitter } from "node:events";
|
|
|
|
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
|
|
import {
|
|
baileys,
|
|
resetBaileysMocks,
|
|
resetLoadConfigMock,
|
|
} from "./test-helpers.js";
|
|
import { resetLogger, setLoggerOverride } from "../logging.js";
|
|
import { loginWeb } from "./login.js";
|
|
import type { waitForWaConnection } from "./session.js";
|
|
|
|
describe("web login", () => {
|
|
beforeEach(() => {
|
|
vi.clearAllMocks();
|
|
resetBaileysMocks();
|
|
resetLoadConfigMock();
|
|
});
|
|
|
|
afterEach(() => {
|
|
resetLogger();
|
|
setLoggerOverride(null);
|
|
});
|
|
|
|
it("loginWeb waits for connection and closes", async () => {
|
|
const closeSpy = vi.fn();
|
|
const ev = new EventEmitter();
|
|
baileys.makeWASocket.mockImplementation(() => ({
|
|
ev,
|
|
ws: { close: closeSpy },
|
|
sendPresenceUpdate: vi.fn(),
|
|
sendMessage: vi.fn(),
|
|
}));
|
|
const waiter: typeof waitForWaConnection = vi
|
|
.fn()
|
|
.mockResolvedValue(undefined);
|
|
await loginWeb(false, waiter);
|
|
await new Promise((resolve) => setTimeout(resolve, 550));
|
|
expect(closeSpy).toHaveBeenCalled();
|
|
});
|
|
});
|