1) 客服 Agent 四份交付文档 + 构建脚手架:品牌由包装占位 XX科技 / 旧名 南方财富 统一为南方基金(热线 400-889-8899 / 官网 nffund.com),系统名改为「智能服务系统」; 同步追加 §0.4 修订记录行,工程记录行保留原占位字面以支撑硬编码扫描验收。 2) 开发文档:清理 28 份已作废/残留文档(14 份移出归档 + 14 份仓库副本), 新增《文档规整方案与开发前待决事项-2026-09-17》。 3) 客服agent 四份交付文档首次纳入本分支。
42 lines
1.4 KiB
Python
42 lines
1.4 KiB
Python
from datetime import date
|
|
from decimal import Decimal
|
|
|
|
import pytest
|
|
|
|
from app.core.contracts import RequestContext
|
|
from app.core.fund_contracts import FundQuote
|
|
from app.service import fund_quote_service
|
|
from app.service.fund_quote_service import query_fund_quote_tool
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_query_fund_quote_tool_returns_stable_payload(
|
|
monkeypatch: pytest.MonkeyPatch,
|
|
) -> None:
|
|
class StubService:
|
|
async def query(self, query: object) -> list[FundQuote]:
|
|
return [FundQuote(
|
|
fund_code="159511", fund_name="测试基金", fund_type="股票型",
|
|
nav=Decimal("1.20"), nav_date=date(2026, 9, 9),
|
|
quote_time="2026-09-09T10:00:00+08:00",
|
|
quote_source="eastmoney", is_intraday=True,
|
|
)]
|
|
|
|
class Factory:
|
|
@staticmethod
|
|
def create() -> object:
|
|
return object()
|
|
|
|
monkeypatch.setattr(fund_quote_service.EastmoneyAdapterFactory, "create", Factory.create)
|
|
monkeypatch.setattr(
|
|
fund_quote_service,
|
|
"FundQuoteService",
|
|
lambda _adapter, **_kwargs: StubService(),
|
|
)
|
|
result = await query_fund_quote_tool(
|
|
fund_quote_service.FundQuoteQuery(fund_codes=("159511",)),
|
|
RequestContext(user_id="1", trace_id="quote"),
|
|
)
|
|
assert result[0]["fund_code"] == "159511"
|
|
assert result[0]["nav"] == "1.20"
|