"""Tests for entity generation validation.""" import os import sys sys.path.insert(0, os.path.dirname(os.path.dirname(__file__))) os.environ.setdefault("USE_MOCK_AI", "true") from ai.generation import EntityProfile, validate_input, _clean_name def test_validate_input_min_words(): ok, msg = validate_input("too short") assert not ok assert "5 words" in msg def test_validate_input_ok(): ok, _ = validate_input("a blind cartographer who maps impossible places") assert ok def test_clean_name_fixes_the_the(): assert _clean_name("The The Clockmaker", "x").startswith("The Clockmaker") def test_entity_profile_traits(): data = { "name": "The Silent Gear", "display_name": "Silent Gear", "type": "object", "appearance": "A gear.", "backstory": "It fell.", "personality_traits": ["a", "b", "c", "d"], "primary_goal": "Tick once.", "secondary_goal": "Never tick.", "primary_fear": "Being wound.", "speech_style": "Metallic.", "greeting": "Click.", "suggested_location": "The Clock Forest", "arrival_note": "It arrived.", } p = EntityProfile(**data) assert p.name == "The Silent Gear"