Changeset 6866 for main/waeup.sirp/trunk/src/waeup/sirp
- Timestamp:
- 7 Oct 2011, 07:24:45 (13 years ago)
- Location:
- main/waeup.sirp/trunk/src/waeup/sirp/payments
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
main/waeup.sirp/trunk/src/waeup/sirp/payments/payment.py
r6864 r6866 19 19 import grok 20 20 from grok import index 21 from zope.component.interfaces import IFactory 22 from zope.interface import implementedBy 21 23 from waeup.sirp.payments.interfaces import ( 22 24 IPayment, ISCPayment, IOnlinePayment) … … 57 59 58 60 OnlinePayment = attrs_to_fields(OnlinePayment) 61 62 # Online payments must be importable. So we might need a factory. 63 class OnlinePaymentFactory(grok.GlobalUtility): 64 """A factory for online payments. 65 """ 66 grok.implements(IFactory) 67 grok.name(u'waeup.OnlinePayment') 68 title = u"Create a new online payment.", 69 description = u"This factory instantiates new online payment instances." 70 71 def __call__(self, *args, **kw): 72 return OnlinePayment() 73 74 def getInterfaces(self): 75 return implementedBy(OnlinePayment) -
main/waeup.sirp/trunk/src/waeup/sirp/payments/tests.py
r6864 r6866 22 22 from waeup.sirp.payments.container import PaymentsContainer 23 23 from waeup.sirp.payments.payment import ( 24 SCPayment, OnlinePayment )24 SCPayment, OnlinePayment, OnlinePaymentFactory) 25 25 from waeup.sirp.testing import (FunctionalLayer, FunctionalTestCase) 26 26 … … 64 64 self.assertRaises( 65 65 NotImplementedError, container.clear) 66 67 class OnlinePaymentFactoryTest(FunctionalTestCase): 68 69 layer = FunctionalLayer 70 71 def setUp(self): 72 super(OnlinePaymentFactoryTest, self).setUp() 73 self.factory = OnlinePaymentFactory() 74 return 75 76 def tearDown(self): 77 super(OnlinePaymentFactoryTest, self).tearDown() 78 return 79 80 def test_factory(self): 81 obj = self.factory() 82 assert isinstance(obj, OnlinePayment) 83 84 def test_getInterfaces(self): 85 implemented_by = self.factory.getInterfaces() 86 assert implemented_by.isOrExtends(IOnlinePayment)
Note: See TracChangeset for help on using the changeset viewer.