diff options
| author | can <cansarigol@derinbilgi.com.tr> | 2019-06-12 16:35:06 +0300 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2019-06-13 09:29:43 +0200 |
| commit | fde9b7d35e4e185903cc14aa587ca870037941b1 (patch) | |
| tree | 6f55b844bc14561603e73e9185bc987466e57cac /tests | |
| parent | 3dca8738cbbbb5674f795169e5ea25e2002f2d71 (diff) | |
Fixed #30128 -- Fixed handling timedelta timezone in database functions.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/db_functions/datetime/test_extract_trunc.py | 10 |
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() |
