feat(api+testing): update member password and email verfied

This commit is contained in:
minhtrannhat 2024-03-02 16:18:32 -05:00
parent b53761a4dd
commit 1a6469efa5
Signed by: minhtrannhat
GPG Key ID: E13CFA85C53F8062
2 changed files with 71 additions and 0 deletions

View File

@ -86,3 +86,44 @@ async def insert_member(
member = await curr.fetchone()
return None if member is None else member
async def update_member_password(
db: AsyncConnectionPool, id: int, password_hash: str
) -> bool:
async with db.connection() as conn:
async with conn.cursor(row_factory=class_row(Member)) as curr:
query = sql.SQL(
"""
UPDATE members
SET password_hash = (%s)
WHERE id = (%s)
"""
)
await curr.execute(
query,
(
password_hash,
id,
),
)
return curr.rowcount > 0
async def update_member_email_verified(db: AsyncConnectionPool, id: int) -> bool:
async with db.connection() as conn:
async with conn.cursor(row_factory=class_row(Member)) as curr:
query = sql.SQL(
"""
UPDATE members SET email_verified = now() WHERE id = (%s)
"""
)
await curr.execute(
query,
(id,),
)
return curr.rowcount > 0

View File

@ -5,6 +5,8 @@ from src.neo_neo_todo.models.member import (
insert_member,
select_member_by_email,
select_member_by_id,
update_member_email_verified,
update_member_password,
)
@ -33,3 +35,31 @@ async def test_model_member_insert(db_pool):
await insert_member(
db_pool, "Member_inserted@todo.test", "alkasdjfhasldkfjh12341238989"
)
async def test_model_member_update_password(db_pool):
update_password_success = await update_member_password(
db_pool, 1, "1234l1k2j34h97qsdhfasdjfh1923h4"
)
assert update_password_success is True
update_password_fail = await update_member_password(
db_pool, 91203491234, "1234l1k2j34h97qsdhfasdjfh1923h4"
)
assert update_password_fail is False
async def test_model_member_email_verified(db_pool):
update_member_email_verified_success = await update_member_email_verified(
db_pool, 1
)
assert update_member_email_verified_success is True
update_member_email_verified_fail = await update_member_email_verified(
db_pool, 12341234918
)
assert update_member_email_verified_fail is False