| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- """按样本缴费:转账状态机与批次已缴/欠缴计算"""
- from decimal import Decimal
- import unittest
- from app.services.protocol_transfer_status import (
- can_confirm_receipt,
- can_submit_receipt,
- schedule_paid_and_arrears,
- )
- class TestTransferStatusRules(unittest.TestCase):
- def test_submit_only_dfj(self):
- self.assertTrue(can_submit_receipt("dfj"))
- self.assertFalse(can_submit_receipt("jfqrz"))
- self.assertFalse(can_submit_receipt("yjf"))
- self.assertFalse(can_submit_receipt(""))
- self.assertFalse(can_submit_receipt(None))
- def test_confirm_only_jfqrz(self):
- self.assertTrue(can_confirm_receipt("jfqrz"))
- self.assertFalse(can_confirm_receipt("dfj"))
- self.assertFalse(can_confirm_receipt("yjf"))
- def test_schedule_arrears(self):
- paid, arrears = schedule_paid_and_arrears(
- due=Decimal("1000"),
- confirmed_transfers=[Decimal("300"), Decimal("200")],
- )
- self.assertEqual(paid, Decimal("500"))
- self.assertEqual(arrears, Decimal("500"))
- def test_schedule_arrears_overpay(self):
- paid, arrears = schedule_paid_and_arrears(
- due=Decimal("100"),
- confirmed_transfers=[Decimal("60"), Decimal("50")],
- )
- self.assertEqual(paid, Decimal("110"))
- self.assertEqual(arrears, Decimal("-10"))
- if __name__ == "__main__":
- unittest.main()
|