|
8 | 8 | from djangocms_alias.cms_plugins import Alias |
9 | 9 | from djangocms_alias.constants import DEFAULT_STATIC_ALIAS_CATEGORY_NAME |
10 | 10 | from djangocms_alias.models import Alias as AliasModel |
11 | | -from djangocms_alias.models import Category |
| 11 | +from djangocms_alias.models import AliasContent, Category |
12 | 12 | from djangocms_alias.utils import is_versioning_enabled |
13 | 13 |
|
14 | 14 | from .base import BaseAliasPluginTestCase |
@@ -193,6 +193,30 @@ def test_alias_auto_creation_in_template_site_limited_alias(self): |
193 | 193 |
|
194 | 194 | self.assertEqual(alias_requery.count(), 2) |
195 | 195 |
|
| 196 | + def test_no_alias_content_creation_on_view_on_site(self): |
| 197 | + """ |
| 198 | + When a template discovers a static code that doesn't exist in preview or on-site mode, |
| 199 | + no alias or category is created |
| 200 | + """ |
| 201 | + alias_template = """{% load djangocms_alias_tags %}{% static_alias "no_creation_code" site %}""" # noqa: E501 |
| 202 | + |
| 203 | + # No Alias or Category exist |
| 204 | + category = Category.objects.filter(translations__name=DEFAULT_STATIC_ALIAS_CATEGORY_NAME) |
| 205 | + alias = AliasModel.objects.filter(static_code="no_creation_code") |
| 206 | + alias_content = AliasContent.admin_manager |
| 207 | + |
| 208 | + self.assertEqual(category.count(), 0) |
| 209 | + self.assertEqual(alias.count(), 0) |
| 210 | + self.assertEqual(alias_content.count(), 0) |
| 211 | + |
| 212 | + with self.login_user_context(self.superuser): |
| 213 | + # A default category, and a new alias is created for the template tag |
| 214 | + self.render_template_obj(alias_template, {}, self.get_request("/")) |
| 215 | + |
| 216 | + self.assertEqual(category.count(), 1) |
| 217 | + self.assertEqual(alias.count(), 1) |
| 218 | + self.assertEqual(alias_content.count(), 0) |
| 219 | + |
196 | 220 | def test_site_limited_alias_displays_the_correct_contents(self): |
197 | 221 | """ |
198 | 222 | The correct contents are shown when viewing the static alias in different sites. |
|
0 commit comments