summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorArtis Avotins <artis.avotins@gmail.com>2015-04-25 21:33:50 +0300
committerTim Graham <timograham@gmail.com>2015-04-25 19:42:00 -0400
commit86aaffa5a3510c007167d116cf4ad72b79e93f31 (patch)
treefb9b76e0f930bb7aec7d5e8a1bc4d83c99c7e87d /tests
parent0f2e82b9ec9797147945a6f9a402b5ae0fb1d9f4 (diff)
Fixed #24689 -- Fixed DetailView methods with deferred QuerySet.
Diffstat (limited to 'tests')
-rw-r--r--tests/generic_views/test_detail.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/generic_views/test_detail.py b/tests/generic_views/test_detail.py
index 9f3933f1fa..f9cfd8b9c1 100644
--- a/tests/generic_views/test_detail.py
+++ b/tests/generic_views/test_detail.py
@@ -5,7 +5,10 @@ import datetime
from django.core.exceptions import ImproperlyConfigured, ObjectDoesNotExist
from django.test import TestCase, override_settings
+from django.test.client import RequestFactory
from django.views.generic.base import View
+from django.views.generic.detail import SingleObjectTemplateResponseMixin
+from django.views.generic.edit import ModelFormMixin
from .models import Artist, Author, Book, Page
@@ -137,6 +140,25 @@ class DetailViewTest(TestCase):
self.assertNotIn('author', res.context)
self.assertTemplateUsed(res, 'generic_views/author_detail.html')
+ def test_deferred_queryset_template_name(self):
+ class FormContext(SingleObjectTemplateResponseMixin):
+ request = RequestFactory().get('/')
+ model = Author
+ object = Author.objects.defer('name').get(pk=self.author1.pk)
+
+ self.assertEqual(FormContext().get_template_names()[0], 'generic_views/author_detail.html')
+
+ def test_deferred_queryset_context_object_name(self):
+ class FormContext(ModelFormMixin):
+ request = RequestFactory().get('/')
+ model = Author
+ object = Author.objects.defer('name').get(pk=self.author1.pk)
+ fields = ('name',)
+
+ form_context_data = FormContext().get_context_data()
+ self.assertEqual(form_context_data['object'], self.author1)
+ self.assertEqual(form_context_data['author'], self.author1)
+
def test_invalid_url(self):
self.assertRaises(AttributeError, self.client.get, '/detail/author/invalid/url/')