

























@@ -367,6 +367,7 @@ describe("handleTelegramAction", () => {
367367content: "Hello, Telegram!",
368368},
369369telegramConfig(),
370+{ gatewayClientScopes: ["operator.write"] },
370371);
371372const call = mockCall(sendMessageTelegram, 0, "text message");
372373expect(call[0]).toBe("@testchannel");
@@ -550,6 +551,7 @@ describe("handleTelegramAction", () => {
550551media: "https://example.com/image.jpg",
551552},
552553telegramConfig(),
554+{ gatewayClientScopes: ["operator.write"] },
553555);
554556const call = mockCall(sendMessageTelegram, 0, "send alias");
555557expect(call[0]).toBe("@testchannel");
@@ -771,22 +773,28 @@ describe("handleTelegramAction", () => {
771773readCallOpts: (calls: unknown[][], argIndex: number) => Record<string, unknown>,
772774) => readCallOpts(editForumTopicTelegram.mock.calls as unknown[][], 2),
773775},
774-])("forwards resolved cfg for $name action", async ({ params, cfg, assertCall }) => {
775-const readCallOpts = (calls: unknown[][], argIndex: number): Record<string, unknown> => {
776-const args = calls[0];
777-if (!Array.isArray(args)) {
778-throw new Error("Expected Telegram action call args");
779-}
780-const opts = args[argIndex];
781-if (!opts || typeof opts !== "object") {
782-throw new Error("Expected Telegram action options object");
783-}
784-return opts as Record<string, unknown>;
785-};
786-await handleTelegramAction(params as Record<string, unknown>, cfg);
787-const opts = assertCall(readCallOpts);
788-expect(opts.cfg).toBe(cfg);
789-});
776+])(
777+"forwards resolved cfg and gateway scopes for $name action",
778+async ({ params, cfg, assertCall }) => {
779+const readCallOpts = (calls: unknown[][], argIndex: number): Record<string, unknown> => {
780+const args = calls[0];
781+if (!Array.isArray(args)) {
782+throw new Error("Expected Telegram action call args");
783+}
784+const opts = args[argIndex];
785+if (!opts || typeof opts !== "object") {
786+throw new Error("Expected Telegram action options object");
787+}
788+return opts as Record<string, unknown>;
789+};
790+await handleTelegramAction(params as Record<string, unknown>, cfg, {
791+gatewayClientScopes: ["operator.write"],
792+});
793+const opts = assertCall(readCallOpts);
794+expect(opts.cfg).toBe(cfg);
795+expect(opts.gatewayClientScopes).toEqual(["operator.write"]);
796+},
797+);
790798791799it.each([
792800{
@@ -908,6 +916,7 @@ describe("handleTelegramAction", () => {
908916delivery: { pin: { enabled: true } },
909917},
910918telegramConfig(),
919+{ gatewayClientScopes: ["operator.write"] },
911920);
912921913922const call = mockCall(pinMessageTelegram, 0, "delivery pin");
@@ -916,6 +925,7 @@ describe("handleTelegramAction", () => {
916925const options = requireRecord(call[2], "delivery pin options");
917926expect(options.accountId).toBeUndefined();
918927expect(options.verbose).toBe(false);
928+expect(options.gatewayClientScopes).toEqual(["operator.write"]);
919929});
920930921931it("passes delivery pin notify requests for action sends", async () => {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。