summaryrefslogtreecommitdiff
path: root/tests/db_functions
diff options
context:
space:
mode:
authorcan <cansarigol@derinbilgi.com.tr>2019-06-12 16:35:06 +0300
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2019-06-13 09:29:43 +0200
commitfde9b7d35e4e185903cc14aa587ca870037941b1 (patch)
tree6f55b844bc14561603e73e9185bc987466e57cac /tests/db_functions
parent3dca8738cbbbb5674f795169e5ea25e2002f2d71 (diff)
Fixed #30128 -- Fixed handling timedelta timezone in database functions.
Diffstat (limited to 'tests/db_functions')
-rw-r--r--tests/db_functions/datetime/test_extract_trunc.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/tests/db_functions/datetime/test_extract_trunc.py b/tests/db_functions/datetime/test_extract_trunc.py
index 854959aca6..2b7ee5befd 100644
--- a/tests/db_functions/datetime/test_extract_trunc.py
+++ b/tests/db_functions/datetime/test_extract_trunc.py
@@ -1,4 +1,4 @@
-from datetime import datetime, timedelta
+from datetime import datetime, timedelta, timezone as datetime_timezone
import pytz
@@ -988,6 +988,8 @@ class DateFunctionWithTimeZoneTests(DateFunctionTests):
end_datetime = timezone.make_aware(end_datetime, is_dst=False)
self.create_model(start_datetime, end_datetime)
melb = pytz.timezone('Australia/Melbourne')
+ delta_tzinfo_pos = datetime_timezone(timedelta(hours=5))
+ delta_tzinfo_neg = datetime_timezone(timedelta(hours=-5, minutes=17))
qs = DTModel.objects.annotate(
day=Extract('start_datetime', 'day'),
@@ -999,6 +1001,9 @@ class DateFunctionWithTimeZoneTests(DateFunctionTests):
quarter=ExtractQuarter('start_datetime', tzinfo=melb),
hour=ExtractHour('start_datetime'),
hour_melb=ExtractHour('start_datetime', tzinfo=melb),
+ hour_with_delta_pos=ExtractHour('start_datetime', tzinfo=delta_tzinfo_pos),
+ hour_with_delta_neg=ExtractHour('start_datetime', tzinfo=delta_tzinfo_neg),
+ minute_with_delta_neg=ExtractMinute('start_datetime', tzinfo=delta_tzinfo_neg),
).order_by('start_datetime')
utc_model = qs.get()
@@ -1011,6 +1016,9 @@ class DateFunctionWithTimeZoneTests(DateFunctionTests):
self.assertEqual(utc_model.quarter, 2)
self.assertEqual(utc_model.hour, 23)
self.assertEqual(utc_model.hour_melb, 9)
+ self.assertEqual(utc_model.hour_with_delta_pos, 4)
+ self.assertEqual(utc_model.hour_with_delta_neg, 18)
+ self.assertEqual(utc_model.minute_with_delta_neg, 47)
with timezone.override(melb):
melb_model = qs.get()