PMFlow/backend/tests/test_ai_steward_title_extra...

32 lines
1.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import unittest
from app.services.ai_steward import AIStewardService
class AIStewardTitleExtractTest(unittest.IsolatedAsyncioTestCase):
async def test_extract_title_from_plain_project_create_instruction(self) -> None:
title = AIStewardService._extract_project_title_from_instruction("给我新增个项目,openclaw自动化部署。")
self.assertEqual(title, "openclaw自动化部署")
async def test_extract_title_from_correction_sentence(self) -> None:
title = AIStewardService._extract_project_title_from_instruction("不是创建信号,是创建项目名为openclaw自动化部署。")
self.assertEqual(title, "openclaw自动化部署")
async def test_normalize_project_draft_should_not_use_instruction_sentence_as_title(self) -> None:
service = AIStewardService(db=None) # type: ignore[arg-type]
normalized = await service._normalize_project_creation_draft(
draft={
"analysis": {},
"project": {
"title": "不是创建信号,是创建项目名为openclaw自动化部署。",
"description": "不是创建信号,是创建项目名为openclaw自动化部署。",
},
"tasks": [],
},
input_text="不是创建信号,是创建项目名为openclaw自动化部署。",
creator_id=1,
tenant_id=1,
)
self.assertEqual(normalized["project"]["title"], "openclaw自动化部署")
self.assertEqual(normalized["project"]["description"], "项目:openclaw自动化部署")