Make Theme.get_active_theme class method a manager method. (#230)

- Make `get_active_theme` a manager method instead of class method
- Replace `get_active_theme` by `get_active`
- Refactor signals handlers
This commit is contained in:
Mounir
2022-12-15 11:32:33 +01:00
committed by GitHub
parent 186e78b846
commit b3540bc019
5 changed files with 49 additions and 48 deletions
+2 -2
View File
@@ -38,10 +38,10 @@ class AdminInterfaceFixturesTestCase(TestCase):
self.assertEqual(Theme.objects.count(), 2)
def test_import_override(self):
obj1 = Theme.get_active_theme()
obj1 = Theme.objects.get_active()
obj1.title = "Custom 1"
obj1.save()
self.__load_theme("django")
obj2 = Theme.get_active_theme()
obj2 = Theme.objects.get_active()
self.assertEqual(obj1.pk, obj2.pk)
self.assertTrue(obj1.title != obj2.title)
+12 -12
View File
@@ -17,7 +17,7 @@ class AdminInterfaceModelsTestCase(TestCase):
shutil.rmtree(settings.MEDIA_ROOT, ignore_errors=True)
def __test_active_theme(self):
theme = Theme.get_active_theme()
theme = Theme.objects.get_active()
print(theme)
self.assertTrue(theme is not None)
self.assertTrue(theme.active)
@@ -33,7 +33,7 @@ class AdminInterfaceModelsTestCase(TestCase):
def test_default_theme_activated_on_save_if_no_active_themes(self):
Theme.objects.all().delete()
theme = Theme.get_active_theme()
theme = Theme.objects.get_active()
theme.active = False
theme.save()
self.__test_active_theme()
@@ -57,7 +57,7 @@ class AdminInterfaceModelsTestCase(TestCase):
theme_1 = Theme.objects.create(name="Custom 1", active=True)
theme_2 = Theme.objects.create(name="Custom 2", active=True)
theme_3 = Theme.objects.create(name="Custom 3", active=True)
Theme.objects.filter(pk=Theme.get_active_theme().pk).delete()
Theme.objects.filter(pk=Theme.objects.get_active().pk).delete()
self.__test_active_theme()
def test_last_theme_activated_on_multiple_themes_created(self):
@@ -65,7 +65,7 @@ class AdminInterfaceModelsTestCase(TestCase):
theme_1 = Theme.objects.create(name="Custom 1", active=True)
theme_2 = Theme.objects.create(name="Custom 2", active=True)
theme_3 = Theme.objects.create(name="Custom 3", active=True)
self.assertEqual(Theme.get_active_theme().pk, theme_3.pk)
self.assertEqual(Theme.objects.get_active().pk, theme_3.pk)
self.__test_active_theme()
def test_last_theme_activated_on_multiple_themes_activated(self):
@@ -80,15 +80,15 @@ class AdminInterfaceModelsTestCase(TestCase):
random.shuffle(themes)
for theme in themes:
theme.set_active()
self.assertEqual(Theme.get_active_theme().pk, theme.pk)
self.assertEqual(Theme.objects.get_active().pk, theme.pk)
self.__test_active_theme()
def test_repr(self):
theme = Theme.get_active_theme()
theme = Theme.objects.get_active()
self.assertEqual(repr(theme), "<Theme: Django>")
def test_str(self):
theme = Theme.get_active_theme()
theme = Theme.objects.get_active()
self.assertEqual(str(theme), "Django")
@@ -100,18 +100,18 @@ class AdminInterfaceModelsTestCase(TestCase):
# Theme.objects.create(name="Change Active", active=True)
# def test_get_theme_from_default_db(self):
# de_theme = Theme.get_active_theme()
# de_theme = Theme.objects.get_active()
# assert de_theme.name == "Change Active"
# def test_get_theme_from_replica_db(self):
# replica_theme = Theme.get_active_theme(database="replica")
# replica_theme = Theme.objects.get_active(database="replica")
# assert replica_theme.name == "Django"
# def test_db_are_isolated(self):
# default_theme = Theme.get_active_theme()
# replica_theme = Theme.get_active_theme(database="replica")
# default_theme = Theme.objects.get_active()
# replica_theme = Theme.objects.get_active(database="replica")
# assert default_theme.name != replica_theme.name
# @expectedFailure
# def test_fail_for_wrong_db_defined_in_kwargs(self):
# Theme.get_active_theme(database="other")
# Theme.objects.get_active(database="other")
+2 -2
View File
@@ -25,7 +25,7 @@ class AdminInterfaceModelsWithDBRoutingTestCase(TestCase):
def test_dbrouter_errors_when_fetching_from_default(self):
with self.assertRaises(Exception):
Theme.get_active_theme()
Theme.objects.get_active()
def test_dbrouter_fetches_db(self):
DATABASE_APPS_MAPPING = {
@@ -33,4 +33,4 @@ class AdminInterfaceModelsWithDBRoutingTestCase(TestCase):
}
router = DatabaseAppsRouter(db_map=DATABASE_APPS_MAPPING)
with self.settings(DATABASE_ROUTERS=[router]):
Theme.get_active_theme()
Theme.objects.get_active()