summaryrefslogtreecommitdiff
path: root/tests/generic_views
diff options
context:
space:
mode:
authorMads Jensen <mje@inducks.org>2017-05-28 21:37:21 +0200
committerTim Graham <timograham@gmail.com>2017-07-29 19:07:23 -0400
commita51c4de1945be2225f20fad794cfb52d8f1f9236 (patch)
tree36386b70a27cf027a8a491de319c3e59e0d3d0cd /tests/generic_views
parent38988f289f7f5708f5ea85de2d5dfe0d86b23106 (diff)
downloaddjango-a51c4de1945be2225f20fad794cfb52d8f1f9236.tar.gz
Used assertRaisesMessage() to test Django's error messages.
Diffstat (limited to 'tests/generic_views')
-rw-r--r--tests/generic_views/test_base.py6
-rw-r--r--tests/generic_views/test_dates.py6
-rw-r--r--tests/generic_views/test_detail.py6
-rw-r--r--tests/generic_views/test_edit.py19
-rw-r--r--tests/generic_views/test_list.py6
5 files changed, 32 insertions, 11 deletions
diff --git a/tests/generic_views/test_base.py b/tests/generic_views/test_base.py
index 8215e67e1a..1579408712 100644
--- a/tests/generic_views/test_base.py
+++ b/tests/generic_views/test_base.py
@@ -273,7 +273,11 @@ class TemplateViewTest(SimpleTestCase):
"""
A template view must provide a template name.
"""
- with self.assertRaises(ImproperlyConfigured):
+ msg = (
+ "TemplateResponseMixin requires either a definition of "
+ "'template_name' or an implementation of 'get_template_names()'"
+ )
+ with self.assertRaisesMessage(ImproperlyConfigured, msg):
self.client.get('/template/no_template/')
@require_jinja2
diff --git a/tests/generic_views/test_dates.py b/tests/generic_views/test_dates.py
index 454b9e5a1d..ff3b09ddf3 100644
--- a/tests/generic_views/test_dates.py
+++ b/tests/generic_views/test_dates.py
@@ -79,7 +79,11 @@ class ArchiveIndexViewTests(TestDataMixin, TestCase):
self.assertTemplateUsed(res, 'generic_views/book_detail.html')
def test_archive_view_invalid(self):
- with self.assertRaises(ImproperlyConfigured):
+ msg = (
+ 'BookArchive is missing a QuerySet. Define BookArchive.model, '
+ 'BookArchive.queryset, or override BookArchive.get_queryset().'
+ )
+ with self.assertRaisesMessage(ImproperlyConfigured, msg):
self.client.get('/dates/books/invalid/')
def test_archive_view_by_month(self):
diff --git a/tests/generic_views/test_detail.py b/tests/generic_views/test_detail.py
index da20db066e..002435dfce 100644
--- a/tests/generic_views/test_detail.py
+++ b/tests/generic_views/test_detail.py
@@ -175,7 +175,11 @@ class DetailViewTest(TestCase):
self.client.get('/detail/author/invalid/url/')
def test_invalid_queryset(self):
- with self.assertRaises(ImproperlyConfigured):
+ msg = (
+ 'AuthorDetail is missing a QuerySet. Define AuthorDetail.model, '
+ 'AuthorDetail.queryset, or override AuthorDetail.get_queryset().'
+ )
+ with self.assertRaisesMessage(ImproperlyConfigured, msg):
self.client.get('/detail/author/invalid/qs/')
def test_non_model_object_with_meta(self):
diff --git a/tests/generic_views/test_edit.py b/tests/generic_views/test_edit.py
index 3a68fc4098..522189a475 100644
--- a/tests/generic_views/test_edit.py
+++ b/tests/generic_views/test_edit.py
@@ -159,7 +159,11 @@ class CreateViewTests(TestCase):
self.assertQuerysetEqual(Author.objects.all(), ['<Author: Randall Munroe>'])
def test_create_without_redirect(self):
- with self.assertRaises(ImproperlyConfigured):
+ msg = (
+ 'No URL to redirect to. Either provide a url or define a '
+ 'get_absolute_url method on the Model.'
+ )
+ with self.assertRaisesMessage(ImproperlyConfigured, msg):
self.client.post('/edit/authors/create/naive/', {'name': 'Randall Munroe', 'slug': 'randall-munroe'})
def test_create_restricted(self):
@@ -312,9 +316,11 @@ class UpdateViewTests(TestCase):
name='Randall Munroe',
slug='randall-munroe',
)
- # Should raise exception -- No redirect URL provided, and no
- # get_absolute_url provided
- with self.assertRaises(ImproperlyConfigured):
+ msg = (
+ 'No URL to redirect to. Either provide a url or define a '
+ 'get_absolute_url method on the Model.'
+ )
+ with self.assertRaisesMessage(ImproperlyConfigured, msg):
self.client.post(
'/edit/author/%d/update/naive/' % a.pk,
{'name': 'Randall Munroe (author of xkcd)', 'slug': 'randall-munroe'}
@@ -404,7 +410,6 @@ class DeleteViewTests(TestCase):
name='Randall Munroe',
slug='randall-munroe',
)
- # Should raise exception -- No redirect URL provided, and no
- # get_absolute_url provided
- with self.assertRaises(ImproperlyConfigured):
+ msg = 'No URL to redirect to. Provide a success_url.'
+ with self.assertRaisesMessage(ImproperlyConfigured, msg):
self.client.post('/edit/author/%d/delete/naive/' % a.pk)
diff --git a/tests/generic_views/test_list.py b/tests/generic_views/test_list.py
index 429d46f50c..ea57b6af9a 100644
--- a/tests/generic_views/test_list.py
+++ b/tests/generic_views/test_list.py
@@ -200,7 +200,11 @@ class ListViewTests(TestCase):
self.assertTemplateUsed(res, 'generic_views/author_list.html')
def test_missing_items(self):
- with self.assertRaises(ImproperlyConfigured):
+ msg = (
+ 'AuthorList is missing a QuerySet. Define AuthorList.model, '
+ 'AuthorList.queryset, or override AuthorList.get_queryset().'
+ )
+ with self.assertRaisesMessage(ImproperlyConfigured, msg):
self.client.get('/list/authors/invalid/')
def test_paginated_list_view_does_not_load_entire_table(self):