- Added test code coverage with `pytest-cov` - Added comments for member model functions
42 lines
1.2 KiB
Python
42 lines
1.2 KiB
Python
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
|