summaryrefslogtreecommitdiff
path: root/tests/admin_widgets/tests.py
diff options
context:
space:
mode:
authorAkshesh <aksheshdoshi@gmail.com>2016-02-07 07:54:36 +0530
committerSimon Charette <charette.s@gmail.com>2016-03-15 13:10:32 -0400
commit44c0ecdd9226d039a8c666b36ae320af2046a1c1 (patch)
tree0bb97b72359a18c7f1ef39ebd9239ef5ee62dc5f /tests/admin_widgets/tests.py
parent93a135d111c2569d88d65a3f4ad9e6d9ad291452 (diff)
downloaddjango-44c0ecdd9226d039a8c666b36ae320af2046a1c1.tar.gz
Fixed #25364 -- Added generic way to test on all browsers supported by selenium.
Browser names should be passed as a comma separated list to the --selenium flag. Thanks Tim Graham, Simon Charette and Moritz Sichert for review and discussion.
Diffstat (limited to 'tests/admin_widgets/tests.py')
-rw-r--r--tests/admin_widgets/tests.py94
1 files changed, 17 insertions, 77 deletions
diff --git a/tests/admin_widgets/tests.py b/tests/admin_widgets/tests.py
index 3258fdbba1..18d3f7b7e1 100644
--- a/tests/admin_widgets/tests.py
+++ b/tests/admin_widgets/tests.py
@@ -11,7 +11,7 @@ from django import forms
from django.conf import settings
from django.contrib import admin
from django.contrib.admin import widgets
-from django.contrib.admin.tests import AdminSeleniumWebDriverTestCase
+from django.contrib.admin.tests import AdminSeleniumTestCase
from django.contrib.auth.models import User
from django.core.files.storage import default_storage
from django.core.files.uploadedfile import SimpleUploadedFile
@@ -39,11 +39,6 @@ class TestDataMixin(object):
models.Car.objects.create(owner=cls.u2, make='BMW', model='M3')
-class SeleniumDataMixin(object):
- def setUp(self):
- self.u1 = User.objects.create_superuser(username='super', password='secret', email='super@example.com')
-
-
class AdminFormfieldForDBFieldTests(SimpleTestCase):
"""
Tests for correct behavior of ModelAdmin.formfield_for_dbfield
@@ -619,10 +614,15 @@ class RelatedFieldWidgetWrapperTests(SimpleTestCase):
@override_settings(ROOT_URLCONF='admin_widgets.urls')
-class DateTimePickerSeleniumFirefoxTests(SeleniumDataMixin, AdminSeleniumWebDriverTestCase):
+class AdminWidgetSeleniumTestCase(AdminSeleniumTestCase):
+
+ available_apps = ['admin_widgets'] + AdminSeleniumTestCase.available_apps
+
+ def setUp(self):
+ self.u1 = User.objects.create_superuser(username='super', password='secret', email='super@example.com')
- available_apps = ['admin_widgets'] + AdminSeleniumWebDriverTestCase.available_apps
- webdriver_class = 'selenium.webdriver.firefox.webdriver.WebDriver'
+
+class DateTimePickerSeleniumTests(AdminWidgetSeleniumTestCase):
def test_show_hide_date_time_picker_widgets(self):
"""
@@ -786,19 +786,9 @@ class DateTimePickerSeleniumFirefoxTests(SeleniumDataMixin, AdminSeleniumWebDriv
self.wait_for_text('#calendarin0 caption', expected_caption)
-class DateTimePickerSeleniumChromeTests(DateTimePickerSeleniumFirefoxTests):
- webdriver_class = 'selenium.webdriver.chrome.webdriver.WebDriver'
-
-
-class DateTimePickerSeleniumIETests(DateTimePickerSeleniumFirefoxTests):
- webdriver_class = 'selenium.webdriver.ie.webdriver.WebDriver'
-
-
@skipIf(pytz is None, "this test requires pytz")
-@override_settings(ROOT_URLCONF='admin_widgets.urls', TIME_ZONE='Asia/Singapore')
-class DateTimePickerShortcutsSeleniumFirefoxTests(SeleniumDataMixin, AdminSeleniumWebDriverTestCase):
- available_apps = ['admin_widgets'] + AdminSeleniumWebDriverTestCase.available_apps
- webdriver_class = 'selenium.webdriver.firefox.webdriver.WebDriver'
+@override_settings(TIME_ZONE='Asia/Singapore')
+class DateTimePickerShortcutsSeleniumTests(AdminWidgetSeleniumTestCase):
def test_date_time_picker_shortcuts(self):
"""
@@ -853,37 +843,17 @@ class DateTimePickerShortcutsSeleniumFirefoxTests(SeleniumDataMixin, AdminSeleni
self.assertLess(member.birthdate, now + error_margin)
-class DateTimePickerShortcutsSeleniumChromeTests(DateTimePickerShortcutsSeleniumFirefoxTests):
- webdriver_class = 'selenium.webdriver.chrome.webdriver.WebDriver'
-
-
-class DateTimePickerShortcutsSeleniumIETests(DateTimePickerShortcutsSeleniumFirefoxTests):
- webdriver_class = 'selenium.webdriver.ie.webdriver.WebDriver'
-
-
# The above tests run with Asia/Singapore which are on the positive side of
# UTC. Here we test with a timezone on the negative side.
@override_settings(TIME_ZONE='US/Eastern')
-class DateTimePickerAltTimezoneSeleniumFirefoxTests(DateTimePickerShortcutsSeleniumFirefoxTests):
+class DateTimePickerAltTimezoneSeleniumTests(DateTimePickerShortcutsSeleniumTests):
pass
-class DateTimePickerAltTimezoneSeleniumChromeTests(DateTimePickerAltTimezoneSeleniumFirefoxTests):
- webdriver_class = 'selenium.webdriver.chrome.webdriver.WebDriver'
-
-
-class DateTimePickerAltTimezoneSeleniumIETests(DateTimePickerAltTimezoneSeleniumFirefoxTests):
- webdriver_class = 'selenium.webdriver.ie.webdriver.WebDriver'
-
-
-@override_settings(ROOT_URLCONF='admin_widgets.urls')
-class HorizontalVerticalFilterSeleniumFirefoxTests(SeleniumDataMixin, AdminSeleniumWebDriverTestCase):
-
- available_apps = ['admin_widgets'] + AdminSeleniumWebDriverTestCase.available_apps
- webdriver_class = 'selenium.webdriver.firefox.webdriver.WebDriver'
+class HorizontalVerticalFilterSeleniumTests(AdminWidgetSeleniumTestCase):
def setUp(self):
- super(HorizontalVerticalFilterSeleniumFirefoxTests, self).setUp()
+ super(HorizontalVerticalFilterSeleniumTests, self).setUp()
self.lisa = models.Student.objects.create(name='Lisa')
self.john = models.Student.objects.create(name='John')
self.bob = models.Student.objects.create(name='Bob')
@@ -1168,21 +1138,10 @@ class HorizontalVerticalFilterSeleniumFirefoxTests(SeleniumDataMixin, AdminSelen
self.assertEqual(options_len, 2)
-class HorizontalVerticalFilterSeleniumChromeTests(HorizontalVerticalFilterSeleniumFirefoxTests):
- webdriver_class = 'selenium.webdriver.chrome.webdriver.WebDriver'
-
-
-class HorizontalVerticalFilterSeleniumIETests(HorizontalVerticalFilterSeleniumFirefoxTests):
- webdriver_class = 'selenium.webdriver.ie.webdriver.WebDriver'
-
-
-@override_settings(ROOT_URLCONF='admin_widgets.urls')
-class AdminRawIdWidgetSeleniumFirefoxTests(SeleniumDataMixin, AdminSeleniumWebDriverTestCase):
- available_apps = ['admin_widgets'] + AdminSeleniumWebDriverTestCase.available_apps
- webdriver_class = 'selenium.webdriver.firefox.webdriver.WebDriver'
+class AdminRawIdWidgetSeleniumTests(AdminWidgetSeleniumTestCase):
def setUp(self):
- super(AdminRawIdWidgetSeleniumFirefoxTests, self).setUp()
+ super(AdminRawIdWidgetSeleniumTests, self).setUp()
models.Band.objects.create(id=42, name='Bogey Blues')
models.Band.objects.create(id=98, name='Green Potatoes')
@@ -1263,18 +1222,7 @@ class AdminRawIdWidgetSeleniumFirefoxTests(SeleniumDataMixin, AdminSeleniumWebDr
self.wait_for_value('#id_supporting_bands', '42,98')
-class AdminRawIdWidgetSeleniumChromeTests(AdminRawIdWidgetSeleniumFirefoxTests):
- webdriver_class = 'selenium.webdriver.chrome.webdriver.WebDriver'
-
-
-class AdminRawIdWidgetSeleniumIETests(AdminRawIdWidgetSeleniumFirefoxTests):
- webdriver_class = 'selenium.webdriver.ie.webdriver.WebDriver'
-
-
-@override_settings(ROOT_URLCONF='admin_widgets.urls')
-class RelatedFieldWidgetSeleniumFirefoxTests(SeleniumDataMixin, AdminSeleniumWebDriverTestCase):
- available_apps = ['admin_widgets'] + AdminSeleniumWebDriverTestCase.available_apps
- webdriver_class = 'selenium.webdriver.firefox.webdriver.WebDriver'
+class RelatedFieldWidgetSeleniumTests(AdminWidgetSeleniumTestCase):
def test_ForeignKey_using_to_field(self):
self.admin_login(username='super', password='secret', login_url='/')
@@ -1321,11 +1269,3 @@ class RelatedFieldWidgetSeleniumFirefoxTests(SeleniumDataMixin, AdminSeleniumWeb
profiles = models.Profile.objects.all()
self.assertEqual(len(profiles), 1)
self.assertEqual(profiles[0].user.username, username_value)
-
-
-class RelatedFieldWidgetSeleniumChromeTests(RelatedFieldWidgetSeleniumFirefoxTests):
- webdriver_class = 'selenium.webdriver.chrome.webdriver.WebDriver'
-
-
-class RelatedFieldWidgetSeleniumIETests(RelatedFieldWidgetSeleniumFirefoxTests):
- webdriver_class = 'selenium.webdriver.ie.webdriver.WebDriver'