Only allow ecommerce checkout if user is also activated

This commit is contained in:
Michael Frey
2016-02-22 07:58:11 -05:00
parent 1ba360d987
commit 90146d9ae0
6 changed files with 30 additions and 12 deletions

View File

@@ -5,6 +5,8 @@ from mock import patch
from commerce.utils import audit_log, EcommerceService
from commerce.models import CommerceConfiguration
from django.test.client import RequestFactory
from student.tests.factories import UserFactory
class AuditLogTests(TestCase):
@@ -25,6 +27,10 @@ class EcommerceServiceTests(TestCase):
SKU = 'TESTSKU'
def setUp(self):
self.request_factory = RequestFactory()
self.user = UserFactory.create()
self.request = self.request_factory.get("foo")
self.request.user = self.user
CommerceConfiguration.objects.create(
checkout_on_ecommerce_service=True,
single_course_checkout_page='/test_basket/'
@@ -33,20 +39,20 @@ class EcommerceServiceTests(TestCase):
def test_is_enabled(self):
"""Verify that is_enabled() returns True when ecomm checkout is enabled. """
is_enabled = EcommerceService().is_enabled()
is_enabled = EcommerceService().is_enabled(self.request)
self.assertTrue(is_enabled)
config = CommerceConfiguration.current()
config.checkout_on_ecommerce_service = False
config.save()
is_not_enabled = EcommerceService().is_enabled()
is_not_enabled = EcommerceService().is_enabled(self.request)
self.assertFalse(is_not_enabled)
@patch('openedx.core.djangoapps.theming.helpers.is_request_in_themed_site')
def test_is_enabled_for_microsites(self, is_microsite):
"""Verify that is_enabled() returns False if used for a microsite."""
is_microsite.return_value = True
is_not_enabled = EcommerceService().is_enabled()
is_not_enabled = EcommerceService().is_enabled(self.request)
self.assertFalse(is_not_enabled)
@override_settings(ECOMMERCE_PUBLIC_URL_ROOT='http://ecommerce_url')