/** * @param NewImageEvent $event */ private function transferImageFiles(NewImageEvent $event) { $preProcessed = $this->imagePreProcessor->preProcess($event->image()); /** @var ImagickContract $imagick */ foreach ($preProcessed as $imagick) { $this->publicFilesystem->getDriver()->put("image/{$imagick->getFilename()}", $imagick->getImageBlob(), self::fileConfig()); } }
/** * Should be able to pre-process an image resource into an imagick * container. */ public function testPreProcess() { /** @var Image|MockObject $image */ $image = $this->makeMock(Image::class); /** @var ImageTransformer|MockObject $transformer */ $transformer = $this->makeMock(ImageTransformer::class); $transformer->expects($this->atLeastOnce())->method('applyTo'); $this->imagePreProcessor->addTransformer($transformer); $collection = $this->imagePreProcessor->preProcess($image); $this->assertInstanceOf(ImagickCollection::class, $collection); }