"""
:Copyright: 2014-2025 Jochen Kupperschmidt
:License: Revised BSD (see `LICENSE` file for details)
"""
from datetime import datetime
import pytest
from byceps.services.user.dbmodels.avatar import DbUserAvatar
from byceps.util.image.image_type import ImageType
@pytest.mark.parametrize(
('database_value', 'expected'),
[
('gif', ImageType.gif),
('jpeg', ImageType.jpeg),
('png', ImageType.png),
('webp', ImageType.webp),
],
)
def test_hybrid_image_type_getter(database_value, expected):
avatar = create_avatar()
avatar._image_type = database_value
assert avatar.image_type == expected
@pytest.mark.parametrize(
('image_type', 'expected'),
[
(ImageType.gif, 'gif'),
(ImageType.jpeg, 'jpeg'),
(ImageType.png, 'png'),
(ImageType.webp, 'webp'),
],
)
def test_hybrid_image_type_setter(image_type, expected):
avatar = create_avatar()
avatar.image_type = image_type
assert avatar._image_type == expected
# helpers
def create_avatar() -> DbUserAvatar:
created_at = datetime.utcnow()
return DbUserAvatar(created_at, ImageType.jpeg)