neo-neo-todo/backend/tests/test_model_member.py
minhtrannhat fbba4d6d43
fix(api): ON DELETE CASCADE for todos
- Delete todos when the user associated with it are deleted
- Updated tests to reflect new changes
2024-03-10 14:43:51 -04:00

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