- Timestamp:
- 12 Mar 2015, 05:23:47 (10 years ago)
- Location:
- main/waeup.ikoba/branches/uli-payments/src/waeup/ikoba/payments/tests
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
main/waeup.ikoba/branches/uli-payments/src/waeup/ikoba/payments/tests/test_demo_provider.py
r12734 r12740 1 import unittest 1 2 from zope.component import queryUtility 2 3 from zope.component.hooks import setSite … … 11 12 from waeup.ikoba.payments.payment import Payer, Payee, Payment 12 13 from waeup.ikoba.payments.demo_provider import ( 13 DemoCreditcardPaymentService, 14 DemoCreditcardPaymentService, RE_CC_NUMBER, RE_CSC, 14 15 ) 15 16 from waeup.ikoba.payments.tests.test_payment import FakePayer, FakePayable 16 17 17 18 18 class DemoCreditcarPaymentServiceTests(FunctionalTestCase): 19 class TestDemoProviderHelpers(unittest.TestCase): 20 21 def test_re_cc_number(self): 22 # we recognize valid numbers 23 assert RE_CC_NUMBER.match('a') is None 24 assert RE_CC_NUMBER.match('12345678') is None 25 assert RE_CC_NUMBER.match('1234a5678') is None 26 assert RE_CC_NUMBER.match('132456789') is not None 27 assert RE_CC_NUMBER.match('123456789012345') is not None 28 29 def test_re_csc(self): 30 # we recognize security numbers 31 assert RE_CSC.match('12') is None 32 assert RE_CSC.match('123') is not None 33 assert RE_CSC.match('1234') is not None 34 assert RE_CSC.match('12345') is None 35 assert RE_CSC.match('12A2') is None 36 37 38 class DemoCreditcardPaymentServiceTests(FunctionalTestCase): 19 39 20 40 layer = FunctionalLayer 21 41 22 42 def setUp(self): 23 super(DemoCreditcar PaymentServiceTests, self).setUp()43 super(DemoCreditcardPaymentServiceTests, self).setUp() 24 44 self.app = Company() 25 45 self.getRootFolder()['app'] = self.app -
main/waeup.ikoba/branches/uli-payments/src/waeup/ikoba/payments/tests/test_payment.py
r12734 r12740 1 # -*- coding: utf-8 -*- 1 2 ## $Id$ 2 3 ## … … 29 30 IPayment, STATE_UNPAID, STATE_PAID, STATE_FAILED, 30 31 IPaymentGatewayService, IPaymentItem, IPaymentGatewayServicesLister, 31 IPayableFinder, IPay able, IPayer,32 IPayableFinder, IPayerFinder, IPayable, IPayer, 32 33 ) 33 34 from waeup.ikoba.app import Company 34 35 from waeup.ikoba.payments.payment import ( 35 36 Payment, get_payment_providers, PaymentItem, format_payment_item_values, 36 get_payment, find_payable_from_payable_id, 37 get_payment, find_payable_from_payable_id, find_payer_from_payer_id, 38 format_amount, 37 39 ) 38 40 from waeup.ikoba.testing import (FunctionalLayer, FunctionalTestCase) … … 120 122 ], 121 123 'USD') 124 125 def test_format_amount(self): 126 # we can make amounts readable 127 D = decimal.Decimal 128 self.assertEqual(format_amount(D("0"), 'USD'), u"US$ 0.00") 129 self.assertEqual(format_amount(D("0.1"), 'EUR'), u"€ 0.10") 130 self.assertEqual(format_amount(D("-1.2"), 'NGN'), u"₦ -1.20") 131 self.assertEqual(format_amount(D("1234.5"), 'YEN'), u"YEN 1,234.50") 122 132 123 133 … … 177 187 self.assertTrue(result3 is None) 178 188 189 def test_find_payer_from_payer_id(self): 190 # we can find payables. 191 obj1 = object() 192 obj2 = object() 193 194 class FakeFinder(object): 195 valid = {'id1': obj1, 'id3': obj2} 196 197 def get_payer_by_id(self, the_id): 198 return self.valid.get(the_id) 199 200 finder1 = FakeFinder() 201 finder1.valid = {'id1': obj1} 202 finder2 = FakeFinder() 203 finder2.valid = {'id2': obj2} 204 gsm = getGlobalSiteManager() 205 try: 206 gsm.registerUtility(finder1, provided=IPayerFinder, name='f1') 207 gsm.registerUtility(finder2, provided=IPayerFinder, name='f2') 208 result1 = find_payer_from_payer_id('id1') 209 result2 = find_payer_from_payer_id('id2') 210 result3 = find_payer_from_payer_id('id3') 211 finally: 212 gsm.unregisterUtility(finder1, IPayerFinder) 213 gsm.unregisterUtility(finder2, IPayerFinder) 214 self.assertTrue(result1 is obj1) 215 self.assertTrue(result2 is obj2) 216 self.assertTrue(result3 is None) 217 179 218 180 219 class PaymentTests(FunctionalTestCase):
Note: See TracChangeset for help on using the changeset viewer.