async def METHOD_NAME(
    client_with_task_context: TestClient,
    start_long_running_task: Callable[[TestClient], Awaitable[TaskId]],
    task_context: TaskContext,
    wait_for_task: Callable[[TestClient, TaskId, TaskContext], Awaitable[None]],
):
    assert client_with_task_context.app
    task_id = await start_long_running_task(client_with_task_context)
    await wait_for_task(client_with_task_context, task_id, task_context)
    # calling without Task context should find nothing
    result_url = client_with_task_context.app.router["get_task_result"].url_for(
        task_id=task_id
    )
    resp = await client_with_task_context.get(f"{result_url}")
    await assert_status(resp, web.HTTPNotFound)
    # calling with context should find the task
    resp = await client_with_task_context.get(f"{result_url.with_query(task_context)}")
    await assert_status(resp, web.HTTPCreated)