def test_08_get_backends_from_non_class(self): MODIFIERS = ['shop.tests.shipping.IdontExistEither'] with SettingsOverride(SHOP_SHIPPING_BACKENDS=MODIFIERS): raised = False try: backends_pool.get_shipping_backends_list() except ImproperlyConfigured: raised = True self.assertEqual(raised, True)
def test_06_get_backends_from_non_path(self): MODIFIERS = ['blob'] with SettingsOverride(SHOP_SHIPPING_BACKENDS=MODIFIERS): raised = False try: backends_pool.get_shipping_backends_list() except ImproperlyConfigured: raised = True self.assertEqual(raised, True)
def test_09_get_backends_cache_works(self): self.create_fixtures() MODIFIERS = ['shop.tests.shipping.MockShippingBackend'] backends_pool.USE_CACHE = True with SettingsOverride(SHOP_SHIPPING_BACKENDS=MODIFIERS): list = backends_pool.get_shipping_backends_list() self.assertEqual(len(list), 1) list2 = backends_pool.get_shipping_backends_list() self.assertEqual(len(list2), 1) self.assertEqual(list, list2)
def test_08_get_backends_from_non_class(self): self.create_fixtures() MODIFIERS = ['shop.tests.shipping.IdontExistEither'] with SettingsOverride(SHOP_SHIPPING_BACKENDS=MODIFIERS): raised = False try: backends_pool.get_shipping_backends_list() except ImproperlyConfigured: raised = True self.assertEqual(raised, True)
def test_06_get_backends_from_non_path(self): self.create_fixtures() MODIFIERS = ['blob'] with SettingsOverride(SHOP_SHIPPING_BACKENDS=MODIFIERS): raised = False try: backends_pool.get_shipping_backends_list() except ImproperlyConfigured: raised = True self.assertEqual(raised, True)
def test_09_get_backends_cache_works(self): MODIFIERS = ['shop.tests.shipping.MockShippingBackend'] backends_pool.USE_CACHE = True with SettingsOverride(SHOP_SHIPPING_BACKENDS=MODIFIERS): list = backends_pool.get_shipping_backends_list() self.assertEqual(len(list), 1) list2 = backends_pool.get_shipping_backends_list() self.assertEqual(len(list2), 1) self.assertEqual(list,list2)
def get_context_data(self, **kwargs): ''' This overrides the context from the normal template view, and triggers the transformation of a Cart into an Order. ''' ctx = super(SelectShippingView, self).get_context_data(**kwargs) shipping_modules_list = backends_pool.get_shipping_backends_list() self.create_order_object_from_cart() select = {} for backend in shipping_modules_list: url = reverse(backend.url_namespace) select.update({backend.backend_name: url}) ctx.update({'shipping_options': select}) return ctx
#-*- coding: utf-8 -*- ''' Loop over shipping backends defined in settings.SHOP_SHIPPING_BACKENDS and add their URLs to the shipping namespace. eg: http://www.example.com/shop/ship/dhl http://www.example.com/shop/ship/fedex ... ''' from django.conf.urls.defaults import patterns, include from shop.backend_base import backends_pool urlpatterns = patterns('') for backend in backends_pool.get_shipping_backends_list(): regexp = "^%s/" % backend.url_namespace urls = backend.get_urls() patterns = patterns('', (regexp, include(backend.get_urls()))) urlpatterns = patterns + urlpatterns
def test_05_get_backends_from_empty_pool(self): self.create_fixtures() MODIFIERS = [] with SettingsOverride(SHOP_SHIPPING_BACKENDS=MODIFIERS): list = backends_pool.get_shipping_backends_list() self.assertEqual(len(list), 0)
def test_04_get_backends_from_pool(self): self.create_fixtures() MODIFIERS = ['shop.tests.shipping.MockShippingBackend'] with SettingsOverride(SHOP_SHIPPING_BACKENDS=MODIFIERS): list = backends_pool.get_shipping_backends_list() self.assertEqual(len(list), 1)
def test_05_get_backends_from_empty_pool(self): MODIFIERS = [] with SettingsOverride(SHOP_SHIPPING_BACKENDS=MODIFIERS): list = backends_pool.get_shipping_backends_list() self.assertEqual(len(list), 0)
def test_04_get_backends_from_pool(self): MODIFIERS = ['shop.tests.shipping.MockShippingBackend'] with SettingsOverride(SHOP_SHIPPING_BACKENDS=MODIFIERS): list = backends_pool.get_shipping_backends_list() self.assertEqual(len(list), 1)
# -*- coding: utf-8 -*- """ Loop over shipping backends defined in settings.SHOP_SHIPPING_BACKENDS and add their URLs to the shipping namespace. eg: http://www.example.com/shop/ship/dhl http://www.example.com/shop/ship/fedex ... """ from django.conf.urls.defaults import patterns, include from shop.backend_base import backends_pool urlpatterns = patterns("") for backend in backends_pool.get_shipping_backends_list(): regexp = "^%s/" % backend.url_namespace urls = backend.get_urls() patterns = patterns("", (regexp, include(backend.get_urls()))) urlpatterns = patterns + urlpatterns