summaryrefslogtreecommitdiff
path: root/tests/admin_views/tests.py
diff options
context:
space:
mode:
authorBozidar Benko <bbenko@gmail.com>2013-05-19 10:52:29 +0200
committerBozidar Benko <bbenko@gmail.com>2013-05-19 16:45:00 +0200
commit2d309a7043e3625cfeeadbc252322e5599dfffc0 (patch)
tree4a5e8709da6e441bc9503939bfdaec7b306c2ec7 /tests/admin_views/tests.py
parentb06f6c1618a64cbab9a7d09a169c75fdf0a8dda8 (diff)
Fixed #15961 -- Modified ModelAdmin to allow for custom search methods.
This adds a get_search_results method that users can override to provide custom search strategies. Thanks to Daniele Procida for help with the docs.
Diffstat (limited to 'tests/admin_views/tests.py')
-rw-r--r--tests/admin_views/tests.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py
index 8e678a72b3..91dc5b4344 100644
--- a/tests/admin_views/tests.py
+++ b/tests/admin_views/tests.py
@@ -46,7 +46,7 @@ from .models import (Article, BarAccount, CustomArticle, EmptyModel, FooAccount,
DooHickey, FancyDoodad, Whatsit, Category, Post, Plot, FunkyTag, Chapter,
Book, Promo, WorkHour, Employee, Question, Answer, Inquisition, Actor,
FoodDelivery, RowLevelChangePermissionModel, Paper, CoverLetter, Story,
- OtherStory, ComplexSortedPerson, Parent, Child, AdminOrderedField,
+ OtherStory, ComplexSortedPerson, PluggableSearchPerson, Parent, Child, AdminOrderedField,
AdminOrderedModelMethod, AdminOrderedAdminMethod, AdminOrderedCallable,
Report, MainPrepopulated, RelatedPrepopulated, UnorderedObject,
Simple, UndeletableObject, Choice, ShortMessage, Telegram)
@@ -2202,6 +2202,20 @@ class AdminSearchTest(TestCase):
self.assertContains(response, "\n0 persons\n")
self.assertNotContains(response, "Guido")
+ def test_pluggable_search(self):
+ p1 = PluggableSearchPerson.objects.create(name="Bob", age=10)
+ p2 = PluggableSearchPerson.objects.create(name="Amy", age=20)
+
+ response = self.client.get('/test_admin/admin/admin_views/pluggablesearchperson/?q=Bob')
+ # confirm the search returned one object
+ self.assertContains(response, "\n1 pluggable search person\n")
+ self.assertContains(response, "Bob")
+
+ response = self.client.get('/test_admin/admin/admin_views/pluggablesearchperson/?q=20')
+ # confirm the search returned one object
+ self.assertContains(response, "\n1 pluggable search person\n")
+ self.assertContains(response, "Amy")
+
@override_settings(PASSWORD_HASHERS=('django.contrib.auth.hashers.SHA1PasswordHasher',))
class AdminInheritedInlinesTest(TestCase):