File size: 1,063 Bytes
fc93158
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import { describe, expect, it } from "vitest";
import type { OpenClawConfig } from "../config/config.js";
import { isSlackInteractiveRepliesEnabled } from "./interactive-replies.js";

describe("isSlackInteractiveRepliesEnabled", () => {
  it("fails closed when accountId is unknown and multiple accounts exist", () => {
    const cfg = {
      channels: {
        slack: {
          accounts: {
            one: {
              capabilities: { interactiveReplies: true },
            },
            two: {},
          },
        },
      },
    } as OpenClawConfig;

    expect(isSlackInteractiveRepliesEnabled({ cfg, accountId: undefined })).toBe(false);
  });

  it("uses the only configured account when accountId is unknown", () => {
    const cfg = {
      channels: {
        slack: {
          accounts: {
            only: {
              capabilities: { interactiveReplies: true },
            },
          },
        },
      },
    } as OpenClawConfig;

    expect(isSlackInteractiveRepliesEnabled({ cfg, accountId: undefined })).toBe(true);
  });
});