test: add UserRole enum tests

This commit is contained in:
danbusse
2026-06-22 22:14:08 -06:00
parent c70276e91f
commit a5945a2022
+35
View File
@@ -0,0 +1,35 @@
"""
Tests for UserRole enum — verifies lowercase member names and values.
"""
import pytest
from app.models.user import UserRole
class TestUserRole:
def test_member_names_are_lowercase(self):
assert UserRole.pending.name == "pending"
assert UserRole.approved.name == "approved"
assert UserRole.admin.name == "admin"
def test_values_are_lowercase(self):
assert UserRole.pending.value == "pending"
assert UserRole.approved.value == "approved"
assert UserRole.admin.value == "admin"
def test_is_str_enum(self):
assert isinstance(UserRole.admin, str)
assert UserRole.admin == "admin"
def test_no_uppercase_members(self):
for member in UserRole:
assert member.name == member.name.lower(), f"Member {member.name} is not lowercase"
assert member.value == member.value.lower(), f"Value {member.value} is not lowercase"
def test_lookup_by_value(self):
assert UserRole("pending") == UserRole.pending
assert UserRole("approved") == UserRole.approved
assert UserRole("admin") == UserRole.admin
def test_invalid_value_raises(self):
with pytest.raises(ValueError):
UserRole("ADMIN")