import asyncio from src.neo_neo_todo.models.todo import select_todo, select_todos async def test_model_todo_select_todos(db_pool): todos_list_all = await select_todos(db_pool, 1) assert len(todos_list_all) == 3 todos_list_completed_false = await select_todos(db_pool, 1, False) assert len(todos_list_completed_false) == 3 todos_list_completed_true = await select_todos(db_pool, 1, True) assert len(todos_list_completed_true) == 0 todos_list_non_existent_member_id = await select_todos(db_pool, 12341234) assert len(todos_list_non_existent_member_id) == 0 async def test_model_todo_select_todo(db_pool): todo_queries = [ select_todo(db_pool, member_id=1, id=1), select_todo(db_pool, member_id=1, id=2), select_todo(db_pool, member_id=1, id=3), ] # Now you can await all the select_todo calls todos = await asyncio.gather(*todo_queries) for i in range(len(todos)): assert todos[i] is not None assert todos[i].id == (i + 1) # type: ignore assert not todos[i].complete # type: ignore non_existent_member_id_todo = await select_todo(db_pool, member_id=1234123, id=1) assert non_existent_member_id_todo is None