from io import BytesIO import pytest from src.backend.logic.reporting.report import models class TestImageData: _class = models.ImageData def test_init(self): test_image = BytesIO(b"image") data = self._class( top_artist_image=test_image, ) assert data.top_artist_image == test_image @pytest.mark.parametrize("image", [b"image", BytesIO(b"image"), None]) def test_post_init_convert_webp_to_png(self, mocker, image): mocker.patch.object(models.images, "is_webp", return_value=True) mocker_convert_to_png = mocker.patch.object( models.images, "convert_to_png", return_value=b"png" ) self._class(top_artist_image=image) assert mocker_convert_to_png.called is bool(image is not None)