增加TG代理选项,增加测试用例

This commit is contained in:
Shinku
2026-03-20 01:03:21 +08:00
parent 54203d64a3
commit c5d55f0ab0
3 changed files with 157 additions and 0 deletions
@@ -55,6 +55,7 @@ describe('settings and auth events', () => {
(config as any).telegramApiBaseUrl = 'https://api.telegram.org';
(config as any).telegramBotToken = '';
(config as any).telegramChatId = '';
(config as any).telegramUseSystemProxy = false;
});
afterAll(async () => {
@@ -219,6 +220,32 @@ describe('settings and auth events', () => {
expect(body.message).toContain('Telegram API Base URL');
});
it('persists and returns telegram use system proxy from runtime settings', async () => {
const updateResponse = await app.inject({
method: 'PUT',
url: '/api/settings/runtime',
payload: {
telegramUseSystemProxy: true,
},
});
expect(updateResponse.statusCode).toBe(200);
const updated = updateResponse.json() as { telegramUseSystemProxy?: boolean };
expect(updated.telegramUseSystemProxy).toBe(true);
expect((config as any).telegramUseSystemProxy).toBe(true);
const saved = await db.select().from(schema.settings).where(eq(schema.settings.key, 'telegram_use_system_proxy')).get();
expect(saved?.value).toBe(JSON.stringify(true));
const getResponse = await app.inject({
method: 'GET',
url: '/api/settings/runtime',
});
expect(getResponse.statusCode).toBe(200);
const runtime = getResponse.json() as { telegramUseSystemProxy?: boolean };
expect(runtime.telegramUseSystemProxy).toBe(true);
});
it('persists and returns routing fallback unit cost from runtime settings', async () => {
const updateResponse = await app.inject({
method: 'PUT',