@@ -40,6 +40,7 @@ def test_enqueue_task(self) -> None:
4040 result = default_task_backend .enqueue (task , (1 ,), {"two" : 3 })
4141
4242 self .assertEqual (result .status , ResultStatus .NEW )
43+ self .assertIsNone (result .started_at )
4344 self .assertIsNone (result .finished_at )
4445 with self .assertRaisesMessage (ValueError , "Task has not finished yet" ):
4546 result .result # noqa:B018
@@ -53,6 +54,7 @@ async def test_enqueue_task_async(self) -> None:
5354 result = await default_task_backend .aenqueue (task , [], {})
5455
5556 self .assertEqual (result .status , ResultStatus .NEW )
57+ self .assertIsNone (result .started_at )
5658 self .assertIsNone (result .finished_at )
5759 with self .assertRaisesMessage (ValueError , "Task has not finished yet" ):
5860 result .result # noqa:B018
@@ -82,13 +84,17 @@ def test_refresh_result(self) -> None:
8284 )
8385
8486 DBTaskResult .objects .all ().update (
85- status = ResultStatus .COMPLETE , finished_at = timezone .now ()
87+ status = ResultStatus .COMPLETE ,
88+ started_at = timezone .now (),
89+ finished_at = timezone .now (),
8690 )
8791
8892 self .assertEqual (result .status , ResultStatus .NEW )
93+ self .assertIsNone (result .started_at )
8994 self .assertIsNone (result .finished_at )
9095 with self .assertNumQueries (1 ):
9196 result .refresh ()
97+ self .assertIsNotNone (result .started_at )
9298 self .assertIsNotNone (result .finished_at )
9399 self .assertEqual (result .status , ResultStatus .COMPLETE )
94100
@@ -98,12 +104,16 @@ async def test_refresh_result_async(self) -> None:
98104 )
99105
100106 await DBTaskResult .objects .all ().aupdate (
101- status = ResultStatus .COMPLETE , finished_at = timezone .now ()
107+ status = ResultStatus .COMPLETE ,
108+ started_at = timezone .now (),
109+ finished_at = timezone .now (),
102110 )
103111
104112 self .assertEqual (result .status , ResultStatus .NEW )
113+ self .assertIsNone (result .started_at )
105114 self .assertIsNone (result .finished_at )
106115 await result .arefresh ()
116+ self .assertIsNotNone (result .started_at )
107117 self .assertIsNotNone (result .finished_at )
108118 self .assertEqual (result .status , ResultStatus .COMPLETE )
109119
@@ -226,8 +236,10 @@ def test_run_enqueued_task(self) -> None:
226236
227237 self .assertEqual (result .status , ResultStatus .NEW )
228238 result .refresh ()
239+ self .assertIsNotNone (result .started_at )
229240 self .assertIsNotNone (result .finished_at )
230- self .assertGreaterEqual (result .finished_at , result .enqueued_at )
241+ self .assertGreaterEqual (result .started_at , result .enqueued_at )
242+ self .assertGreaterEqual (result .finished_at , result .started_at )
231243 self .assertEqual (result .status , ResultStatus .COMPLETE )
232244
233245 self .assertEqual (DBTaskResult .objects .ready ().count (), 0 )
@@ -289,8 +301,11 @@ def test_failing_task(self) -> None:
289301
290302 self .assertEqual (result .status , ResultStatus .NEW )
291303 result .refresh ()
304+ self .assertIsNotNone (result .started_at )
292305 self .assertIsNotNone (result .finished_at )
293- self .assertGreaterEqual (result .finished_at , result .enqueued_at ) # type: ignore[arg-type]
306+
307+ self .assertGreaterEqual (result .started_at , result .enqueued_at ) # type: ignore
308+ self .assertGreaterEqual (result .finished_at , result .started_at ) # type: ignore
294309 self .assertEqual (result .status , ResultStatus .FAILED )
295310
296311 self .assertEqual (DBTaskResult .objects .ready ().count (), 0 )
0 commit comments