Справочный документ для UploadedFile .
Ссылка для @ fixture .
Попытка изменить размер файла в тестовом примере.
from django.core.files.uploadedfile import UploadedFile
class Mixin(object):
@fixture
def photo(self):
file_obj = StringIO()
image = Image.new("RGBA", size=(50, 50), color=(256, 0, 0))
image.save(file_obj, "png")
file_obj.seek(0)
return UploadedFile(file_obj, name="test.png", content_type="image/jpg", size=2000000)
Я пытался изменить размер файла для теста
self.photo.size = 10000001
class Test(Mixin):
@fixture
def data(self):
return {"photo": self.photo}
def test_invalid_photo_size(self):
self.photo.size = 10000001
response = self.client.post(reverse("registration_register"), data=self.data)
Но когда я получаю значение для фотографии в форме, я получаю значение, т.е. 144.
self.cleaned_data.get('photo').size
Он должен был вернуть 10000001 как размер в форме. Мне не понятно, почему это происходит? Любой альтернативный способ, кроме создания новой фотографии с нуля.