"""Unit tests for User model.""" import pytest from datetime import datetime from app.models.user import User, UserRole class TestUserModel: """Test cases for User model.""" def test_user_creation(self): """Test creating a user instance.""" user = User( username="testuser", email="test@example.com", hashed_password="hashed_password", role=UserRole.LAWYER, ) assert user.username == "testuser" assert user.email == "test@example.com" assert user.hashed_password == "hashed_password" assert user.role == UserRole.LAWYER assert user.is_active is True def test_user_role_enum(self): """Test user role enum values.""" assert UserRole.ADMIN.value == "admin" assert UserRole.LAWYER.value == "lawyer" assert UserRole.REVIEWER.value == "reviewer" assert UserRole.CLIENT.value == "client" def test_user_default_values(self): """Test user default values.""" user = User( username="testuser", email="test@example.com", hashed_password="hashed_password", ) assert user.role == UserRole.CLIENT assert user.is_active is True def test_user_repr(self): """Test user string representation.""" user = User( username="testuser", email="test@example.com", hashed_password="hashed_password", ) assert "testuser" in repr(user)