"""Tests for DTOs."""
from gnexus_gauth.dto import AuthenticatedUser
class TestAuthenticatedUser:
def test_avatar_url_from_profile(self) -> None:
user = AuthenticatedUser(
user_id="1",
email="user@example.test",
email_verified=True,
profile={"avatar_url": "https://example.com/avatar.jpg"},
)
assert user.avatar_url == "https://example.com/avatar.jpg"
def test_avatar_url_none_when_missing(self) -> None:
user = AuthenticatedUser(
user_id="1",
email="user@example.test",
email_verified=True,
profile={},
)
assert user.avatar_url is None
def test_avatar_variants_from_profile(self) -> None:
user = AuthenticatedUser(
user_id="1",
email="user@example.test",
email_verified=True,
profile={
"avatar_variants": {
"small": "https://example.com/small.jpg",
"medium": "https://example.com/medium.jpg",
}
},
)
assert user.avatar_variants == {
"small": "https://example.com/small.jpg",
"medium": "https://example.com/medium.jpg",
}
def test_avatar_variants_empty_when_missing(self) -> None:
user = AuthenticatedUser(
user_id="1",
email="user@example.test",
email_verified=True,
profile={},
)
assert user.avatar_variants == {}