-
Notifications
You must be signed in to change notification settings - Fork 5.5k
Expand file tree
/
Copy pathtelegram-agent.test.ts
More file actions
39 lines (34 loc) · 1.42 KB
/
telegram-agent.test.ts
File metadata and controls
39 lines (34 loc) · 1.42 KB
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 { expect, test } from "bun:test";
import { createTelegramCharacter, readRequiredEnv } from "./telegram-agent";
test("readRequiredEnv rejects missing or empty values", () => {
const originalValue = process.env.TELEGRAM_BOT_TOKEN;
try {
delete process.env.TELEGRAM_BOT_TOKEN;
expect(() => readRequiredEnv("TELEGRAM_BOT_TOKEN")).toThrow(
"Missing required environment variable: TELEGRAM_BOT_TOKEN",
);
process.env.TELEGRAM_BOT_TOKEN = " ";
expect(() => readRequiredEnv("TELEGRAM_BOT_TOKEN")).toThrow(
"Missing required environment variable: TELEGRAM_BOT_TOKEN",
);
process.env.TELEGRAM_BOT_TOKEN = "bot-token";
expect(readRequiredEnv("TELEGRAM_BOT_TOKEN")).toBe("bot-token");
} finally {
if (originalValue === undefined) {
delete process.env.TELEGRAM_BOT_TOKEN;
} else {
process.env.TELEGRAM_BOT_TOKEN = originalValue;
}
}
});
test("createTelegramCharacter wires required secrets and mobile-friendly prompt", () => {
const character = createTelegramCharacter({
telegramBotToken: "telegram-token",
openaiApiKey: "openai-key",
});
expect(character.name).toBe("TelegramEliza");
expect(character.system).toContain("suitable for mobile chat");
expect(character.settings?.OPENAI_SMALL_MODEL).toBe("gpt-5-mini");
expect(character.secrets?.TELEGRAM_BOT_TOKEN).toBe("telegram-token");
expect(character.secrets?.OPENAI_API_KEY).toBe("openai-key");
});