Add ai generated tests
This commit is contained in:
94
test/test_models.py
Normal file
94
test/test_models.py
Normal file
@@ -0,0 +1,94 @@
|
||||
import pytest
|
||||
from app.model.models import (
|
||||
UserBase, UserResponse, UserCreate, UserDB, UserUpdate,
|
||||
GroupBase, GroupCreate, GroupDB, GroupResponse,
|
||||
AccessAuthorizationBase, AccessAuthorizationCreate,
|
||||
AccessAuthorizationDB, AccessAuthorizationResponse, AccessAuthorizationUpdate,
|
||||
Card, Timetable, TimetableCreate, Token, TokenData, AaGroupLink
|
||||
)
|
||||
|
||||
|
||||
def test_user_models():
|
||||
"""Test user model creation and validation."""
|
||||
# Test UserBase
|
||||
user_base = UserBase(name="Test User", email="test@example.com", is_admin=False)
|
||||
assert user_base.name == "Test User"
|
||||
assert user_base.email == "test@example.com"
|
||||
assert user_base.is_admin is False
|
||||
|
||||
# Test UserCreate
|
||||
user_create = UserCreate(name="New User", email="new@example.com", password="secret123")
|
||||
assert user_create.password == "secret123"
|
||||
|
||||
# Test UserUpdate
|
||||
user_update = UserUpdate(name="Updated Name")
|
||||
assert user_update.name == "Updated Name"
|
||||
assert user_update.email is None
|
||||
|
||||
|
||||
def test_group_models():
|
||||
"""Test group model creation and validation."""
|
||||
# Test GroupBase
|
||||
group_base = GroupBase(name="Test Group")
|
||||
assert group_base.name == "Test Group"
|
||||
|
||||
# Test GroupCreate
|
||||
group_create = GroupCreate(name="New Group")
|
||||
assert group_create.name == "New Group"
|
||||
|
||||
|
||||
def test_access_authorization_models():
|
||||
"""Test access authorization model creation and validation."""
|
||||
# Test AccessAuthorizationBase
|
||||
aa_base = AccessAuthorizationBase(name="Test AA", is_active=True)
|
||||
assert aa_base.name == "Test AA"
|
||||
assert aa_base.is_active is True
|
||||
|
||||
# Test AccessAuthorizationCreate with timetables
|
||||
timetable_create = TimetableCreate(weekday=1, starttime="08:00", duration=60)
|
||||
aa_create = AccessAuthorizationCreate(
|
||||
name="New AA",
|
||||
is_active=False,
|
||||
timetables=[timetable_create]
|
||||
)
|
||||
assert aa_create.name == "New AA"
|
||||
assert aa_create.is_active is False
|
||||
assert len(aa_create.timetables) == 1
|
||||
|
||||
|
||||
def test_card_model():
|
||||
"""Test card model creation and validation."""
|
||||
card = Card(uuid="test-uuid", group_id=1)
|
||||
assert card.uuid == "test-uuid"
|
||||
assert card.group_id == 1
|
||||
|
||||
|
||||
def test_timetable_models():
|
||||
"""Test timetable model creation and validation."""
|
||||
# Test TimetableBase with valid values
|
||||
timetable = TimetableCreate(weekday=1, starttime="09:00", duration=120)
|
||||
assert timetable.weekday == 1
|
||||
assert timetable.starttime == "09:00"
|
||||
assert timetable.duration == 120
|
||||
|
||||
# Test boundary values
|
||||
max_duration = TimetableCreate(weekday=7, starttime="23:59", duration=1439)
|
||||
assert max_duration.duration == 1439
|
||||
assert max_duration.weekday == 7
|
||||
|
||||
|
||||
def test_token_models():
|
||||
"""Test token model creation and validation."""
|
||||
token = Token(access_token="test-token", token_type="bearer")
|
||||
assert token.access_token == "test-token"
|
||||
assert token.token_type == "bearer"
|
||||
|
||||
token_data = TokenData(username="testuser")
|
||||
assert token_data.username == "testuser"
|
||||
|
||||
|
||||
def test_aa_group_link_model():
|
||||
"""Test many-to-many relationship link model."""
|
||||
link = AaGroupLink(group_id=1, accessauth_id=2)
|
||||
assert link.group_id == 1
|
||||
assert link.accessauth_id == 2
|
||||
Reference in New Issue
Block a user