Skip to content
This repository has been archived by the owner on Jan 25, 2018. It is now read-only.

Commit

Permalink
Merge pull request #508 from muffinresearch/point-to-spartacus-for-wait
Browse files Browse the repository at this point in the history
Use SPA wait-to-finish if SPA_ENABLED is True (WiP)
  • Loading branch information
muffinresearch committed Jul 3, 2014
2 parents 203cfa5 + c0e8866 commit 088ea4f
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 4 deletions.
8 changes: 7 additions & 1 deletion lib/solitude/api.py
Expand Up @@ -644,6 +644,12 @@ def get_product(self, generic_seller, generic_product):
# Boku does not have a products API the way Bango does.
return None

def get_finish_url_name(self):
if settings.SPA_ENABLE and settings.SPA_ENABLE_URLS:
return 'spa.wait_to_finish'
else:
return 'provider.wait_to_finish'

def create_product(self, generic_product, provider_seller, external_id,
product_name):
# Boku does not have a products API the way Bango does.
Expand Down Expand Up @@ -680,7 +686,7 @@ def create_transaction(self, generic_seller, generic_product,
.format(mcc=mcc, mnc=mnc, r=mcc_region))

provider_trans = self.api.transactions.post({
'forward_url': absolutify(reverse('provider.wait_to_finish',
'forward_url': absolutify(reverse(self.get_finish_url_name(),
args=[self.name])),
'callback_url': absolutify(reverse('provider.notification',
args=[self.name])),
Expand Down
11 changes: 11 additions & 0 deletions lib/solitude/tests.py
Expand Up @@ -3,6 +3,7 @@
from django.conf import settings
from django.core.urlresolvers import reverse
from django.core.exceptions import ObjectDoesNotExist
from django import test
from django.test import TestCase

import mobile_codes
Expand Down Expand Up @@ -614,6 +615,16 @@ def configure(self, **kw):
kw.setdefault('mnc', '020') # AMX
return super(TestBoku, self).configure(**kw)

@test.utils.override_settings(SPA_ENABLE=False)
def test_get_finish_url_name(self):
eq_(self.provider.provider.get_finish_url_name(),
'provider.wait_to_finish')

@test.utils.override_settings(SPA_ENABLE=True)
def test_get_finish_url_spa(self):
eq_(self.provider.provider.get_finish_url_name(),
'spa.wait_to_finish')

def test_start_transaction(self):
boku_pay_url = 'https://site/buy'
boku_transaction_id = 'boku-trans-id'
Expand Down
2 changes: 1 addition & 1 deletion webpay/spa/tests/test_views.py
Expand Up @@ -56,7 +56,7 @@ class TestWaitToFinish(ProviderTestCase):

def setUp(self):
super(TestWaitToFinish, self).setUp()
self.wait_url = reverse('spa_wait_to_finish', args=['boku'])
self.wait_url = reverse('spa.wait_to_finish', args=['boku'])

def wait(self, trans_uuid=None):
if not trans_uuid:
Expand Down
6 changes: 4 additions & 2 deletions webpay/urls.py
Expand Up @@ -23,8 +23,10 @@

if settings.SPA_ENABLE_URLS:
urlpatterns += patterns('',
url(r'^mozpay/spa/(?P<provider_name>[^/]+)/wait-to-finish', spa_wait_to_finish, name='spa_wait_to_finish'),
url(r'^mozpay/spa/(?:' + '|'.join(settings.SPA_URLS) + ')$', spa_index),
url(r'^mozpay/spa/(?P<provider_name>[^/]+)/wait-to-finish',
spa_wait_to_finish, name='spa.wait_to_finish'),
url(r'^mozpay/spa/(?:' + '|'.join(settings.SPA_URLS) + ')$',
spa_index, name='spa.index'),
url(r'^mozpay/v1/api/', include('webpay.api.urls', namespace='api'))
)

Expand Down

0 comments on commit 088ea4f

Please sign in to comment.