From 2bbffd5eec2e42897969e504551c16d4abbf5ba9 Mon Sep 17 00:00:00 2001 From: Charlie Hornsby Date: Tue, 2 Jun 2015 21:19:13 +0300 Subject: [PATCH] Add test cases for override_config Test usage of override_config in different forms Ensure flexibility between decorator and context manager --- tests/test_test_utils.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 tests/test_test_utils.py 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)