feat: created product image model
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user