refs #732: polish portal report question samples

This commit is contained in:
devmrko
2026-08-11 10:38:07 +09:00
parent cbd49b6b05
commit 2d0b5a3c1e
2 changed files with 42 additions and 12 deletions

View File

@@ -40,23 +40,37 @@
{
"id": "FED-01",
"enabled": true,
"category": "선사 실적 Federation",
"title": "팀원별 담당 선사 최신 실적",
"question": "E1001 팀장의 팀원별 담당 선사와 해당 선사의 최신 매출, 매출총이익, 정시 운항률, 위험 등급을 보여줘"
"category": "선사 실적",
"title": "우리 팀 담당 선사 최신 실적",
"question": "우리 팀원별 담당 선사와 선사의 최신 매출, 매출총이익, 정시 운항률, 위험 등급을 보여줘"
},
{
"id": "FED-02",
"enabled": true,
"category": "선사 실적 Federation",
"title": "위험 선사와 담당자",
"question": "E1001 팀에서 최신 위험 등급이 RED인 선사 담당하는 직원, 선사명, 매출, 정시 운항률과 클레임 발생률을 보여줘"
"category": "선사 실적",
"title": "주의가 필요한 선사",
"question": "우리 팀이 담당하는 선사 중 최신 위험 등급이 RED인 선사 담당, 선사명, 매출, 정시 운항률과 클레임 발생률을 보여줘"
},
{
"id": "FED-03",
"enabled": true,
"category": "선사 실적 Federation",
"title": "담당 선사 월별 추이",
"question": "E1006 직원이 담당하는 선사의 월별 매출, 운송 물동량, 매출총이익과 위험 등급을 기준월 순서로 보여줘"
"category": "선사 실적",
"title": "담당 선사 월별 추이",
"question": "내가 담당하는 선사의 월별 매출, 운송 물동량, 매출총이익과 위험 등급을 기준월 순서로 보여줘"
},
{
"id": "FED-04",
"enabled": true,
"category": "선사 실적 리포트",
"title": "우리 팀 선사 실적 리포트",
"question": "우리 팀원별 담당 선사의 최신 매출, 매출총이익, 정시 운항률과 위험 등급을 HMM 리포트로 보여줘"
},
{
"id": "FED-05",
"enabled": true,
"category": "선사 실적 리포트",
"title": "내 담당 선사 실적 리포트",
"question": "내 담당 선사의 최신 매출, 매출총이익, 정시 운항률과 위험 등급을 HMM 리포트로 보여줘"
}
]
}

View File

@@ -107,14 +107,30 @@ class DemoScenarioConfigTest(unittest.TestCase):
self.assertTrue(all(item.question.strip() for item in scenarios))
by_id = {item.scenario_id: item for item in scenarios}
self.assertEqual(
{"FED-01", "FED-02", "FED-03"},
{"FED-01", "FED-02", "FED-03"} & set(by_id),
{"FED-01", "FED-02", "FED-03", "FED-04", "FED-05"},
{"FED-01", "FED-02", "FED-03", "FED-04", "FED-05"} & set(by_id),
)
self.assertTrue(
all("선사" in by_id[scenario_id].question for scenario_id in (
"FED-01", "FED-02", "FED-03"
"FED-01", "FED-02", "FED-03", "FED-04", "FED-05"
))
)
carrier_scenarios = [
item for item in scenarios if item.scenario_id.startswith("FED-")
]
self.assertTrue(
all(
re.search(r"\bE\d{4,}\b", item.question, flags=re.IGNORECASE) is None
for item in carrier_scenarios
)
)
report_scenarios = [
item for item in carrier_scenarios if "리포트로 보여줘" in item.question
]
self.assertGreaterEqual(len(report_scenarios), 2)
self.assertTrue(
all(item.category == "선사 실적 리포트" for item in report_scenarios)
)
def test_hmm_mcp_allows_carrier_federation_tool(self) -> None:
path = Path(__file__).parents[1] / "config" / "mcp_servers.json"