django-constance/tests/test_test_utils.py
Charlie Hornsby 2bbffd5eec Add test cases for override_config
Test usage of override_config in different forms
Ensure flexibility between decorator and context manager
2015-06-02 21:19:13 +03:00

34 lines
1.3 KiB
Python

from django.test import TestCase
from constance import config
from constance.test import override_config
class OverrideConfigFunctionDecoratorTestCase(TestCase):
"""Test that the override_config decorator works correctly.
Test usage of override_config on test method and as context manager.
"""
def test_default_value_is_true(self):
"""Assert that the default value of config.BOOL_VALUE is True."""
self.assertTrue(config.BOOL_VALUE)
@override_config(BOOL_VALUE=False)
def test_override_config_on_method_changes_config_value(self):
"""Assert that the method decorator changes config.BOOL_VALUE."""
self.assertFalse(config.BOOL_VALUE)
def test_override_config_as_context_manager_changes_config_value(self):
"""Assert that the context manager changes config.BOOL_VALUE."""
with override_config(BOOL_VALUE=False):
self.assertFalse(config.BOOL_VALUE)
self.assertTrue(config.BOOL_VALUE)
@override_config(BOOL_VALUE=False)
class OverrideConfigClassDecoratorTestCase(TestCase):
"""Test that the override_config decorator works on classes."""
def test_override_config_on_class_changes_config_value(self):
"""Asser that the class decorator changes config.BOOL_VALUE."""
self.assertFalse(config.BOOL_VALUE)