import { expect, type Mock } from "vitest"; import type { MsgContext } from "../../../auto-reply/templating.js"; import { normalizeChatType } from "../../chat-type.js"; import { resolveConversationLabel } from "../../conversation-label.js"; import { validateSenderIdentity } from "../../sender-identity.js";
// oxlint-disable-next-line typescript/no-unnecessary-type-parameters -- Test helper preserves channel send mock arg types.
export function primeChannelOutboundSendMock<TArgs extends unknown[]>(
sendMock: Mock<(...args: TArgs) => Promise<unknown>>,
fallbackResult: Record<string, unknown>,
sendResults: Record<string, unknown>[] = [],
) {
sendMock.mockReset(); if (sendResults.length === 0) {
sendMock.mockResolvedValue(fallbackResult as never); return;
} for (const result of sendResults) {
sendMock.mockResolvedValueOnce(result as never);
}
}
export function expectChannelInboundContextContract(ctx: MsgContext) {
expect(validateSenderIdentity(ctx)).toEqual([]);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.