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"
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
"""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
|
||||
Reference in New Issue
Block a user