diff options
Diffstat (limited to 'tests/proxy_models/tests.py')
| -rw-r--r-- | tests/proxy_models/tests.py | 27 |
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() |
