summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorKaren Tracey <kmtracey@gmail.com>2015-11-07 10:46:50 -0500
committerTim Graham <timograham@gmail.com>2015-12-21 13:50:06 -0500
commit5399ccc0f4257676981ef7937ea84be36f7058a6 (patch)
treeb8ae87d4584d7d6f94d2bc75b4f8f7706e4aa9b2 /tests
parent63a6a653d4282f74e35582d41ca507139c9cfbe1 (diff)
Fixed #494 -- Added ability to specify classes on admin inline fieldsets.
This includes the ability to collapse inlines by specifying a class named 'collapse'.
Diffstat (limited to 'tests')
-rw-r--r--tests/admin_inlines/admin.py2
-rw-r--r--tests/admin_inlines/tests.py19
2 files changed, 21 insertions, 0 deletions
diff --git a/tests/admin_inlines/admin.py b/tests/admin_inlines/admin.py
index 65d74a4c81..b7fd6424d6 100644
--- a/tests/admin_inlines/admin.py
+++ b/tests/admin_inlines/admin.py
@@ -20,10 +20,12 @@ class BookInline(admin.TabularInline):
class NonAutoPKBookTabularInline(admin.TabularInline):
model = NonAutoPKBook
+ classes = ('collapse',)
class NonAutoPKBookStackedInline(admin.StackedInline):
model = NonAutoPKBook
+ classes = ('collapse',)
class EditablePKBookTabularInline(admin.TabularInline):
diff --git a/tests/admin_inlines/tests.py b/tests/admin_inlines/tests.py
index b2102480bc..0a50202340 100644
--- a/tests/admin_inlines/tests.py
+++ b/tests/admin_inlines/tests.py
@@ -874,6 +874,25 @@ class SeleniumFirefoxTests(AdminSeleniumWebDriverTestCase):
self.assertEqual(len(self.selenium.find_elements_by_css_selector(
"%s.row2" % row_selector)), 1, msg="Expect one row2 styled row")
+ def test_collapsed_inlines(self):
+ # Collapsed inlines have SHOW/HIDE links.
+ self.admin_login(username='super', password='secret')
+ self.selenium.get(self.live_server_url + reverse('admin:admin_inlines_author_add'))
+ # One field is in a stacked inline, other in a tabular one.
+ test_fields = ['id_nonautopkbook_set-0-title', 'id_nonautopkbook_set-2-0-title']
+ show_links = self.selenium.find_elements_by_link_text('SHOW')
+ self.assertEqual(len(show_links), 2)
+ for show_index, field_name in enumerate(test_fields, 0):
+ self.assertFalse(self.selenium.find_element_by_id(field_name).is_displayed())
+ show_links[show_index].click()
+ self.assertTrue(self.selenium.find_element_by_id(field_name).is_displayed())
+ hide_links = self.selenium.find_elements_by_link_text('HIDE')
+ self.assertEqual(len(hide_links), 2)
+ for hide_index, field_name in enumerate(test_fields, 0):
+ self.assertTrue(self.selenium.find_element_by_id(field_name).is_displayed())
+ hide_links[hide_index].click()
+ self.assertFalse(self.selenium.find_element_by_id(field_name).is_displayed())
+
class SeleniumChromeTests(SeleniumFirefoxTests):
webdriver_class = 'selenium.webdriver.chrome.webdriver.WebDriver'