Skip to content

Commit 37d3cb2

Browse files
authored
Removed skipIf and fixed failing test (#214)
* test: remove skipIf version less than 4.1 * test: fix assertion for SnippetAdminTestCase
1 parent 2613fbb commit 37d3cb2

File tree

5 files changed

+16
-26
lines changed

5 files changed

+16
-26
lines changed

tests/test_admin.py

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
from importlib import reload
2-
from unittest import skipIf
32

4-
from cms import __version__ as cms_version
53
from cms.test_utils.testcases import CMSTestCase
64
from cms.utils import get_current_site
75
from django import __version__ as django_version
86
from django.contrib import admin
97
from django.contrib.sites.models import Site
108
from django.shortcuts import reverse
119
from django.test import RequestFactory, override_settings
10+
from djangocms_versioning.admin import ExtendedIndicatorVersionAdminMixin
1211

1312
try:
1413
from djangocms_versioning.models import Version
@@ -86,20 +85,29 @@ def test_admin_list_display_without_versioning(self):
8685
self.assertEqual(self.snippet_admin.__class__.__bases__, (admin.ModelAdmin,))
8786
self.assertEqual(list_display, ("slug", "name"))
8887

89-
@skipIf(not cms_version.startswith("4.0."), "Django CMS 4 required")
9088
@override_settings(DJANGOCMS_SNIPPET_VERSIONING_ENABLED=True)
9189
def test_admin_list_display_with_versioning(self):
9290
"""
9391
With versioning enabled, list_display should be populated with both versioning related items, and the
9492
list actions items
9593
"""
96-
from djangocms_versioning.admin import ExtendedVersionAdminMixin
97-
9894
list_display = self.snippet_admin.get_list_display(self.snippet_admin_request)
9995

10096
# Mixins should always come first in the class bases
101-
self.assertEqual(self.snippet_admin.__class__.__bases__, (ExtendedVersionAdminMixin, admin.ModelAdmin))
102-
self.assertEqual(list_display[:-1], ("name", "get_author", "get_modified_date", "get_versioning_state"))
97+
self.assertEqual(
98+
self.snippet_admin.__class__.__bases__,
99+
(ExtendedIndicatorVersionAdminMixin, admin.ModelAdmin),
100+
)
101+
102+
# Verify static fields
103+
self.assertEqual(list_display[:3], ("name", "get_author", "get_modified_date"))
104+
105+
# Verify dynamic indicator
106+
indicator_field = list_display[3]
107+
self.assertTrue(callable(indicator_field), f"{indicator_field} is not callable")
108+
self.assertEqual(indicator_field.__name__, "indicator")
109+
110+
# Verify actions
103111
self.assertEqual(list_display[-1].short_description.lower(), "actions")
104112

105113
def test_admin_uses_form(self):
@@ -109,7 +117,6 @@ def test_admin_uses_form(self):
109117
"""
110118
self.assertEqual(self.snippet_admin.form, SnippetForm)
111119

112-
@skipIf(cms_version < "4", "Django CMS 4 required")
113120
@override_settings(DJANGOCMS_SNIPPET_VERSIONING_ENABLED=True)
114121
def test_admin_delete_button_disabled_versioning_enabled(self):
115122
"""
@@ -152,7 +159,6 @@ def test_admin_delete_button_available_versioning_disabled(self):
152159
response, '<a href="/en/admin/djangocms_snippet/snippet/1/delete/" class="deletelink">Delete</a>'
153160
)
154161

155-
@skipIf(cms_version < "4", "Django CMS 4 required")
156162
@override_settings(DJANGOCMS_SNIPPET_VERSIONING_ENABLED=True)
157163
def test_admin_delete_endpoint_inaccessible_versioning_enabled(self):
158164
"""
@@ -196,7 +202,6 @@ def setUp(self):
196202
)
197203
self.snippet_version = Version.objects.create(content=self.snippet, created_by=self.superuser)
198204

199-
@skipIf(cms_version < "4", "Django CMS 4 required")
200205
@override_settings(DJANGOCMS_SNIPPET_VERSIONING_ENABLED=True)
201206
def test_admin_form_save_method(self):
202207
with self.login_user_context(self.superuser):
@@ -214,7 +219,6 @@ def test_admin_form_save_method(self):
214219
self.assertEqual(Snippet._base_manager.count(), 2)
215220
self.assertEqual(SnippetGrouper._base_manager.count(), 2)
216221

217-
@skipIf(cms_version < "4", "Django CMS 4 required")
218222
@override_settings(DJANGOCMS_SNIPPET_VERSIONING_ENABLED=True)
219223
def test_admin_form_edit_when_locked(self):
220224
"""
@@ -235,7 +239,7 @@ def test_admin_form_edit_when_locked(self):
235239
self.assertEqual(Snippet.objects.count(), 1)
236240

237241
@override_settings(DJANGOCMS_SNIPPET_VERSIONING_ENABLED=False)
238-
def test_slug_colomn_should_hyperlinked_with_versioning_disabled(self):
242+
def test_slug_column_should_hyperlinked_with_versioning_disabled(self):
239243
"""
240244
Slug column should be visible and hyperlinked when versioning is disabled
241245
"""
@@ -249,7 +253,6 @@ def test_slug_colomn_should_hyperlinked_with_versioning_disabled(self):
249253
'<th class="field-slug"><a href="/en/admin/djangocms_snippet/snippet/1/change/">test-snippet</a></th>',
250254
)
251255

252-
@skipIf(cms_version < "4", "Django CMS 4 required")
253256
@override_settings(DJANGOCMS_SNIPPET_VERSIONING_ENABLED=True)
254257
def test_name_colomn_should_not_be_hyperlinked_with_versioning_enabled(self):
255258
"""

tests/test_config.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
from unittest import skipIf
2-
3-
from cms import __version__ as cms_version
41
from cms.test_utils.testcases import CMSTestCase
52
from django.apps import apps
63

@@ -9,7 +6,6 @@
96
from .utils.factories import SnippetWithVersionFactory
107

118

12-
@skipIf(cms_version < "4", "Django CMS 4 required")
139
class VersioningConfigTestCase(CMSTestCase):
1410
def test_snippet_copy_method(self):
1511
"""

tests/test_forms.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
from importlib import reload
2-
from unittest import skipIf
32

4-
from cms import __version__ as cms_version
53
from cms.test_utils.testcases import CMSTestCase
64
from django.test import override_settings
75

@@ -65,7 +63,6 @@ def test_snippet_form_doesnt_create_grouper_or_snippet_with_no_commit(self):
6563
self.assertEqual(SnippetGrouper.objects.count(), 1)
6664
self.assertEqual(Snippet._base_manager.count(), 1)
6765

68-
@skipIf(cms_version < "4", "Django CMS 4 required")
6966
@override_settings(DJANGOCMS_SNIPPET_VERSIONING_ENABLED=True)
7067
def test_snippet_form_adds_to_existing_grouper_with_versioning(self):
7168
"""
@@ -138,7 +135,6 @@ def test_snippet_form_versioning_enabled(self):
138135

139136
self.assertDictEqual(new_form.errors, {"slug": ["A Snippet with this slug already exists"]})
140137

141-
@skipIf(cms_version < "4", "Django CMS 4 required")
142138
def test_snippet_form_validation_multiple_version_states_in_grouper(self):
143139
"""
144140
Snippet forms should be valid regardless of the versions, or states which already exist within its grouper.

tests/test_migrations.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,12 @@
11
# original from
22
# http://tech.octopus.energy/news/2016/01/21/testing-for-missing-migrations-in-django.html
33
from io import StringIO
4-
from unittest import skipIf
54

6-
from cms import __version__ as cms_version
75
from django.core.management import call_command
86
from django.test import TestCase, override_settings
97

108

119
class MigrationTestCase(TestCase):
12-
@skipIf(cms_version.startswith("4.0."), "This test fails on django-cms 4.0")
1310
@override_settings(MIGRATION_MODULES={})
1411
def test_for_missing_migrations(self):
1512
output = StringIO()

tests/test_plugins.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import datetime
2-
from unittest import skipIf
32

43
from cms import __version__ as cms_version
54
from cms.api import add_plugin, create_page
@@ -141,7 +140,6 @@ def test_failing_template_rendering(self):
141140
self.assertContains(response, "Template some_template does not exist")
142141

143142

144-
@skipIf(cms_version < "4", "Django CMS 4 required")
145143
class SnippetPluginVersioningRenderTestCase(CMSTestCase):
146144
def setUp(self):
147145
from cms.models import PageContent

0 commit comments

Comments
 (0)