diff --git a/tests/test_test_utils.py b/tests/test_test_utils.py new file mode 100644 index 0000000..313246d --- /dev/null +++ b/tests/test_test_utils.py @@ -0,0 +1,34 @@ +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)