neo-neo-todo/backend/tests/test_model_member.py

66 lines
1.8 KiB
Python

import pytest
from psycopg.errors import UniqueViolation
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,
)
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 == 2
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