diff options
author | Patryk Zawadzki <patrys@room-303.com> | 2013-04-26 16:40:32 +0200 |
---|---|---|
committer | Patryk Zawadzki <patrys@room-303.com> | 2013-04-26 16:40:32 +0200 |
commit | 579d2ac458541137dcaddfd41981b690dfa73053 (patch) | |
tree | a67d4b44ae65f675648be2b6aa7650d72cf97d68 /payments/dotpay | |
parent | 7885bb83f6ac944a07c734a90a92c8e282028ec7 (diff) | |
download | django-payments-taler-579d2ac458541137dcaddfd41981b690dfa73053.tar.gz django-payments-taler-579d2ac458541137dcaddfd41981b690dfa73053.tar.bz2 django-payments-taler-579d2ac458541137dcaddfd41981b690dfa73053.zip |
Simplify the API
Diffstat (limited to 'payments/dotpay')
-rw-r--r-- | payments/dotpay/__init__.py | 8 | ||||
-rw-r--r-- | payments/dotpay/tests.py | 38 |
2 files changed, 16 insertions, 30 deletions
diff --git a/payments/dotpay/__init__.py b/payments/dotpay/__init__.py index b03287a..0b12586 100644 --- a/payments/dotpay/__init__.py +++ b/payments/dotpay/__init__.py @@ -23,8 +23,6 @@ class DotpayProvider(BasicProvider): lock: whether to disable channels other than the default selected above ''' - LINE_TEMPLATE = '%(quantity)dx %(name)s (%(sku)s), %(price)f %(currency)s' - _method = 'post' _action = 'https://ssl.dotpay.pl/' @@ -36,16 +34,14 @@ class DotpayProvider(BasicProvider): self._lock = kwargs.pop('lock', False) super(DotpayProvider, self).__init__(*args, **kwargs) - def get_hidden_fields(self,): + def get_hidden_fields(self, ordered_items=None): self.payment.save() - description = '; '.join([self.LINE_TEMPLATE % order_line._asdict() - for order_line in self.order_items]) data = { 'id': self._seller_id, 'amount': str(self.payment.total), 'control': str(self.payment.id), 'currency': self.payment.currency, - 'description': description, + 'description': self.payment.description, 'lang': self._lang, 'channel': str(self._channel), 'ch_lock': '1' if self._lock else '0', diff --git a/payments/dotpay/tests.py b/payments/dotpay/tests.py index 319a5db..c55e4d6 100644 --- a/payments/dotpay/tests.py +++ b/payments/dotpay/tests.py @@ -60,39 +60,29 @@ class TestDotpayProvider(TestCase): def setUp(self): self.payment = Payment() - self.order_items = MagicMock() - self.order_items.__iter__.return_value = [PaymentItem('foo', 10, 100, - 'USD', 'd431')] + self.ordered_items = MagicMock() + self.ordered_items.__iter__.return_value = [PaymentItem('foo', 10, 100, + 'USD', 'd431')] def test_get_hidden_fields(self): - ''' - Tests if the get_hidden_fields returns a dictionary. - ''' - provider = DotpayProvider(self.payment, VARIANT, self.order_items, - seller_id='123', pin=PIN) - self.assertEqual(type(provider.get_hidden_fields()), dict, - 'Should return a dictionary.') + """DotpayProvider.get_hidden_fields() returns a dictionary""" + provider = DotpayProvider(self.payment, seller_id='123', pin=PIN) + self.assertEqual( + type(provider.get_hidden_fields(ordered_items=self.ordered_items)), + dict) def test_process_data(self): - ''' - Tests if the process_dat returns a correct http response. - ''' + """DotpayProvider.process_data() returns a correct HTTP response""" request = MagicMock() request.POST = get_post_with_md5(PROCESS_POST) - provider = DotpayProvider(self.payment, VARIANT, self.order_items, - seller_id='123', pin=PIN) + provider = DotpayProvider(self.payment, seller_id='123', pin=PIN) response = provider.process_data(request) - self.assertEqual(type(response), HttpResponse, - 'Should return a HttpResponse object.') + self.assertEqual(type(response), HttpResponse) def test_uncorrect_process_data(self): - ''' - Tests if the process_dat returns a correct http response. - ''' + """DotpayProvider.process_data() checks POST signature""" request = MagicMock() request.POST = PROCESS_POST - provider = DotpayProvider(self.payment, VARIANT, self.order_items, - seller_id='123', pin=PIN) + provider = DotpayProvider(self.payment, seller_id='123', pin=PIN) response = provider.process_data(request) - self.assertEqual(type(response), HttpResponseForbidden, - 'Should return a HttpResponseForbidden object.') + self.assertEqual(type(response), HttpResponseForbidden) |