summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMarc Tamlyn <marc.tamlyn@gmail.com>2012-08-18 14:46:17 +0100
committerAndrew Godwin <andrew@aeracode.org>2012-08-18 15:07:21 +0100
commit58683e9c82d6e7c5fbb7acef79eef9408b776ab0 (patch)
treedd330646599bd4b54b9736b89abfd56b482104f2 /tests
parent547b181046539f548839e42544521503fbe4d821 (diff)
Fixed #16744 -- Class based view should have the view object in the context
Updated the most recent patch from @claudep to apply again and updated the documentation location.
Diffstat (limited to 'tests')
-rw-r--r--tests/regressiontests/generic_views/base.py2
-rw-r--r--tests/regressiontests/generic_views/detail.py2
-rw-r--r--tests/regressiontests/generic_views/edit.py5
-rw-r--r--tests/regressiontests/generic_views/list.py2
4 files changed, 11 insertions, 0 deletions
diff --git a/tests/regressiontests/generic_views/base.py b/tests/regressiontests/generic_views/base.py
index 5296f6941a..b9f64888fc 100644
--- a/tests/regressiontests/generic_views/base.py
+++ b/tests/regressiontests/generic_views/base.py
@@ -276,6 +276,7 @@ class TemplateViewTest(TestCase):
response = self.client.get('/template/simple/bar/')
self.assertEqual(response.status_code, 200)
self.assertEqual(response.context['params'], {'foo': 'bar'})
+ self.assertTrue(isinstance(response.context['view'], View))
def test_extra_template_params(self):
"""
@@ -285,6 +286,7 @@ class TemplateViewTest(TestCase):
self.assertEqual(response.status_code, 200)
self.assertEqual(response.context['params'], {'foo': 'bar'})
self.assertEqual(response.context['key'], 'value')
+ self.assertTrue(isinstance(response.context['view'], View))
def test_cached_views(self):
"""
diff --git a/tests/regressiontests/generic_views/detail.py b/tests/regressiontests/generic_views/detail.py
index 60c5f7afe9..c8f1999a2a 100644
--- a/tests/regressiontests/generic_views/detail.py
+++ b/tests/regressiontests/generic_views/detail.py
@@ -2,6 +2,7 @@ from __future__ import absolute_import
from django.core.exceptions import ImproperlyConfigured
from django.test import TestCase
+from django.views.generic.base import View
from .models import Artist, Author, Page
@@ -14,6 +15,7 @@ class DetailViewTest(TestCase):
res = self.client.get('/detail/obj/')
self.assertEqual(res.status_code, 200)
self.assertEqual(res.context['object'], {'foo': 'bar'})
+ self.assertTrue(isinstance(res.context['view'], View))
self.assertTemplateUsed(res, 'generic_views/detail.html')
def test_detail_by_pk(self):
diff --git a/tests/regressiontests/generic_views/edit.py b/tests/regressiontests/generic_views/edit.py
index 651e14fff3..16f4da8efe 100644
--- a/tests/regressiontests/generic_views/edit.py
+++ b/tests/regressiontests/generic_views/edit.py
@@ -5,6 +5,7 @@ from django.core.urlresolvers import reverse
from django import forms
from django.test import TestCase
from django.utils.unittest import expectedFailure
+from django.views.generic.base import View
from django.views.generic.edit import FormMixin
from . import views
@@ -31,6 +32,7 @@ class CreateViewTests(TestCase):
res = self.client.get('/edit/authors/create/')
self.assertEqual(res.status_code, 200)
self.assertTrue(isinstance(res.context['form'], forms.ModelForm))
+ self.assertTrue(isinstance(res.context['view'], View))
self.assertFalse('object' in res.context)
self.assertFalse('author' in res.context)
self.assertTemplateUsed(res, 'generic_views/author_form.html')
@@ -101,6 +103,7 @@ class CreateViewTests(TestCase):
self.assertEqual(res.status_code, 302)
self.assertRedirects(res, 'http://testserver/accounts/login/?next=/edit/authors/create/restricted/')
+
class UpdateViewTests(TestCase):
urls = 'regressiontests.generic_views.urls'
@@ -226,6 +229,7 @@ class UpdateViewTests(TestCase):
res = self.client.get('/edit/author/update/')
self.assertEqual(res.status_code, 200)
self.assertTrue(isinstance(res.context['form'], forms.ModelForm))
+ self.assertTrue(isinstance(res.context['view'], View))
self.assertEqual(res.context['object'], Author.objects.get(pk=a.pk))
self.assertEqual(res.context['author'], Author.objects.get(pk=a.pk))
self.assertTemplateUsed(res, 'generic_views/author_form.html')
@@ -237,6 +241,7 @@ class UpdateViewTests(TestCase):
self.assertRedirects(res, 'http://testserver/list/authors/')
self.assertQuerysetEqual(Author.objects.all(), ['<Author: Randall Munroe (xkcd)>'])
+
class DeleteViewTests(TestCase):
urls = 'regressiontests.generic_views.urls'
diff --git a/tests/regressiontests/generic_views/list.py b/tests/regressiontests/generic_views/list.py
index b925758524..14dc1d725d 100644
--- a/tests/regressiontests/generic_views/list.py
+++ b/tests/regressiontests/generic_views/list.py
@@ -2,6 +2,7 @@ from __future__ import absolute_import
from django.core.exceptions import ImproperlyConfigured
from django.test import TestCase
+from django.views.generic.base import View
from .models import Author, Artist
@@ -21,6 +22,7 @@ class ListViewTests(TestCase):
self.assertEqual(res.status_code, 200)
self.assertTemplateUsed(res, 'generic_views/author_list.html')
self.assertEqual(list(res.context['object_list']), list(Author.objects.all()))
+ self.assertTrue(isinstance(res.context['view'], View))
self.assertIs(res.context['author_list'], res.context['object_list'])
self.assertIsNone(res.context['paginator'])
self.assertIsNone(res.context['page_obj'])