Add namespaced_name to WaffleSwitch
This commit is contained in:
committed by
christopher lee
parent
da4952eacb
commit
52d2b2de74
@@ -1542,10 +1542,7 @@ class TestProgramMarketingDataExtender(ModuleStoreTestCase):
|
||||
self.assertEqual(data['discount_data'], mock_discount_data)
|
||||
|
||||
@httpretty.activate
|
||||
@override_switch("{}.{}".format(
|
||||
PROGRAMS_WAFFLE_SWITCH_NAMESPACE.name,
|
||||
ALWAYS_CALCULATE_PROGRAM_PRICE_AS_ANONYMOUS_USER.switch_name
|
||||
), active=True)
|
||||
@override_switch(ALWAYS_CALCULATE_PROGRAM_PRICE_AS_ANONYMOUS_USER.namespaced_switch_name, active=True)
|
||||
def test_fetching_program_price_when_forced_as_anonymous_user(self):
|
||||
"""
|
||||
When all users are forced as anonymous, all requests to calculate the program
|
||||
|
||||
@@ -200,6 +200,13 @@ class WaffleSwitch(object):
|
||||
self.waffle_namespace = waffle_namespace
|
||||
self.switch_name = switch_name
|
||||
|
||||
@property
|
||||
def namespaced_switch_name(self):
|
||||
"""
|
||||
Returns the fully namespaced switch name.
|
||||
"""
|
||||
return self.waffle_namespace._namespaced_name(self.switch_name) # pylint: disable=protected-access
|
||||
|
||||
def is_enabled(self):
|
||||
return self.waffle_namespace.is_enabled(self.switch_name)
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ from opaque_keys.edx.keys import CourseKey
|
||||
from openedx.core.djangoapps.request_cache.middleware import RequestCache
|
||||
from waffle.testutils import override_flag
|
||||
|
||||
from .. import CourseWaffleFlag, WaffleFlagNamespace
|
||||
from .. import CourseWaffleFlag, WaffleFlagNamespace, WaffleSwitchNamespace, WaffleSwitch
|
||||
from ..models import WaffleFlagCourseOverrideModel
|
||||
|
||||
|
||||
@@ -112,3 +112,22 @@ class TestCourseWaffleFlag(TestCase):
|
||||
flag_undefined_default=data['flag_undefined_default']
|
||||
)
|
||||
self.assertEqual(test_course_flag.is_enabled(self.TEST_COURSE_KEY), data['result'])
|
||||
|
||||
|
||||
class TestWaffleSwitch(TestCase):
|
||||
"""
|
||||
Tests the WaffleSwitch.
|
||||
"""
|
||||
|
||||
NAMESPACE_NAME = "test_namespace"
|
||||
WAFFLE_SWITCH_NAME = "test_switch_name"
|
||||
TEST_NAMESPACE = WaffleSwitchNamespace(NAMESPACE_NAME)
|
||||
WAFFLE_SWITCH = WaffleSwitch(TEST_NAMESPACE, WAFFLE_SWITCH_NAME)
|
||||
|
||||
def test_namespaced_switch_name(self):
|
||||
"""
|
||||
Verify namespaced_switch_name returns the correct namespace switch name
|
||||
"""
|
||||
expected = self.NAMESPACE_NAME + "." + self.WAFFLE_SWITCH_NAME
|
||||
actual = self.WAFFLE_SWITCH.namespaced_switch_name
|
||||
self.assertEqual(actual, expected)
|
||||
|
||||
Reference in New Issue
Block a user