/** * @covers ::onDispatchError */ public function testOnDispatchErrorStoreAndStreamImage() { $id = 'someId'; $resource = 'someResource'; $this->event->setError(Application::ERROR_ROUTER_NO_MATCH); $image = $this->getMockBuilder(ImageEntity::class)->setMethods(['getLength', 'getResource'])->getMock(); $image->setId($id); $image->setType('image/jpeg'); $image->setName('image.jpg'); $image->method('getLength')->willReturn(1024); $image->method('getResource')->willReturn($resource); $this->manager->expects($this->once())->method('matchUri')->willReturn($id); $this->repository->expects($this->once())->method('find')->with($this->equalTo($id))->willReturn($image); $this->manager->expects($this->once())->method('store')->with($this->identicalTo($image)); $this->listener->onDispatchError($this->event); $response = $this->event->getResponse(); $this->assertInstanceOf(Stream::class, $response); $this->assertEquals(Response::STATUS_CODE_200, $response->getStatusCode()); $this->assertEquals($image->getName(), $response->getStreamName()); $this->assertEquals($image->getResource(), $response->getStream()); $headers = $response->getHeaders(); $this->assertInstanceOf(Headers::class, $headers); $this->assertTrue($headers->has('Content-Type')); $this->assertEquals($image->getType(), $headers->get('Content-Type')->getFieldValue()); $this->assertTrue($headers->has('Content-Length')); $this->assertEquals($image->getLength(), $headers->get('Content-Length')->getFieldValue()); }
/** * @covers ::postFlush */ public function testPostFlushWithoutImage() { $event = $this->getMockBuilder(PostFlushEventArgs::class)->disableOriginalConstructor()->getMock(); $this->manager->expects($this->never())->method('delete'); $this->listener->postFlush($event); }