fix(config): 修复切换充值渠道报错及补齐 peace_enabled 字段声明

- 在 DouyuConfigOut 与 DouyuConfigUpdate 中补齐 peace_enabled 声明与序列化
- 在 update_config 中使用 getattr(req, field, None) 安全读取属性,避免 AttributeError 导致 500
- 在 _config_out 中加入 peace_enabled 输出映射
- 增加切换充值渠道与配置更新的单元测试
This commit is contained in:
yml2213
2026-10-08 11:49:41 +08:00
parent 4eef45efe4
commit ec07e4fc06
3 changed files with 32 additions and 1 deletions
+26
View File
@@ -140,6 +140,32 @@ class TestDouyuGoldRechargeChannel:
assert channel == {"gold_recharge_channel": "supplier_api"}
def test_update_config_switching_recharge_channel_and_peace_enabled(self):
from web.backend.routers.douyu import update_config
from web.backend.schemas import DouyuConfigUpdate
admin_user = self.session.get(User, self.task.created_by)
# 1. 切换到 supplier_api
req = DouyuConfigUpdate(
gold_recharge_channel="supplier_api",
peace_enabled=True,
)
res = update_config(req, db=self.session, current=admin_user)
dumped = res.model_dump()
assert dumped["gold_recharge_channel"] == "supplier_api"
assert dumped["peace_enabled"] is True
# 2. 切换回 wechat_qr
req2 = DouyuConfigUpdate(
gold_recharge_channel="wechat_qr",
peace_enabled=False,
)
res2 = update_config(req2, db=self.session, current=admin_user)
dumped2 = res2.model_dump()
assert dumped2["gold_recharge_channel"] == "wechat_qr"
assert dumped2["peace_enabled"] is False
def test_recharge_audit_detail_includes_safe_account_identity(self):
record_audit(
self.session,