|
4 | 4 | from django.shortcuts import reverse
|
5 | 5 | from django.test import RequestFactory, override_settings
|
6 | 6 |
|
| 7 | +from cms.utils.urlutils import admin_reverse |
7 | 8 | from cms.test_utils.testcases import CMSTestCase
|
8 | 9 |
|
9 | 10 | from djangocms_versioning.models import Version
|
|
13 | 14 | from djangocms_snippet.forms import SnippetForm
|
14 | 15 | from djangocms_snippet.models import Snippet, SnippetGrouper
|
15 | 16 |
|
| 17 | +from .utils.factories import SnippetWithVersionFactory |
| 18 | + |
16 | 19 |
|
17 | 20 | class SnippetAdminTestCase(CMSTestCase):
|
18 | 21 | def setUp(self):
|
@@ -209,3 +212,23 @@ def test_name_colomn_should_not_be_hyperlinked_with_versioning_enabled(self):
|
209 | 212 | self.assertContains(response, '<td class="field-name">Test Snippet</td>')
|
210 | 213 | self.assertNotContains(response, '<th class="field-slug"><a href="/en/admin/djangocms_snippet/'
|
211 | 214 | 'snippet/1/change/">test-snippet</a></th>')
|
| 215 | + |
| 216 | + def test_preview_renders_read_only_fields(self): |
| 217 | + """ |
| 218 | + Check that the preview endpoint is rendered in read only mode |
| 219 | + """ |
| 220 | + self.snippet_version.publish(user=self.superuser) |
| 221 | + with self.login_user_context(self.superuser): |
| 222 | + edit_url = reverse("admin:djangocms_snippet_snippet_preview", args=(self.snippet.id,),) |
| 223 | + response = self.client.get(edit_url) |
| 224 | + |
| 225 | + # Snippet name |
| 226 | + self.assertContains(response, '<div class="readonly">Test Snippet</div>') |
| 227 | + # Snippet slug |
| 228 | + self.assertContains(response, '<div class="readonly">test-snippet</div>') |
| 229 | + # Snippet HTML |
| 230 | + self.assertContains(response, '<div class="readonly"><h1>This is a test</h1></div>') |
| 231 | + # Snippet template |
| 232 | + self.assertContains(response, '<div class="readonly"></div>') |
| 233 | + |
| 234 | + |
0 commit comments