feat: created product image model

This commit is contained in:
2025-02-18 15:54:02 +01:00
parent cdaeec468a
commit fe4b783658
27 changed files with 644 additions and 563 deletions
+50
View File
@@ -0,0 +1,50 @@
from io import BytesIO
from PIL import Image
from django.core.files.base import ContentFile
from django.test import TestCase
from shop.models import ProductImage
from shop.tests.mixins import CreateProductsMixin
class TestProductImages(TestCase, CreateProductsMixin):
def setUp(self):
self.product = self.create_product()
def create_image_file(self, size=(768, 768)):
image = Image.new("RGB", size, "#ACACAC")
buffer = BytesIO()
image.save(fp=buffer, format="WEBP")
file = ContentFile(buffer.getvalue(), name=f"{self.product.slug}.webp")
return file
def test_product_image_creation(self):
file = self.create_image_file()
image = ProductImage.objects.create(product=self.product, original=file)
xl = Image.open(image.xl)
xl_dark = Image.open(image.xl_dark)
assert (1024, 1024) == xl.size == xl_dark.size
l = Image.open(image.l)
l_dark = Image.open(image.l_dark)
assert (512, 512) == l.size == l_dark.size
m = Image.open(image.m)
m_dark = Image.open(image.m_dark)
assert (256, 256) == m.size == m_dark.size
s = Image.open(image.s)
s_dark = Image.open(image.s_dark)
assert (128, 128) == s.size == s_dark.size
xs = Image.open(image.xs)
xs_dark = Image.open(image.xs_dark)
assert (96, 96) == xs.size == xs_dark.size