diff options
| author | Ramiro Morales <cramm0@gmail.com> | 2011-03-01 02:04:35 +0000 |
|---|---|---|
| committer | Ramiro Morales <cramm0@gmail.com> | 2011-03-01 02:04:35 +0000 |
| commit | bd3b5e8c2b36633134ab63e5a6af7b5f5839a7c4 (patch) | |
| tree | 2339321e1ef30ec25d9c2a1a24b3c2b2fc7e02fc /tests/regressiontests/admin_views | |
| parent | b1a0ad007966898c305f4823c590a3e808095e9a (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.py | 4 | ||||
| -rw-r--r-- | tests/regressiontests/admin_views/tests.py | 29 |
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',] |
