feat(huya): 协作台账支持待补资料一键建单与表单暂存
This commit is contained in:
@@ -1390,6 +1390,59 @@ class TestCollabCreateStrict(TestCollabBase):
|
||||
assert result["created"] == 1
|
||||
assert self.db.query(HuyaExternalOrder).one().ck_status == "unverified"
|
||||
|
||||
def test_draft_needs_only_order_no_and_shop(self):
|
||||
"""先建单后补资料:只填订单号 + 店铺,状态直接进「待补资料」。"""
|
||||
order = collab.create_order(
|
||||
self.db,
|
||||
self.user,
|
||||
order_no="DRAFT-1",
|
||||
shop="佳佳",
|
||||
draft=True,
|
||||
require_verified=True, # 草稿模式必须压过严格模式,不跑探针
|
||||
)
|
||||
|
||||
assert order.status == collab.STATUS_INCOMPLETE
|
||||
assert order.shop == "佳佳"
|
||||
assert order.cookie == ""
|
||||
assert order.gift_name == ""
|
||||
assert order.home_images == []
|
||||
assert order.ck_status == "unverified"
|
||||
assert self._row_count() == 1
|
||||
detail = self._audits(order)[-1].detail
|
||||
assert '"draft"' in detail and "true" in detail
|
||||
assert collab.summary(self.db)["by_status"]["incomplete"] == 1
|
||||
|
||||
def test_incomplete_cannot_advance_until_customer_info_complete(self):
|
||||
order = collab.create_order(
|
||||
self.db, self.user, order_no="DRAFT-2", shop="佳佳", draft=True
|
||||
)
|
||||
|
||||
with pytest.raises(collab.CollabError) as excinfo:
|
||||
collab.set_status(self.db, self.user, order, collab.STATUS_PENDING)
|
||||
|
||||
assert excinfo.value.code == "incomplete_precondition"
|
||||
assert "外部 CK" in excinfo.value.detail
|
||||
assert "礼包名" in excinfo.value.detail
|
||||
assert "主页截图" in excinfo.value.detail
|
||||
assert order.status == collab.STATUS_INCOMPLETE
|
||||
|
||||
def test_incomplete_advances_after_info_complete(self):
|
||||
order = collab.create_order(
|
||||
self.db,
|
||||
self.user,
|
||||
order_no="DRAFT-3",
|
||||
shop="佳佳",
|
||||
gift_name="不朽伊人大礼包",
|
||||
home_images=[self.HOME_IMAGE],
|
||||
draft=True,
|
||||
)
|
||||
collab.set_ck(self.db, self.user, order, fake_ck("1199647239697"))
|
||||
|
||||
collab.set_status(self.db, self.user, order, collab.STATUS_PENDING)
|
||||
|
||||
assert order.status == collab.STATUS_PENDING
|
||||
assert order.void_reason == ""
|
||||
|
||||
|
||||
class TestCollabKeywordSearch(TestCollabBase):
|
||||
"""列表搜索:一个输入框打穿订单号 / 店铺 / 绑定账号·角色 / 平台区服 / 虎牙号 / 礼包 / 备注。"""
|
||||
|
||||
Reference in New Issue
Block a user