feat(api+testing): update member password and email verfied
This commit is contained in:
parent
b53761a4dd
commit
1a6469efa5
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user