Author: julien
Date: 2012-03-03 20:50:58 -0800 (Sat, 03 Mar 2012)
New Revision: 17649
Modified:
django/trunk/tests/regressiontests/admin_widgets/tests.py
Log:
Made the Selenium tests for the admin horizontal/vertical filter widgets a bit
more thorough.
Modified: django/trunk/tests/regressiontests/admin_widgets/tests.py
===================================================================
--- django/trunk/tests/regressiontests/admin_widgets/tests.py 2012-03-04
01:20:03 UTC (rev 17648)
+++ django/trunk/tests/regressiontests/admin_widgets/tests.py 2012-03-04
04:50:58 UTC (rev 17649)
@@ -624,7 +624,8 @@
for field_name in ['students', 'alumni']:
from_box = '#id_%s_from' % field_name
to_box = '#id_%s_to' % field_name
- choose_link = 'id_%s_add_link' % field_name
+ choose_link = '#id_%s_add_link' % field_name
+ remove_link = '#id_%s_remove_link' % field_name
input = self.selenium.find_element_by_css_selector('#id_%s_input'
% field_name)
# Initial values
@@ -648,21 +649,40 @@
str(self.cliff.id), str(self.jason.id),
str(self.jenny.id), str(self.john.id)])
+ # -----------------------------------------------------------------
# Check that chosing a filtered option sends it properly to the
# 'to' box.
input.send_keys('a')
self.assertSelectOptions(from_box, [str(self.arthur.id),
str(self.jason.id)])
self.get_select_option(from_box, str(self.jason.id)).click()
- self.selenium.find_element_by_id(choose_link).click()
+ self.selenium.find_element_by_css_selector(choose_link).click()
self.assertSelectOptions(from_box, [str(self.arthur.id)])
+ self.assertSelectOptions(to_box,
+ [str(self.lisa.id), str(self.peter.id),
+ str(self.jason.id)])
+
+ self.get_select_option(to_box, str(self.lisa.id)).click()
+ self.selenium.find_element_by_css_selector(remove_link).click()
+ self.assertSelectOptions(from_box,
+ [str(self.arthur.id), str(self.lisa.id)])
+ self.assertSelectOptions(to_box,
+ [str(self.peter.id), str(self.jason.id)])
+
input.send_keys([Keys.BACK_SPACE]) # Clear text box
self.assertSelectOptions(from_box,
[str(self.arthur.id), str(self.bob.id),
str(self.cliff.id), str(self.jenny.id),
- str(self.john.id)])
+ str(self.john.id), str(self.lisa.id)])
self.assertSelectOptions(to_box,
- [str(self.lisa.id), str(self.peter.id),
- str(self.jason.id)])
+ [str(self.peter.id), str(self.jason.id)])
+ # Save and check that everything is properly stored in the database ---
+ self.selenium.find_element_by_xpath('//input[@value="Save"]').click()
+ self.school = models.School.objects.get(id=self.school.id) # Reload
from database
+ self.assertEqual(list(self.school.students.all()),
+ [self.jason, self.peter])
+ self.assertEqual(list(self.school.alumni.all()),
+ [self.jason, self.peter])
+
class
HorizontalVerticalFilterSeleniumChromeTests(HorizontalVerticalFilterSeleniumFirefoxTests):
webdriver_class = 'selenium.webdriver.chrome.webdriver.WebDriver'
\ No newline at end of file
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/django-updates?hl=en.