/** * 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); }
/** * Register the service provider. * * @return void */ public function register() { $this->app->bind(ImagickContract::class, function () { return new ImagickAdapter(new Imagick()); }); $this->app->bind(ImagePreProcessor::class, function (Application $app) { $processor = new ImagePreProcessor($app->make(ImagickContract::class)); foreach ($this->transformerClasses as $transformerClass) { $processor->addTransformer($app->make($transformerClass)); } return $processor; }); }