GuzzleClientTest::testSend()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 16

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 16
rs 9.7333
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
namespace Postpay\Tests\HttpClients;
4
5
use GuzzleHttp\Client;
6
use GuzzleHttp\Exception\RequestException;
7
use GuzzleHttp\Handler\MockHandler;
8
use GuzzleHttp\HandlerStack;
9
use GuzzleHttp\Psr7\Request as GuzzleRequest;
10
use GuzzleHttp\Psr7\Response as GuzzleResponse;
11
use PHPUnit\Framework\TestCase;
12
use Postpay\Exceptions\PostpayException;
13
use Postpay\Http\Request;
14
use Postpay\HttpClients\GuzzleClient;
15
16
class GuzzleClientTest extends TestCase
17
{
18
    public function testSend()
19
    {
20
        $mock = new MockHandler([
21
            new GuzzleResponse(200),
22
            new RequestException('error', new GuzzleRequest('GET', ''))
23
        ]);
24
        $guzzleClient = new Client(['handler' => HandlerStack::create($mock)]);
25
        $client = new GuzzleClient($guzzleClient);
26
        $request = new Request('GET');
27
28
        $response = $client->send($request);
29
        self::assertSame(200, $response->getStatusCode());
30
31
        $this->expectException(PostpayException::class);
32
        $client->send($request);
33
    }
34
}
35