diff options
| author | Artis Avotins <artis.avotins@gmail.com> | 2015-04-25 21:33:50 +0300 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2015-04-25 19:42:00 -0400 |
| commit | 86aaffa5a3510c007167d116cf4ad72b79e93f31 (patch) | |
| tree | fb9b76e0f930bb7aec7d5e8a1bc4d83c99c7e87d /tests | |
| parent | 0f2e82b9ec9797147945a6f9a402b5ae0fb1d9f4 (diff) | |
Fixed #24689 -- Fixed DetailView methods with deferred QuerySet.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/generic_views/test_detail.py | 22 |
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/') |
