Test Failed
Push — master ( 44d5e4...cc905b )
by Gabriel
02:04
created

AbstractRequestTest::getMockClient()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 7
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 3
c 0
b 0
f 0
dl 0
loc 7
rs 10
cc 2
nc 2
nop 0
1
<?php
2
3
namespace ByTIC\Omnipay\Paylike\Tests\Message;
4
5
//use ByTIC\Omnipay\Paylike\Tests\Traits\HasTestUtilMethods;
6
use ByTIC\Omnipay\Paylike\Message\AbstractRequest;
7
use ByTIC\Omnipay\Paylike\Tests\AbstractTest;
8
use Http\Mock\Client as MockClient;
9
use Omnipay\Common\Http\Client;
10
use Omnipay\Common\Http\ClientInterface;
11
use Symfony\Component\HttpFoundation\Request as HttpRequest;
12
13
/**
14
 * Class AbstractRequestTest
15
 * @package ByTIC\Omnipay\Paylike\Tests\Message
16
 */
17
abstract class AbstractRequestTest extends AbstractTest
18
{
19
20
    /** @var ClientInterface */
21
    private $httpClient;
22
23
    /** @var  MockClient */
24
    private $mockClient;
25
26
    /**
27
     * @param string $class
28
     * @param array $data
29
     * @return AbstractRequest
30
     */
31
    protected function newRequestWithInitTest($class, $data)
32
    {
33
        $request = $this->newRequest($class);
34
        self::assertInstanceOf($class, $request);
35
        $request->initialize($data);
36
        return $request;
37
    }
38
39
    /**
40
     * @param string $class
41
     * @return AbstractRequest
42
     */
43
    protected function newRequest($class)
44
    {
45
        $client = $this->getHttpClient();
46
        $request = HttpRequest::createFromGlobals();
47
        $request = new $class($client, $request);
48
        return $request;
49
    }
50
51
    public function getHttpClient()
52
    {
53
        if (null === $this->httpClient) {
54
            $this->httpClient = new Client(
55
                $this->getMockClient()
56
            );
57
        }
58
59
        return $this->httpClient;
60
    }
61
62
    public function getMockClient()
63
    {
64
        if (null === $this->mockClient) {
65
            $this->mockClient = new MockClient();
66
        }
67
68
        return $this->mockClient;
69
    }
70
}
71