fix: enforce security profile language across DAVE
All checks were successful
Codex Template Compliance / template-compliance (pull_request) Successful in 10s
Build / test-and-image (pull_request) Successful in 56s

This commit is contained in:
2026-07-06 09:14:55 +02:00
parent dce8c278a5
commit 73af4abfa2
9 changed files with 98 additions and 17 deletions

View File

@@ -44,6 +44,24 @@ test('Telegram AI chat reports missing LLM configuration', async () => {
assert.match(await assistant.reply('hello', { chatId: 1 }), /unavailable/i);
});
test('Telegram AI chat enforces the encrypted profile language in provider prompts', async () => {
const calls = [];
const assistant = new TelegramChatAssistant({
provider: {
isConfigured: true,
async complete(systemPrompt, userMessage) {
calls.push({ systemPrompt, userMessage });
return { text: 'Antwort auf Deutsch.' };
},
},
getPreferredLanguage: () => 'de',
});
assert.equal(await assistant.reply('Kurzer Lagecheck', { chatId: 42 }), 'Antwort auf Deutsch.');
assert.match(calls[0].systemPrompt, /REQUIRED RESPONSE LANGUAGE: German \(de\)/);
assert.match(calls[0].userMessage, /All user-visible prose in the final answer must be German/);
});
test('Telegram chat context is compact and operationally useful', () => {
const context = JSON.parse(buildTelegramChatContext({
meta: { generatedAt: '2026-07-05T10:00:00Z' },