Skip to content

Commit 47dfedf

Browse files
committed
Linting and additional test case
1 parent 426510f commit 47dfedf

File tree

9 files changed

+30
-34
lines changed

9 files changed

+30
-34
lines changed

djangocms_snippet/cms_config.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
from django.conf import settings
22

33
from cms.app_base import CMSAppConfig
4-
from cms.views import render_object_preview
54

65
from djangocms_snippet.models import Snippet
76
from djangocms_snippet.rendering import render_snippet
@@ -24,7 +23,7 @@ class SnippetCMSAppConfig(CMSAppConfig):
2423
)
2524

2625
cms_enabled = True
27-
cms_toolbar_enabled_models = [(Snippet, render_snippet),]
26+
cms_toolbar_enabled_models = [(Snippet, render_snippet), ]
2827

2928
if djangocms_moderation_enabled and djangocms_moderation_installed:
3029
moderated_models = [Snippet]

djangocms_snippet/urls.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
from django.conf.urls import url
2-
from django.urls import include, path
3-
4-
from cms.views import render_object_preview
52

63
from djangocms_snippet.models import Snippet
74
from djangocms_snippet.views import SnippetPreviewView

djangocms_snippet/views.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from django.shortcuts import get_object_or_404
1+
from django.http import Http404
22
from django.views.generic import TemplateView
33

44
from djangocms_snippet.models import Snippet
@@ -9,8 +9,12 @@ class SnippetPreviewView(TemplateView):
99

1010
def get_context_data(self, **kwargs):
1111
context = super().get_context_data(**kwargs)
12-
snippet_qs = Snippet._base_manager.filter(pk=self.kwargs.get("snippet_id"))
13-
snippet = snippet_qs[0]
12+
13+
try:
14+
snippet = Snippet._base_manager.get(pk=self.kwargs.get("snippet_id"))
15+
except Snippet.DoesNotExist:
16+
raise Http404
17+
1418
context.update({
1519
"snippet": snippet,
1620
"opts": Snippet._meta

tests/requirements/dj22_cms37.txt

Lines changed: 0 additions & 4 deletions
This file was deleted.

tests/requirements/dj22_cms38.txt

Lines changed: 0 additions & 4 deletions
This file was deleted.

tests/requirements/dj30_cms37.txt

Lines changed: 0 additions & 4 deletions
This file was deleted.

tests/requirements/dj30_cms38.txt

Lines changed: 0 additions & 4 deletions
This file was deleted.

tests/requirements/dj31_cms38.txt

Lines changed: 0 additions & 4 deletions
This file was deleted.

tests/test_views.py

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,32 @@
77
class PreviewViewTestCase(CMSTestCase):
88
def setUp(self):
99
self.snippet = SnippetWithVersionFactory(html="<h1>Test Title</h1><br><p>Test paragraph</p>")
10-
self.preview_url = admin_reverse(
10+
self.user = self.get_superuser()
11+
12+
def test_preview_renders_html(self):
13+
"""
14+
Check that our snippet HTML is rendered, unescaped, on the page
15+
"""
16+
preview_url = admin_reverse(
1117
"djangocms_snippet_snippet_preview",
1218
kwargs={"snippet_id": self.snippet.id},
1319
)
14-
15-
def test_preview_renders_html(self):
16-
self.snippet.versions.last().publish(user=self.get_superuser())
17-
with self.login_user_context(self.get_superuser()):
18-
response = self.client.get(self.preview_url)
20+
with self.login_user_context(self.user):
21+
response = self.client.get(preview_url)
1922

2023
self.assertEqual(self.snippet.html, "<h1>Test Title</h1><br><p>Test paragraph</p>")
2124
self.assertEqual(response.status_code, 200)
2225
self.assertContains(response, "<h1>Test Title</h1><br><p>Test paragraph</p>")
26+
27+
def test_preview_raises_404_no_snippet(self):
28+
"""
29+
With no Snippet to preview, a 404 will be raised
30+
"""
31+
preview_url = admin_reverse(
32+
"djangocms_snippet_snippet_preview",
33+
kwargs={"snippet_id": 999}, # Non existent PK!
34+
)
35+
with self.login_user_context(self.user):
36+
response = self.client.get(preview_url)
37+
38+
self.assertEqual(response.status_code, 404)

0 commit comments

Comments
 (0)