本文整理汇总了Python中stoqlib.domain.payment.payment.Payment.get_penalty方法的典型用法代码示例。如果您正苦于以下问题:Python Payment.get_penalty方法的具体用法?Python Payment.get_penalty怎么用?Python Payment.get_penalty使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类stoqlib.domain.payment.payment.Payment
的用法示例。
在下文中一共展示了Payment.get_penalty方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_get_penalty
# 需要导入模块: from stoqlib.domain.payment.payment import Payment [as 别名]
# 或者: from stoqlib.domain.payment.payment.Payment import get_penalty [as 别名]
def test_get_penalty(self):
method = PaymentMethod.get_by_name(self.store, u"check")
payment = Payment(
value=currency(100),
branch=self.create_branch(),
due_date=localnow(),
method=method,
group=None,
till=None,
category=None,
payment_type=Payment.TYPE_OUT,
store=self.store,
)
for day, expected_value in [(0, 0), (-1, 0), (-30, 0), (30, 0)]:
payment.due_date = self._get_relative_day(day)
self.assertEqual(payment.get_penalty(), currency(expected_value))
method.penalty = Decimal(20)
for day, expected_value in [(0, 0), (-1, 20), (-30, 20), (30, 0)]:
payment.due_date = self._get_relative_day(day)
self.assertEqual(payment.get_penalty(), currency(expected_value))
due_date = self._get_relative_day(-15)
paid_date = self._get_relative_day(-5)
payment.due_date = payment.open_date = due_date
self.assertEqual(payment.get_penalty(paid_date.date()), currency(20))
self.assertEqual(payment.get_penalty(due_date.date()), currency(0))
for day in (18, -18):
paid_date = self._get_relative_day(day)
self.assertRaises(ValueError, payment.get_penalty, paid_date.date())