Files
alfred/tests/test_tools_language.py
T
francwa de02bdea06 git commit -m "feat: major architectural refactor
- Refactor memory system (episodic/STM/LTM with components)
- Implement complete subtitle domain (scanner, matcher, placer)
- Add YAML workflow infrastructure
- Externalize knowledge base (patterns, release groups)
- Add comprehensive testing suite
- Create manual testing CLIs"
2026-05-11 21:33:37 +02:00

42 lines
1.3 KiB
Python

"""Tests for language tools."""
import pytest
from alfred.agent.tools.language import set_language
class TestSetLanguage:
def test_success_returns_ok(self, memory):
result = set_language("fr")
assert result["status"] == "ok"
assert result["language"] == "fr"
def test_message_contains_language(self, memory):
result = set_language("en")
assert "en" in result["message"]
def test_persists_to_memory(self, memory):
set_language("es")
# Verify it's stored in STM
from alfred.infrastructure.persistence import get_memory
mem = get_memory()
assert mem.stm.language == "es"
def test_various_language_codes(self, memory):
for lang in ["en", "fr", "es", "de", "it", "pt"]:
result = set_language(lang)
assert result["status"] == "ok"
assert result["language"] == lang
def test_error_on_memory_failure(self, monkeypatch):
from alfred.agent.tools import language as lang_module
def broken_get_memory():
raise RuntimeError("memory unavailable")
monkeypatch.setattr(lang_module, "get_memory", broken_get_memory)
result = set_language("fr")
assert result["status"] == "error"
assert "error" in result