neo-neo-todo/backend/tests/test_model_todo.py
minhtrannhat 60b6babc15
feat(api+testing): select todo by member_id and id
- Added test code coverage with `pytest-cov`
- Added comments for member model functions
2024-03-03 00:57:14 -05:00

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