summaryrefslogtreecommitdiff
path: root/tests/regressiontests/admin_views
diff options
context:
space:
mode:
authorRamiro Morales <cramm0@gmail.com>2011-03-01 02:04:35 +0000
committerRamiro Morales <cramm0@gmail.com>2011-03-01 02:04:35 +0000
commitbd3b5e8c2b36633134ab63e5a6af7b5f5839a7c4 (patch)
tree2339321e1ef30ec25d9c2a1a24b3c2b2fc7e02fc /tests/regressiontests/admin_views
parentb1a0ad007966898c305f4823c590a3e808095e9a (diff)
Fixed #15517 -- Fixed regression in admin search_fields option introduced in r15526. Thanks Fabian Buechler for the report and fix and Julien Phalip for adding tests.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15677 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests/admin_views')
-rw-r--r--tests/regressiontests/admin_views/models.py4
-rw-r--r--tests/regressiontests/admin_views/tests.py29
2 files changed, 27 insertions, 6 deletions
diff --git a/tests/regressiontests/admin_views/models.py b/tests/regressiontests/admin_views/models.py
index 9ac99cc9ef..3b44f94d8b 100644
--- a/tests/regressiontests/admin_views/models.py
+++ b/tests/regressiontests/admin_views/models.py
@@ -258,7 +258,7 @@ class PersonAdmin(admin.ModelAdmin):
list_display = ('name', 'gender', 'alive')
list_editable = ('gender', 'alive')
list_filter = ('gender',)
- search_fields = (u'name',)
+ search_fields = ('^name',)
ordering = ["id"]
save_as = True
@@ -445,7 +445,7 @@ class Recommendation(Title):
recommender = models.ForeignKey(Recommender)
class RecommendationAdmin(admin.ModelAdmin):
- search_fields = ('titletranslation__text', 'recommender__titletranslation__text',)
+ search_fields = ('=titletranslation__text', '=recommender__titletranslation__text',)
class Collector(models.Model):
name = models.CharField(max_length=100)
diff --git a/tests/regressiontests/admin_views/tests.py b/tests/regressiontests/admin_views/tests.py
index 6be07b462d..ff97acd878 100644
--- a/tests/regressiontests/admin_views/tests.py
+++ b/tests/regressiontests/admin_views/tests.py
@@ -1288,11 +1288,11 @@ class SecureViewTests(TestCase):
user_ctype = ContentType.objects.get_for_model(User)
user = User.objects.get(username='super')
shortcut_url = "/test_admin/admin/r/%s/%s/" % (user_ctype.pk, user.pk)
-
+
# Not logged in: we should see the login page.
response = self.client.get(shortcut_url, follow=False)
self.assertTemplateUsed(response, 'admin/login.html')
-
+
# Logged in? Redirect.
self.client.login(username='super', password='secret')
response = self.client.get(shortcut_url, follow=False)
@@ -1470,7 +1470,7 @@ class AdminViewListEditable(TestCase):
"_save": "Save",
}
- self.client.post('/test_admin/admin/admin_views/person/?q=mauchly', data)
+ self.client.post('/test_admin/admin/admin_views/person/?q=john', data)
self.assertEqual(Person.objects.get(name="John Mauchly").alive, False)
@@ -1680,7 +1680,8 @@ class AdminViewListEditable(TestCase):
class AdminSearchTest(TestCase):
- fixtures = ['admin-views-users','multiple-child-classes']
+ fixtures = ['admin-views-users', 'multiple-child-classes',
+ 'admin-views-person']
def setUp(self):
self.client.login(username='super', password='secret')
@@ -1703,6 +1704,26 @@ class AdminSearchTest(TestCase):
self.assertContains(response, "\n1 user\n")
self.assertContains(response, '<input type="hidden" name="t" value="username"/>')
+ def test_exact_matches(self):
+ response = self.client.get('/test_admin/admin/admin_views/recommendation/?q=bar')
+ # confirm the search returned one object
+ self.assertContains(response, "\n1 recommendation\n")
+
+ response = self.client.get('/test_admin/admin/admin_views/recommendation/?q=ba')
+ # confirm the search returned zero objects
+ self.assertContains(response, "\n0 recommendations\n")
+
+ def test_beginning_matches(self):
+ response = self.client.get('/test_admin/admin/admin_views/person/?q=Gui')
+ # confirm the search returned one object
+ self.assertContains(response, "\n1 person\n")
+ self.assertContains(response, "Guido")
+
+ response = self.client.get('/test_admin/admin/admin_views/person/?q=uido')
+ # confirm the search returned zero objects
+ self.assertContains(response, "\n0 persons\n")
+ self.assertNotContains(response, "Guido")
+
class AdminInheritedInlinesTest(TestCase):
fixtures = ['admin-views-users.xml',]