|
7 | 7 | # |
8 | 8 |
|
9 | 9 | import datetime |
| 10 | +import zoneinfo |
10 | 11 | from unittest.util import safe_repr |
11 | 12 |
|
12 | 13 | from django.contrib.contenttypes.models import ContentType |
@@ -782,8 +783,27 @@ def test_get_coerced_value(self): |
782 | 783 | lookup="exact", |
783 | 784 | value="True", |
784 | 785 | ) |
| 786 | + self.assertEqual(True, f.get_coerced_value(f.value)) |
785 | 787 |
|
786 | | - expected = True |
| 788 | + def test_get_coerced_value_date_field(self): |
| 789 | + query = Query.objects.create( |
| 790 | + dataspace=self.dataspace, |
| 791 | + name="Date", |
| 792 | + content_type=self.license_ct, |
| 793 | + operator="and", |
| 794 | + ) |
| 795 | + f = Filter.objects.create( |
| 796 | + dataspace=self.dataspace, |
| 797 | + query=query, |
| 798 | + field_name="last_modified_date", |
| 799 | + lookup="gte", |
| 800 | + value="2025-01-01", |
| 801 | + ) |
| 802 | + expected = datetime.datetime(2025, 1, 1, 0, 0, tzinfo=zoneinfo.ZoneInfo(key="UTC")) |
| 803 | + self.assertEqual(expected, f.get_coerced_value(f.value)) |
| 804 | + |
| 805 | + f.update(value="2025-01-01 14:30:00") |
| 806 | + expected = datetime.datetime(2025, 1, 1, 14, 30, tzinfo=zoneinfo.ZoneInfo(key="UTC")) |
787 | 807 | self.assertEqual(expected, f.get_coerced_value(f.value)) |
788 | 808 |
|
789 | 809 | def test_get_coerced_value_validation_from_model_validators(self): |
@@ -905,12 +925,9 @@ def test_get_q_for_date_field_filter(self): |
905 | 925 |
|
906 | 926 | today = DateFieldFilterSelect._get_today() |
907 | 927 | past_7_days = today - datetime.timedelta(days=7) |
908 | | - self.assertEqual([("last_modified_date__gte", str(past_7_days))], f.get_q().children) |
909 | | - |
910 | | - self.assertEqual([("last_modified_date__gte", str(today))], f.get_q("today").children) |
911 | | - |
912 | | - with self.assertRaises(ValidationError): |
913 | | - f.get_q("invalid").children |
| 928 | + self.assertEqual([("last_modified_date__gte", past_7_days)], f.get_q().children) |
| 929 | + self.assertEqual([("last_modified_date__gte", today)], f.get_q("today").children) |
| 930 | + self.assertEqual([("last_modified_date__gte", None)], f.get_q("invalid").children) |
914 | 931 |
|
915 | 932 | def test_get_q_for_boolean_select_all_choice_value(self): |
916 | 933 | query = Query.objects.create( |
|
0 commit comments