Ejemplo n.º 1
0
class FlatRateShippingTestCase(TestCase):
    """Tests for ``shop.shipping.backends.flat_rate.FlatRateShipping``."""
    def setUp(self):
        self.backend = FlatRateShipping(shop=ShippingAPI())
        self.user = User.objects.create(username="******",
                                        email="*****@*****.**")
        self.request = Mock()
        setattr(self.request, 'user', self.user)

    def test_must_be_logged_in_if_setting_is_true(self):
        with SettingsOverride(SHOP_FORCE_LOGIN=True):
            resp = self.client.get(reverse('flat'))
            self.assertEqual(resp.status_code, 302)
            self.assertTrue('accounts/login/' in resp._headers['location'][1])
            resp = self.client.get(reverse('flat_process'))
            self.assertEqual(resp.status_code, 302)
            self.assertTrue('accounts/login/' in resp._headers['location'][1])

    def test_order_required_before_shipping_processed(self):
        """ See issue #84 """
        # Session only (no order)
        response = self.client.get(reverse('flat_process'))
        self.assertEqual(response.status_code, 302)

        # User logged in (no order)
        view = self.backend.view_process_order(self.request)
        self.assertEqual(view.get('location', None), '/')

        # User logged in with order
        order = Order()
        setattr(order, 'user', self.user)
        order.save()
        view = self.backend.view_process_order(self.request)
        self.assertEqual(view.get('location', None),
                         reverse('checkout_confirm'))
Ejemplo n.º 2
0
class FlatRateShippingTestCase(TestCase):
    """Tests for ``shop.shipping.backends.flat_rate.FlatRateShipping``."""
    def setUp(self):
        self.backend = FlatRateShipping(shop=ShippingAPI())
        self.user = User.objects.create(username="******", email="*****@*****.**")
        self.request = Mock()
        setattr(self.request, 'user', self.user)

    def test_must_be_logged_in_if_setting_is_true(self):
        with SettingsOverride(SHOP_FORCE_LOGIN=True):
            resp = self.client.get(reverse('flat'))
            self.assertEqual(resp.status_code, 302)
            self.assertTrue('accounts/login/' in resp._headers['location'][1])
            resp = self.client.get(reverse('flat_process'))
            self.assertEqual(resp.status_code, 302)
            self.assertTrue('accounts/login/' in resp._headers['location'][1])

    def test_order_required_before_shipping_processed(self):
        """ See issue #84 """
        # Session only (no order)
        response = self.client.get(reverse('flat_process'))
        self.assertEqual(response.status_code, 302)

        # User logged in (no order)
        view = self.backend.view_process_order(self.request)
        self.assertEqual(view.get('location', None), '/')

        # User logged in with order
        order = Order()
        setattr(order, 'user', self.user)
        order.save()
        view = self.backend.view_process_order(self.request)
        self.assertEqual(view.get('location', None), reverse('checkout_confirm'))
Ejemplo n.º 3
0
 def setUp(self):
     self.backend = FlatRateShipping(shop=ShippingAPI())
     self.user = User.objects.create(username="******",
                                     email="*****@*****.**")
     self.request = Mock()
     setattr(self.request, 'user', self.user)
Ejemplo n.º 4
0
 def setUp(self):
     self.backend = FlatRateShipping(shop=ShippingAPI())
     self.user = User.objects.create(username="******", email="*****@*****.**")
     self.request = Mock()
     setattr(self.request, 'user', self.user)