public function testSetters() { /** @var \Psr\Log\LoggerInterface $logger */ $logger = \Mockery::mock('\\Psr\\Log\\LoggerInterface'); $handler1 = function (array $request) { }; $handler2 = function (array $request) { }; /** @var \Hitmeister\Component\Api\Transport\Transport $transport */ $transport = \Mockery::mock('\\Hitmeister\\Component\\Api\\Transport\\Transport'); /** @var \Mockery\Mock $middleware */ $middleware = \Mockery::mock('alias:\\Hitmeister\\Component\\Api\\Middleware'); $middleware->shouldReceive('signRequest')->withArgs([$handler1, 'client_key', 'client_secret'])->andReturn($handler2); $middleware->shouldReceive('processResponse')->withArgs([$handler2, $logger]); $builder = ClientBuilder::create()->setLogger($logger)->setHandler($handler1)->setTransport($transport)->setClientKey('client_key')->setClientSecret('client_secret')->setBaseUrl('https://www.hm.de/api/v20/'); $client = $builder->build(); $this->assertEquals($transport, $client->getTransport()); }