@@ -214,6 +214,31 @@ async def test_on_list_tasks_error(self) -> None:
214214 self .assertTrue (is_error_response (response ))
215215 self .assertEqual (response ['error' ]['message' ], 'DB down' )
216216
217+ async def test_on_list_tasks_empty (self ) -> None :
218+ request_handler = AsyncMock (spec = DefaultRequestHandler )
219+ handler = JSONRPCHandler (self .mock_agent_card , request_handler )
220+
221+ mock_result = ListTasksResponse (page_size = 10 )
222+ request_handler .on_list_tasks .return_value = mock_result
223+ from a2a .types .a2a_pb2 import ListTasksRequest
224+
225+ request = ListTasksRequest (page_size = 10 )
226+ call_context = ServerCallContext (state = {'foo' : 'bar' })
227+
228+ response = await handler .list_tasks (request , call_context )
229+
230+ request_handler .on_list_tasks .assert_awaited_once ()
231+ self .assertIsInstance (response , dict )
232+ self .assertTrue (is_success_response (response ))
233+ self .assertIn ('tasks' , response ['result' ])
234+ self .assertEqual (len (response ['result' ]['tasks' ]), 0 )
235+ self .assertIn ('nextPageToken' , response ['result' ])
236+ self .assertEqual (response ['result' ]['nextPageToken' ], '' )
237+ self .assertIn ('pageSize' , response ['result' ])
238+ self .assertEqual (response ['result' ]['pageSize' ], 10 )
239+ self .assertIn ('totalSize' , response ['result' ])
240+ self .assertEqual (response ['result' ]['totalSize' ], 0 )
241+
217242 async def test_on_cancel_task_success (self ) -> None :
218243 mock_agent_executor = AsyncMock (spec = AgentExecutor )
219244 mock_task_store = AsyncMock (spec = TaskStore )
0 commit comments