- Delete todos when the user associated with it are deleted - Updated tests to reflect new changes
77 lines
2.1 KiB
Python
77 lines
2.1 KiB
Python
import pytest
|
|
from psycopg.errors import UniqueViolation
|
|
|
|
from src.neo_neo_todo.models.member import (
|
|
delete_member,
|
|
insert_member,
|
|
select_member_by_email,
|
|
select_member_by_id,
|
|
update_member_email_verified,
|
|
update_member_password,
|
|
)
|
|
|
|
|
|
async def test_model_member_select_by_email(db_pool):
|
|
member = await select_member_by_email(db_pool, "member@todo.test")
|
|
assert member is not None
|
|
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
|
|
|
|
|
|
async def test_model_member_insert(db_pool):
|
|
member = await insert_member(
|
|
db_pool, "member_inserted@todo.test", "alkasdjfhasldkfjh12341238989"
|
|
)
|
|
assert member is not None
|
|
assert member.id == 3
|
|
assert member.email == "member_inserted@todo.test"
|
|
assert member.password_hash == "alkasdjfhasldkfjh12341238989"
|
|
|
|
with pytest.raises(UniqueViolation):
|
|
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
|
|
|
|
|
|
async def test_model_member_delete_member(db_pool):
|
|
deletion_success = await delete_member(db_pool, id=2)
|
|
|
|
assert deletion_success
|
|
|
|
deletion_fail = await delete_member(db_pool, id=99)
|
|
|
|
assert not deletion_fail
|