| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- from decimal import Decimal as D
- import datetime
-
- from django.test import TestCase
-
- from oscar.apps.payment.models import Bankcard
- from oscar.test import factories
-
-
- class TestAPaymentSource(TestCase):
-
- def setUp(self):
- order = factories.create_order()
- self.source = factories.SourceFactory(order=order)
-
- def test_allocation_doesnt_error(self):
- self.source.allocate(D('100.00'))
-
- def test_debit_doesnt_error(self):
- self.source.allocate(D('100.00'))
- self.source.debit(D('80.00'))
-
- def test_full_debit_doesnt_error(self):
- self.source.allocate(D('100.00'))
- self.source.debit()
- self.assertEqual(D('0.00'), self.source.balance)
-
- def test_refund_doesnt_error(self):
- self.source.allocate(D('100.00'))
- self.source.debit(D('80.00'))
- self.source.refund(D('50.00'))
-
-
- class TestBankcard(TestCase):
-
- def test_cardtype_persists_after_save(self):
- user = factories.UserFactory()
- end = datetime.date(day=1, month=1, year=2010)
- bankcard = Bankcard(
- user=user, number="5500000000000004", expiry_date=end)
- self.assertEqual('Mastercard', bankcard.card_type)
-
- bankcard.save()
- self.assertEqual('Mastercard', bankcard.card_type)
-
- reloaded_bankcard = Bankcard.objects.get(id=bankcard.id)
- self.assertEqual('Mastercard', reloaded_bankcard.card_type)
|