-
Notifications
You must be signed in to change notification settings - Fork 52
/
Copy pathtest_utils.py
40 lines (31 loc) · 1.4 KB
/
test_utils.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
from sqlalchemy.orm import Session
from app.database.models import User
from app.internal import utils
class TestUtils:
def test_save_success(self, user: User, session: Session) -> None:
user.username = 'edit_username'
assert utils.save(session, user)
def test_save_failure(self, session: Session) -> None:
user = 'not a user instance'
assert not utils.save(session, user)
def test_create_model(self, session: Session) -> None:
assert session.query(User).first() is None
info = {
'username': 'test',
'email': '[email protected]',
'password': 'test1234'
}
utils.create_model(session, User, **info)
assert session.query(User).first()
def test_delete_instance(self, session: Session, user: User):
assert session.query(User).first()
utils.delete_instance(session, user)
assert session.query(User).first() is None
def test_get_current_user(self, session: Session) -> None:
# Code revision required after user login feature is added
assert session.query(User).filter_by(id=1).first() is None
utils.get_current_user(session)
assert session.query(User).filter_by(id=1).first()
def test_get_user(self, user: User, session: Session) -> None:
assert utils.get_user(session, user.id) == user
assert utils.get_user(session, 2) is None