Skip to content

Commit 97c617c

Browse files
committed
Add comments to tests
1 parent ac2d548 commit 97c617c

File tree

1 file changed

+26
-2
lines changed

1 file changed

+26
-2
lines changed

tests/test_time.py

+26-2
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ class PostDatetime(BaseModel):
2727
return PostDatetime
2828

2929

30+
# TODO: code duplication
3031
@py_test_mark_asyncio
3132
async def test_datetime(post_model_datetime):
3233
now = datetime.datetime(1980, 1, 1, hour=2, second=20, tzinfo=datetime.timezone.utc)
@@ -35,6 +36,7 @@ async def test_datetime(post_model_datetime):
3536

3637
next_hour_timezone = datetime.timezone(datetime.timedelta(hours=1))
3738
now_01_00 = now.replace(hour=3, tzinfo=next_hour_timezone)
39+
# Sanity check
3840
assert now == now_01_00
3941

4042
posts = [
@@ -46,20 +48,25 @@ async def test_datetime(post_model_datetime):
4648

4749
expected_sorted_posts = sorted(posts, key=attrgetter("created"))
4850

51+
# Check all
4952
assert (
5053
await post_model_datetime.find().sort_by("created").all()
5154
== expected_sorted_posts
5255
)
56+
# Check one
5357
assert await post_model_datetime.find(post_model_datetime.created == now).all() == [
5458
posts[0]
5559
]
60+
# Check one using different timezone but the same time
5661
assert await post_model_datetime.find(
5762
post_model_datetime.created == now_01_00
5863
).all() == [posts[0]]
5964

65+
# Check one
6066
post = await post_model_datetime.find(post_model_datetime.created == now).first()
6167
assert post.created == now == now_01_00
6268

69+
# Check index comparison
6370
assert (
6471
await post_model_datetime.find(post_model_datetime.created < now_p10)
6572
.sort_by("created")
@@ -96,6 +103,7 @@ class PostDate(BaseModel):
96103
return PostDate
97104

98105

106+
# TODO: code duplication
99107
@py_test_mark_asyncio
100108
async def test_date(post_model_date):
101109
now = datetime.date(1980, 1, 2)
@@ -110,13 +118,16 @@ async def test_date(post_model_date):
110118

111119
expected_sorted_posts = sorted(posts, key=attrgetter("created"))
112120

121+
# Check all
113122
assert (
114123
await post_model_date.find().sort_by("created").all() == expected_sorted_posts
115124
)
125+
# Check one
116126
assert await post_model_date.find(post_model_date.created == now).all() == [
117127
posts[0]
118128
]
119129

130+
# Check index comparison
120131
assert (
121132
await post_model_date.find(post_model_date.created < now_next)
122133
.sort_by("created")
@@ -171,6 +182,7 @@ def time_validator(cls, value):
171182
return PostTime
172183

173184

185+
# TODO: code duplication
174186
@py_test_mark_asyncio
175187
async def test_time(post_model_time):
176188
now = datetime.time(hour=2, second=20, tzinfo=datetime.timezone.utc)
@@ -179,6 +191,7 @@ async def test_time(post_model_time):
179191

180192
next_hour_timezone = datetime.timezone(datetime.timedelta(hours=1))
181193
now_01_00 = now.replace(hour=3, tzinfo=next_hour_timezone)
194+
# Sanity check
182195
assert now == now_01_00
183196

184197
posts = [
@@ -189,19 +202,24 @@ async def test_time(post_model_time):
189202

190203
expected_sorted_posts = sorted(posts, key=attrgetter("created"))
191204

205+
# Check all
192206
assert (
193207
await post_model_time.find().sort_by("created").all() == expected_sorted_posts
194208
)
209+
# Check one
195210
assert await post_model_time.find(post_model_time.created == now).all() == [
196211
posts[0]
197212
]
213+
# Check one using different timezone but the same time
198214
assert await post_model_time.find(post_model_time.created == now_01_00).all() == [
199215
posts[0]
200216
]
201217

218+
# Check one
202219
post = await post_model_time.find(post_model_time.created == now).first()
203220
assert post.created == now == now_01_00
204221

222+
# Check index comparison
205223
assert (
206224
await post_model_time.find(post_model_time.created < now_p10)
207225
.sort_by("created")
@@ -225,9 +243,10 @@ async def test_time(post_model_time):
225243
@pytest.fixture(
226244
params=[
227245
datetime.timezone.utc,
228-
datetime.timezone(datetime.timedelta(hours=1)),
246+
datetime.timezone(datetime.timedelta(hours=2)),
247+
datetime.timezone(datetime.timedelta(hours=-5)),
229248
],
230-
ids=["UTC", "UTC+1"],
249+
ids=["UTC", "UTC+2", "UTC-5"],
231250
)
232251
def timezone(request):
233252
return request.param
@@ -238,18 +257,22 @@ async def test_mixing(post_model_time, post_model_date, post_model_datetime, tim
238257
now = datetime.datetime(1980, 1, 1, hour=2, second=20, tzinfo=timezone)
239258
now_date, now_time = now.date(), now.time().replace(tzinfo=timezone)
240259

260+
# Serialize + Deserialize datetime.datetime
241261
await post_model_datetime(created=now).save()
242262
obj = await post_model_datetime.find().first()
243263
assert obj.created == now
244264

265+
# Serialize + Deserialize datetime.date
245266
await post_model_date(created=now_date).save()
246267
obj_date = await post_model_date.find().first()
247268
assert obj_date.created == now_date
248269

270+
# Serialize + Deserialize datetime.time
249271
await post_model_time(created=now_time).save()
250272
obj_time = await post_model_time.find().first()
251273
assert obj_time.created == now_time
252274

275+
# Combine deserialized and compare to expected
253276
restored = datetime.datetime.combine(obj_date.created, obj_time.created)
254277
assert restored == now
255278

@@ -259,6 +282,7 @@ async def test_precision(post_model_datetime):
259282
now = datetime.datetime(
260283
1980, 1, 1, hour=2, second=20, microsecond=123457, tzinfo=datetime.timezone.utc
261284
)
285+
# Serialize + Deserialize datetime.datetime
262286
await post_model_datetime(created=now).save()
263287
obj = await post_model_datetime.find().first()
264288
obj_now = obj.created

0 commit comments

Comments
 (0)