""" TitleLibraryItem 标题库领域模型单元测试 """ from packages.domain.title_library import TitleLibraryItem class TestTitleLibraryItem: """TitleLibraryItem 测试""" def test_create_minimal(self): item = TitleLibraryItem(id="t1", user_id="u1", name="标题1", text="这是标题文本") assert item.id == "t1" assert item.user_id == "u1" assert item.name == "标题1" assert item.text == "这是标题文本" def test_default_values(self): item = TitleLibraryItem(id="t1", user_id="u1", name="n", text="t") assert item.category == "default" assert item.description == "" assert item.tags == [] assert item.usage_count == 0 assert item.is_active is True assert item.metadata_ == {} def test_with_category(self): item = TitleLibraryItem( id="t1", user_id="u1", name="n", text="t", category="美食", ) assert item.category == "美食" def test_with_tags(self): item = TitleLibraryItem( id="t1", user_id="u1", name="n", text="t", tags=["爆款", "美食"], ) assert len(item.tags) == 2 assert "爆款" in item.tags def test_usage_count(self): item = TitleLibraryItem(id="t1", user_id="u1", name="n", text="t") assert item.usage_count == 0 item.usage_count = 10 assert item.usage_count == 10 def test_inactive(self): item = TitleLibraryItem( id="t1", user_id="u1", name="n", text="t", is_active=False, ) assert item.is_active is False def test_with_metadata(self): meta = {"source": "import", "quality": "high"} item = TitleLibraryItem( id="t1", user_id="u1", name="n", text="t", metadata_=meta, ) assert item.metadata_["source"] == "import" def test_has_timestamps(self): item = TitleLibraryItem(id="t1", user_id="u1", name="n", text="t") assert item.created_at is not None assert item.updated_at is not None