fix(zalouser): enforce group mention gating and typing

This commit is contained in:
Peter Steinberger
2026-03-02 21:53:18 +00:00
parent e5597a8dd4
commit 99a3db6ba9
10 changed files with 419 additions and 14 deletions

View File

@@ -1,19 +1,27 @@
import { beforeEach, describe, expect, it, vi } from "vitest";
import { sendImageZalouser, sendLinkZalouser, sendMessageZalouser } from "./send.js";
import { sendZaloLink, sendZaloTextMessage } from "./zalo-js.js";
import {
sendImageZalouser,
sendLinkZalouser,
sendMessageZalouser,
sendTypingZalouser,
} from "./send.js";
import { sendZaloLink, sendZaloTextMessage, sendZaloTypingEvent } from "./zalo-js.js";
vi.mock("./zalo-js.js", () => ({
sendZaloTextMessage: vi.fn(),
sendZaloLink: vi.fn(),
sendZaloTypingEvent: vi.fn(),
}));
const mockSendText = vi.mocked(sendZaloTextMessage);
const mockSendLink = vi.mocked(sendZaloLink);
const mockSendTyping = vi.mocked(sendZaloTypingEvent);
describe("zalouser send helpers", () => {
beforeEach(() => {
mockSendText.mockReset();
mockSendLink.mockReset();
mockSendTyping.mockReset();
});
it("delegates text send to JS transport", async () => {
@@ -62,4 +70,13 @@ describe("zalouser send helpers", () => {
});
expect(result).toEqual({ ok: false, error: "boom" });
});
it("delegates typing helper to JS transport", async () => {
await sendTypingZalouser("thread-4", { profile: "p4", isGroup: true });
expect(mockSendTyping).toHaveBeenCalledWith("thread-4", {
profile: "p4",
isGroup: true,
});
});
});