function it_logs_an_error_if_any_of_the_image_uploads_fails(ImageProvider $imageProvider, Logger $logger, Synchronizable $image1, Synchronizable $image2) { $image1->getFilename()->willReturn('/z/b/image1.jpg'); $image2->getFilename()->willReturn('/invalid'); $exception = new \Exception('Invalid file'); $images = array($image1, $image2); $imageProvider->upload(Image::fromPath('/catalog/media/invalid'))->willThrow($exception); $imageProvider->upload(Image::fromPath('/catalog/media/z/b/image1.jpg'))->shouldBeCalled(); $this->uploadImages($images); $image1->tagAsSynchronized()->shouldHaveBeenCalled(); $image2->tagAsSynchronized()->shouldNotHaveBeenCalled(); $logger->error(sprintf(BatchUploader::MESSAGE_UPLOAD_ERROR, $exception->getMessage(), '/invalid'))->shouldHaveBeenCalled(); $logger->notice(sprintf(BatchUploader::MESSAGE_STATUS, 1))->shouldHaveBeenCalled(); }