feat: add presign transfer withdraw API for jfqrz.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
1 parent
d4477f357d
commit
eb8a76d8d2
3 files changed
+211
-6
No files matched your search
@@ -96,5 +96,52 @@ class TestProtocolDepositAssociation(unittest.TestCase):
|
||||
)
|
||||
|
||||
|
||||
class TestPresignWithdrawReceipt(unittest.TestCase):
|
||||
def test_withdraw_sets_dfj_keeps_finance_remark(self):
|
||||
from types import SimpleNamespace
|
||||
from unittest.mock import MagicMock
|
||||
from app.crud import presign_order as po
|
||||
|
||||
t = SimpleNamespace(
|
||||
id="t1",
|
||||
pay_status="jfqrz",
|
||||
finance_remark="keep-me",
|
||||
finance_confirm_attachments="http://x",
|
||||
update_by=None,
|
||||
update_time=None,
|
||||
)
|
||||
db = MagicMock()
|
||||
orig = po._get_transfer_or_raise
|
||||
po._get_transfer_or_raise = lambda *a, **k: t
|
||||
try:
|
||||
out = po.withdraw_receipt(
|
||||
db, transfer_id="t1", tenant_no="zkxw", user_id="u1"
|
||||
)
|
||||
self.assertEqual(out.pay_status, "dfj")
|
||||
self.assertEqual(out.finance_remark, "keep-me")
|
||||
self.assertEqual(out.finance_confirm_attachments, "http://x")
|
||||
db.commit.assert_called()
|
||||
finally:
|
||||
po._get_transfer_or_raise = orig
|
||||
|
||||
def test_withdraw_rejects_non_jfqrz(self):
|
||||
from types import SimpleNamespace
|
||||
from unittest.mock import MagicMock
|
||||
from app.crud import presign_order as po
|
||||
|
||||
t = SimpleNamespace(id="t1", pay_status="yjf", finance_remark="x")
|
||||
db = MagicMock()
|
||||
orig = po._get_transfer_or_raise
|
||||
po._get_transfer_or_raise = lambda *a, **k: t
|
||||
try:
|
||||
with self.assertRaises(ValueError) as ctx:
|
||||
po.withdraw_receipt(
|
||||
db, transfer_id="t1", tenant_no="zkxw", user_id="u1"
|
||||
)
|
||||
self.assertIn("撤回", str(ctx.exception))
|
||||
finally:
|
||||
po._get_transfer_or_raise = orig
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in new issue
Block a user