feat(api): select member by id + tests
This commit is contained in:
parent
49c83fa287
commit
6bd9657737
@ -31,7 +31,26 @@ async def select_member_by_email(db: AsyncConnectionPool, email: str) -> Member
|
|||||||
|
|
||||||
await curr.execute(query, (email,))
|
await curr.execute(query, (email,))
|
||||||
|
|
||||||
print(query.as_string(conn))
|
member = await curr.fetchone()
|
||||||
|
|
||||||
|
return None if member is None else member
|
||||||
|
|
||||||
|
|
||||||
|
async def select_member_by_id(db: AsyncConnectionPool, id: int) -> Member | None:
|
||||||
|
"""
|
||||||
|
Find exactly one id match in users list in PostgreSQL database
|
||||||
|
"""
|
||||||
|
async with db.connection() as conn:
|
||||||
|
async with conn.cursor(row_factory=class_row(Member)) as curr:
|
||||||
|
query = sql.SQL(
|
||||||
|
"""
|
||||||
|
SELECT id, email, password_hash, created, email_verified
|
||||||
|
FROM members
|
||||||
|
WHERE id = (%s);
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
|
||||||
|
await curr.execute(query, (id,))
|
||||||
|
|
||||||
member = await curr.fetchone()
|
member = await curr.fetchone()
|
||||||
|
|
||||||
|
@ -1,7 +1,13 @@
|
|||||||
from src.neo_neo_todo.models.member import select_member_by_email
|
from src.neo_neo_todo.models.member import select_member_by_email, select_member_by_id
|
||||||
|
|
||||||
|
|
||||||
async def test_model_member(db_pool):
|
async def test_model_member_select_by_email(db_pool):
|
||||||
member = await select_member_by_email(db_pool, "member@todo.test")
|
member = await select_member_by_email(db_pool, "member@todo.test")
|
||||||
assert member is not None
|
assert member is not None
|
||||||
assert member.email == "member@todo.test"
|
assert member.email == "member@todo.test"
|
||||||
|
|
||||||
|
|
||||||
|
async def test_model_member_select_by_id(db_pool):
|
||||||
|
member = await select_member_by_id(db_pool, 1)
|
||||||
|
assert member is not None
|
||||||
|
assert member.id == 1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user