import { describe, expect, it } from "vitest" ;
import {
createDirectoryTestRuntime,
expectDirectorySurface,
} from "../../../test/helpers/plugins/directory.js" ;
import type { OpenClawConfig, RuntimeEnv } from "../runtime-api.js" ;
import { zaloPlugin } from "./channel.js" ;
describe("zalo directory" , () => {
const runtimeEnv = createDirectoryTestRuntime() as RuntimeEnv;
const directory = expectDirectorySurface(zaloPlugin.directory);
async function expectPeersFromAllowFrom(allowFrom: string[]) {
const cfg = {
channels: {
zalo: {
allowFrom,
},
},
} as unknown as OpenClawConfig;
await expect(
directory.listPeers({
cfg,
accountId: undefined,
query: undefined,
limit: undefined,
runtime: runtimeEnv,
}),
).resolves.toEqual(
expect.arrayContaining([
{ kind: "user" , id: "123" },
{ kind: "user" , id: "234" },
{ kind: "user" , id: "345" },
]),
);
await expect(
directory.listGroups({
cfg,
accountId: undefined,
query: undefined,
limit: undefined,
runtime: runtimeEnv,
}),
).resolves.toEqual([]);
}
it("lists peers from allowFrom" , async () => {
await expectPeersFromAllowFrom(["zalo:123" , "zl:234" , "345" ]);
});
it("normalizes spaced zalo prefixes in allowFrom and pairing entries" , async () => {
await expectPeersFromAllowFrom([" zalo:123 " , " zl:234 " , " 345 " ]);
expect(zaloPlugin.pairing?.normalizeAllowEntry?.(" zalo:123 " )).toBe("123" );
expect(zaloPlugin.messaging?.normalizeTarget?.(" zl:234 " )).toBe("234" );
});
});
Messung V0.5 in Prozent C=100 H=100 G=100
[Dauer der Verarbeitung: 0.11 Sekunden, vorverarbeitet 2026-06-07]