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()
|
member = await curr.fetchone()
|
||||||
|
|
||||||
return None if member is None else member
|
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,
|
insert_member,
|
||||||
select_member_by_email,
|
select_member_by_email,
|
||||||
select_member_by_id,
|
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(
|
await insert_member(
|
||||||
db_pool, "Member_inserted@todo.test", "alkasdjfhasldkfjh12341238989"
|
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