mirror of https://github.com/openclaw/openclaw.git
test: dedupe feishu account resolution fixtures
This commit is contained in:
parent
9a14696f30
commit
a7e5925ec1
|
|
@ -9,6 +9,23 @@ import type { FeishuConfig } from "./types.js";
|
|||
|
||||
const asConfig = (value: Partial<FeishuConfig>) => value as FeishuConfig;
|
||||
|
||||
function makeDefaultAndRouterAccounts() {
|
||||
return {
|
||||
default: { appId: "cli_default", appSecret: "secret_default" }, // pragma: allowlist secret
|
||||
"router-d": { appId: "cli_router", appSecret: "secret_router" }, // pragma: allowlist secret
|
||||
};
|
||||
}
|
||||
|
||||
function expectExplicitDefaultAccountSelection(
|
||||
account: ReturnType<typeof resolveFeishuAccount>,
|
||||
appId: string,
|
||||
) {
|
||||
expect(account.accountId).toBe("router-d");
|
||||
expect(account.selectionSource).toBe("explicit-default");
|
||||
expect(account.configured).toBe(true);
|
||||
expect(account.appId).toBe(appId);
|
||||
}
|
||||
|
||||
function withEnvVar(key: string, value: string | undefined, run: () => void) {
|
||||
const prev = process.env[key];
|
||||
if (value === undefined) {
|
||||
|
|
@ -44,10 +61,7 @@ describe("resolveDefaultFeishuAccountId", () => {
|
|||
channels: {
|
||||
feishu: {
|
||||
defaultAccount: "router-d",
|
||||
accounts: {
|
||||
default: { appId: "cli_default", appSecret: "secret_default" }, // pragma: allowlist secret
|
||||
"router-d": { appId: "cli_router", appSecret: "secret_router" }, // pragma: allowlist secret
|
||||
},
|
||||
accounts: makeDefaultAndRouterAccounts(),
|
||||
},
|
||||
},
|
||||
};
|
||||
|
|
@ -278,10 +292,7 @@ describe("resolveFeishuAccount", () => {
|
|||
};
|
||||
|
||||
const account = resolveFeishuAccount({ cfg: cfg as never, accountId: undefined });
|
||||
expect(account.accountId).toBe("router-d");
|
||||
expect(account.selectionSource).toBe("explicit-default");
|
||||
expect(account.configured).toBe(true);
|
||||
expect(account.appId).toBe("top_level_app");
|
||||
expectExplicitDefaultAccountSelection(account, "top_level_app");
|
||||
});
|
||||
|
||||
it("uses configured default account when accountId is omitted", () => {
|
||||
|
|
@ -298,10 +309,7 @@ describe("resolveFeishuAccount", () => {
|
|||
};
|
||||
|
||||
const account = resolveFeishuAccount({ cfg: cfg as never, accountId: undefined });
|
||||
expect(account.accountId).toBe("router-d");
|
||||
expect(account.selectionSource).toBe("explicit-default");
|
||||
expect(account.configured).toBe(true);
|
||||
expect(account.appId).toBe("cli_router");
|
||||
expectExplicitDefaultAccountSelection(account, "cli_router");
|
||||
});
|
||||
|
||||
it("keeps explicit accountId selection", () => {
|
||||
|
|
@ -309,10 +317,7 @@ describe("resolveFeishuAccount", () => {
|
|||
channels: {
|
||||
feishu: {
|
||||
defaultAccount: "router-d",
|
||||
accounts: {
|
||||
default: { appId: "cli_default", appSecret: "secret_default" }, // pragma: allowlist secret
|
||||
"router-d": { appId: "cli_router", appSecret: "secret_router" }, // pragma: allowlist secret
|
||||
},
|
||||
accounts: makeDefaultAndRouterAccounts(),
|
||||
},
|
||||
},
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue