|
@@ -12,8 +12,8 @@ from app.services.payment_chase import (
|
|
|
|
|
|
|
|
|
|
|
|
|
class TestChase(unittest.TestCase):
|
|
class TestChase(unittest.TestCase):
|
|
|
- def test_chase_paid_includes_dfj_jfqrz_yjf(self):
|
|
|
|
|
- """与缴费信息期次一致:已缴 = dfj + jfqrz + yjf"""
|
|
|
|
|
|
|
+ def test_chase_paid_only_counts_yjf(self):
|
|
|
|
|
+ """已缴 = 仅 yjf;欠缴 = 应缴 − 已缴"""
|
|
|
paid, arrears = chase_period_money(
|
|
paid, arrears = chase_period_money(
|
|
|
due_amount=Decimal("1000"),
|
|
due_amount=Decimal("1000"),
|
|
|
transfers=[
|
|
transfers=[
|
|
@@ -34,10 +34,10 @@ class TestChase(unittest.TestCase):
|
|
|
},
|
|
},
|
|
|
],
|
|
],
|
|
|
)
|
|
)
|
|
|
- self.assertEqual(paid, Decimal("600"))
|
|
|
|
|
- self.assertEqual(arrears, Decimal("400"))
|
|
|
|
|
|
|
+ self.assertEqual(paid, Decimal("100"))
|
|
|
|
|
+ self.assertEqual(arrears, Decimal("900"))
|
|
|
|
|
|
|
|
- def test_chase_full_display_paid_not_candidate(self):
|
|
|
|
|
|
|
+ def test_chase_dfj_only_still_has_arrears(self):
|
|
|
paid, arrears = chase_period_money(
|
|
paid, arrears = chase_period_money(
|
|
|
due_amount=Decimal("500"),
|
|
due_amount=Decimal("500"),
|
|
|
transfers=[
|
|
transfers=[
|
|
@@ -48,9 +48,9 @@ class TestChase(unittest.TestCase):
|
|
|
}
|
|
}
|
|
|
],
|
|
],
|
|
|
)
|
|
)
|
|
|
- self.assertEqual(paid, Decimal("500"))
|
|
|
|
|
- self.assertEqual(arrears, Decimal("0"))
|
|
|
|
|
- self.assertFalse(
|
|
|
|
|
|
|
+ self.assertEqual(paid, Decimal("0"))
|
|
|
|
|
+ self.assertEqual(arrears, Decimal("500"))
|
|
|
|
|
+ self.assertTrue(
|
|
|
is_chase_candidate(
|
|
is_chase_candidate(
|
|
|
due_date=date(2026, 9, 1),
|
|
due_date=date(2026, 9, 1),
|
|
|
today=date(2026, 10, 9),
|
|
today=date(2026, 10, 9),
|