fix(test): mock zalouser runtime in outbound payload contract

This commit is contained in:
Shakker
2026-03-20 01:45:20 +00:00
parent f91fad1710
commit a19f058145

View File

@@ -3,7 +3,6 @@ import { discordOutbound } from "../../../../extensions/discord/src/outbound-ada
import { whatsappOutbound } from "../../../../extensions/whatsapp/src/outbound-adapter.js";
import { zaloPlugin } from "../../../../extensions/zalo/src/channel.js";
import { sendMessageZalo } from "../../../../extensions/zalo/src/send.js";
import "./../../../../extensions/zalouser/src/accounts.test-mocks.js";
import { zalouserPlugin } from "../../../../extensions/zalouser/src/channel.js";
import { setZalouserRuntime } from "../../../../extensions/zalouser/src/runtime.js";
import { sendMessageZalouser } from "../../../../extensions/zalouser/src/send.js";
@@ -19,6 +18,47 @@ vi.mock("../../../../extensions/zalo/src/send.js", () => ({
sendMessageZalo: vi.fn().mockResolvedValue({ ok: true, messageId: "zl-1" }),
}));
// This suite only validates payload adaptation. Keep zalouser's runtime-only
// ZCA import graph mocked so local contract runs don't depend on native socket
// deps being resolved through the extension runtime seam.
vi.mock("../../../../extensions/zalouser/src/accounts.js", () => ({
listZalouserAccountIds: vi.fn(() => ["default"]),
resolveDefaultZalouserAccountId: vi.fn(() => "default"),
resolveZalouserAccountSync: vi.fn(() => ({
accountId: "default",
profile: "default",
name: "test",
enabled: true,
authenticated: true,
config: {},
})),
getZcaUserInfo: vi.fn(async () => null),
checkZcaAuthenticated: vi.fn(async () => false),
}));
vi.mock("../../../../extensions/zalouser/src/zalo-js.js", () => ({
checkZaloAuthenticated: vi.fn(async () => false),
getZaloUserInfo: vi.fn(async () => null),
listZaloFriendsMatching: vi.fn(async () => []),
listZaloGroupMembers: vi.fn(async () => []),
listZaloGroupsMatching: vi.fn(async () => []),
logoutZaloProfile: vi.fn(async () => {}),
resolveZaloAllowFromEntries: vi.fn(async ({ entries }: { entries: string[] }) =>
entries.map((entry) => ({ input: entry, resolved: true, id: entry, note: undefined })),
),
resolveZaloGroupsByEntries: vi.fn(async ({ entries }: { entries: string[] }) =>
entries.map((entry) => ({ input: entry, resolved: true, id: entry, note: undefined })),
),
startZaloQrLogin: vi.fn(async () => ({
message: "qr pending",
qrDataUrl: undefined,
})),
waitForZaloQrLogin: vi.fn(async () => ({
connected: false,
message: "login pending",
})),
}));
vi.mock("../../../../extensions/zalouser/src/send.js", () => ({
sendMessageZalouser: vi.fn().mockResolvedValue({ ok: true, messageId: "zlu-1" }),
sendReactionZalouser: vi.fn().mockResolvedValue({ ok: true }),