| import { describe, expect, it } from "vitest"; |
|
|
| import { resolveTelegramAutoSelectFamilyDecision } from "./network-config.js"; |
|
|
| describe("resolveTelegramAutoSelectFamilyDecision", () => { |
| it("prefers env enable over env disable", () => { |
| const decision = resolveTelegramAutoSelectFamilyDecision({ |
| env: { |
| OPENCLAW_TELEGRAM_ENABLE_AUTO_SELECT_FAMILY: "1", |
| OPENCLAW_TELEGRAM_DISABLE_AUTO_SELECT_FAMILY: "1", |
| }, |
| nodeMajor: 22, |
| }); |
| expect(decision).toEqual({ |
| value: true, |
| source: "env:OPENCLAW_TELEGRAM_ENABLE_AUTO_SELECT_FAMILY", |
| }); |
| }); |
|
|
| it("uses env disable when set", () => { |
| const decision = resolveTelegramAutoSelectFamilyDecision({ |
| env: { OPENCLAW_TELEGRAM_DISABLE_AUTO_SELECT_FAMILY: "1" }, |
| nodeMajor: 22, |
| }); |
| expect(decision).toEqual({ |
| value: false, |
| source: "env:OPENCLAW_TELEGRAM_DISABLE_AUTO_SELECT_FAMILY", |
| }); |
| }); |
|
|
| it("uses config override when provided", () => { |
| const decision = resolveTelegramAutoSelectFamilyDecision({ |
| network: { autoSelectFamily: true }, |
| nodeMajor: 22, |
| }); |
| expect(decision).toEqual({ value: true, source: "config" }); |
| }); |
|
|
| it("defaults to disable on Node 22", () => { |
| const decision = resolveTelegramAutoSelectFamilyDecision({ nodeMajor: 22 }); |
| expect(decision).toEqual({ value: false, source: "default-node22" }); |
| }); |
|
|
| it("returns null when no decision applies", () => { |
| const decision = resolveTelegramAutoSelectFamilyDecision({ nodeMajor: 20 }); |
| expect(decision).toEqual({ value: null }); |
| }); |
| }); |
|
|