def test_pre_save(self, filename, is_existing_file, mock_validate_size, mock_validate_type): """ Ensure that image validation and resizing take place only when a new file is being stored. """ # pylint: disable=too-many-function-args field_value = ResizingImageFieldFile(self.model_instance, self.field, filename) self.model_instance.resized_image = field_value self.field.attname = 'resized_image' self.field.name = 'resized_image' with mock.patch(PATCH_MODULE + '.ResizingImageFieldFile.create_resized_copies' ) as mock_resize: # actual file data is needed for this test to work with make_uploaded_file('image/jpeg', (1000, 1000)) as image_file: if filename: field_value.file = image_file field_value._committed = is_existing_file # pylint: disable=protected-access self.field.pre_save(self.model_instance, False) expected_called = bool(filename) and not is_existing_file for actual_called in (mock_validate_size.called, mock_validate_type.called, mock_resize.called): self.assertEqual(actual_called, expected_called)
def test_pre_save(self, filename, is_existing_file, mock_validate_size, mock_validate_type): """ Ensure that image validation and resizing take place only when a new file is being stored. """ # pylint: disable=too-many-function-args field_value = ResizingImageFieldFile(self.model_instance, self.field, filename) self.model_instance.resized_image = field_value self.field.attname = 'resized_image' self.field.name = 'resized_image' with mock.patch(PATCH_MODULE + '.ResizingImageFieldFile.create_resized_copies') as mock_resize: # actual file data is needed for this test to work with make_uploaded_file('image/jpeg', (1000, 1000)) as image_file: if filename: field_value.file = image_file field_value._committed = is_existing_file # pylint: disable=protected-access self.field.pre_save(self.model_instance, False) expected_called = bool(filename) and not is_existing_file for actual_called in (mock_validate_size.called, mock_validate_type.called, mock_resize.called): self.assertEqual(actual_called, expected_called)