Ignore:
Timestamp:
16 Mar 2015, 12:27:21 (10 years ago)
Author:
uli
Message:

Store payment items in payments.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.ikoba/trunk/src/waeup/ikoba/payments/tests/test_payment.py

    r12772 r12774  
    6161
    6262    payable_id = u'id1'
    63     items = (
    64         (u'item 1', decimal.Decimal("1.00")),
    65         (u'item 2', decimal.Decimal("2.12")),
    66         )
    6763
    6864    def __init__(self, payable_id=u'PAYABLE_01', title=u'title',
     
    340336        self.assertEqual(p1.amount, decimal.Decimal("0.00"))
    341337
     338    def test_amount_changed_after_init(self):
     339        # amount is dynamic: changes to payment items are reflected
     340        payable = FakePayable(payment_items=())
     341        p1 = Payment(self.payer, payable)
     342        assert p1.amount == decimal.Decimal("0.00")
     343        p1.payment_items = (PaymentItem(amount=decimal.Decimal("5.55")), )
     344        assert p1.amount == decimal.Decimal("5.55")
     345        p1.payment_items = (
     346            PaymentItem(amount=decimal.Decimal("5.55")),
     347            PaymentItem(amount=decimal.Decimal("1.11")),
     348            )
     349        assert p1.amount == decimal.Decimal("6.66")
     350
     351    def test_payment_items(self):
     352        # we can get payment items from a payment
     353        payable = FakePayable(payment_items=FAKE_PAYMENT_ITEMS)
     354        p1 = Payment(self.payer, payable)
     355        assert isinstance(p1.payment_items, tuple)
     356
     357    def test_payment_items_number(self):
     358        # payment item values are respected
     359        payable = FakePayable()
     360        item = PaymentItem(amount=decimal.Decimal("9.99"))
     361        payable.payment_items = [item, ]
     362        payment = Payment(self.payer, payable)
     363        assert len(payment.payment_items) == 1
     364        assert payment.payment_items[0] is item
     365
    342366
    343367class PaymentItemTests(unittest.TestCase):
Note: See TracChangeset for help on using the changeset viewer.