Last active
December 19, 2015 04:39
-
-
Save loic/5899006 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/tests/admin_widgets/tests.py b/tests/admin_widgets/tests.py | |
index 4823883..f175d91 100644 | |
--- a/tests/admin_widgets/tests.py | |
+++ b/tests/admin_widgets/tests.py | |
@@ -1,7 +1,7 @@ | |
# encoding: utf-8 | |
from __future__ import absolute_import, unicode_literals | |
-from datetime import datetime | |
+from datetime import datetime, timedelta, tzinfo | |
from django import forms | |
from django.conf import settings | |
@@ -13,7 +13,7 @@ from django.core.files.uploadedfile import SimpleUploadedFile | |
from django.db.models import CharField, DateField | |
from django.test import TestCase as DjangoTestCase | |
from django.test.utils import override_settings | |
-from django.utils import six | |
+from django.utils import six, timezone | |
from django.utils import translation | |
from django.utils.html import conditional_escape | |
from django.utils.unittest import TestCase | |
@@ -519,6 +519,37 @@ class DateTimePickerSeleniumFirefoxTests(AdminSeleniumWebDriverTestCase): | |
self.assertEqual( | |
self.get_css_value('#clockbox0', 'display'), 'none') | |
+ def test_date_time_picker_timezone(self): | |
+ self.admin_login(username='super', password='secret', login_url='/') | |
+ | |
+ for zone in ['UTC', 'Asia/Singapore']: | |
+ with timezone.override(tzinfo(zone)): | |
+ now = timezone.now() | |
+ error_margin = timedelta(seconds=10) | |
+ | |
+ self.selenium.get('%s%s' % (self.live_server_url, | |
+ '/admin_widgets/member/add/')) | |
+ | |
+ self.selenium.find_element_by_id('id_name').send_keys(zone) | |
+ | |
+ shortcuts = self.selenium.find_elements_by_css_selector( | |
+ '.field-birthdate .datetimeshortcuts') | |
+ | |
+ for shortcut in shortcuts: | |
+ shortcut.find_element_by_tag_name('a').click() | |
+ | |
+ import time | |
+ time.sleep(5) | |
+ | |
+ self.selenium.find_element_by_tag_name('form').submit() | |
+ | |
+ self.wait_page_loaded() | |
+ | |
+ member = models.Member.objects.get(name=zone) | |
+ self.assertGreater(member.birthdate, now - error_margin) | |
+ self.assertLess(member.birthdate, now + error_margin) | |
+ member.delete() | |
+ | |
class DateTimePickerSeleniumChromeTests(DateTimePickerSeleniumFirefoxTests): | |
webdriver_class = 'selenium.webdriver.chrome.webdriver.WebDriver' | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment