summaryrefslogtreecommitdiff
path: root/tests/proxy_models/tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/proxy_models/tests.py')
-rw-r--r--tests/proxy_models/tests.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/proxy_models/tests.py b/tests/proxy_models/tests.py
index 3598d65935..f0c0d046e1 100644
--- a/tests/proxy_models/tests.py
+++ b/tests/proxy_models/tests.py
@@ -10,12 +10,14 @@ from django.db import models, DEFAULT_DB_ALIAS
from django.db.models import signals
from django.db.models.loading import cache
from django.test import TestCase
+from django.test.utils import override_settings
from .models import (MyPerson, Person, StatusPerson, LowerStatusPerson,
MyPersonProxy, Abstract, OtherPerson, User, UserProxy, UserProxyProxy,
Country, State, StateProxy, TrackerUser, BaseUser, Bug, ProxyTrackerUser,
Improvement, ProxyProxyBug, ProxyBug, ProxyImprovement, Issue)
+from .admin import admin as force_admin_model_registration
class ProxyModelTests(TestCase):
@@ -366,8 +368,10 @@ class ProxyModelTests(TestCase):
self.assertEqual(MyPerson(id=100), Person(id=100))
+@override_settings(PASSWORD_HASHERS=('django.contrib.auth.hashers.SHA1PasswordHasher',))
class ProxyModelAdminTests(TestCase):
fixtures = ['myhorses']
+ urls = 'proxy_models.urls'
def test_cascade_delete_proxy_model_admin_warning(self):
"""
@@ -383,3 +387,26 @@ class ProxyModelAdminTests(TestCase):
self.assertTrue(tracker_user in collector.edges.get(None, ()))
self.assertTrue(base_user in collector.edges.get(None, ()))
self.assertTrue(issue in collector.edges.get(tracker_user, ()))
+
+ def test_delete_str_in_model_admin(self):
+ """
+ Test if the admin delete page shows the correct string representation
+ for a proxy model.
+ """
+ user = TrackerUser.objects.get(name='Django Pony')
+ proxy = ProxyTrackerUser.objects.get(name='Django Pony')
+
+ user_str = (
+ 'Tracker user: <a href="/admin/proxy_models/trackeruser/%s/">%s</a>' % (user.pk, user))
+ proxy_str = (
+ 'Proxy tracker user: <a href="/admin/proxy_models/proxytrackeruser/%s/">%s</a>' %
+ (proxy.pk, proxy))
+
+ self.client.login(username='super', password='secret')
+ response = self.client.get('/admin/proxy_models/trackeruser/%s/delete/' % (user.pk,))
+ delete_str = response.context['deleted_objects'][0]
+ self.assertEqual(delete_str, user_str)
+ response = self.client.get('/admin/proxy_models/proxytrackeruser/%s/delete/' % (proxy.pk,))
+ delete_str = response.context['deleted_objects'][0]
+ self.assertEqual(delete_str, proxy_str)
+ self.client.logout()