summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2016-03-24 16:22:35 -0400
committerTim Graham <timograham@gmail.com>2016-03-25 14:22:38 -0400
commit1f15d442bf59218fb62fd95cc065da1d9a14b577 (patch)
tree8d33fc800f8ca80cc0927a535a8a029fed9bbf2b /tests
parent9d0c8d3dd9dce720f0b91d30508278e45235a3a9 (diff)
[1.9.x] Fixed #26387 -- Restored the functionality of the admin's raw_id_fields in list_editable.
Backport of acfaec3db5ba39de52f6e607e74343dccf72fba1 from master
Diffstat (limited to 'tests')
-rw-r--r--tests/admin_views/admin.py8
-rw-r--r--tests/admin_views/tests.py17
2 files changed, 25 insertions, 0 deletions
diff --git a/tests/admin_views/admin.py b/tests/admin_views/admin.py
index b3f7d05ca8..e14ac592c8 100644
--- a/tests/admin_views/admin.py
+++ b/tests/admin_views/admin.py
@@ -1008,5 +1008,13 @@ site.register(Group, GroupAdmin)
site2 = admin.AdminSite(name="namespaced_admin")
site2.register(User, UserAdmin)
site2.register(Group, GroupAdmin)
+site2.register(ParentWithUUIDPK)
+site2.register(
+ RelatedWithUUIDPKModel,
+ list_display=['pk', 'parent'],
+ list_editable=['parent'],
+ raw_id_fields=['parent'],
+)
+
site7 = admin.AdminSite(name="admin7")
site7.register(Article, ArticleAdmin2)
diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py
index 039ebec8f7..98830d40c0 100644
--- a/tests/admin_views/tests.py
+++ b/tests/admin_views/tests.py
@@ -4667,6 +4667,23 @@ class SeleniumAdminViewsFirefoxTests(AdminSeleniumWebDriverTestCase):
self.assertEqual(select.first_selected_option.text, uuid_id)
self.assertEqual(select.first_selected_option.get_attribute('value'), uuid_id)
+ def test_list_editable_raw_id_fields(self):
+ parent = ParentWithUUIDPK.objects.create(title='test')
+ parent2 = ParentWithUUIDPK.objects.create(title='test2')
+ RelatedWithUUIDPKModel.objects.create(parent=parent)
+ self.admin_login(username='super', password='secret', login_url=reverse('admin:index'))
+ change_url = reverse('admin:admin_views_relatedwithuuidpkmodel_changelist', current_app=site2.name)
+ self.selenium.get(self.live_server_url + change_url)
+ self.selenium.find_element_by_id('lookup_id_form-0-parent').click()
+ self.wait_for_popup()
+ self.selenium.switch_to.window(self.selenium.window_handles[-1])
+ # Select "parent2" in the popup.
+ self.selenium.find_element_by_link_text(str(parent2.pk)).click()
+ self.selenium.switch_to.window(self.selenium.window_handles[0])
+ # The newly selected pk should appear in the raw id input.
+ value = self.selenium.find_element_by_id('id_form-0-parent').get_attribute('value')
+ self.assertEqual(value, str(parent2.pk))
+
class SeleniumAdminViewsChromeTests(SeleniumAdminViewsFirefoxTests):
webdriver_class = 'selenium.webdriver.chrome.webdriver.WebDriver'