-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathAbstractApiActionTest.php
67 lines (56 loc) · 1.7 KB
/
AbstractApiActionTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
declare(strict_types=1);
namespace Ekyna\Component\Payum\Payzen\Tests\Action\Api;
use Ekyna\Component\Payum\Payzen\Action\Api\AbstractApiAction;
use Ekyna\Component\Payum\Payzen\Api\Api;
use Ekyna\Component\Payum\Payzen\Api\IdGeneratedByDate;
use Ekyna\Component\Payum\Payzen\Api\IdGeneratedByFile;
use Ekyna\Component\Payum\Payzen\Api\TransactionIdInterface;
use Ekyna\Component\Payum\Payzen\Tests\Action\AbstractActionTest;
use PHPUnit\Framework\MockObject\MockObject;
/**
* Class AbstractApiActionTest
* @package Ekyna\Component\Payum\Payzen\Tests\Action\Api
* @author Étienne Dauvergne <contact@ekyna.com>
*
* @property AbstractApiAction $action
*/
abstract class AbstractApiActionTest extends AbstractActionTest
{
/** @var MockObject|Api */
protected $api;
/**
* @var MockObject|TransactionIdInterface
*/
protected $transactionIdInterface;
protected function setUp(): void
{
$this->action = new $this->actionClass($this->getIdGeneratedByFile());
$this->action->setApi($this->getApiMock());
}
protected function tearDown(): void
{
$this->api = null;
$this->action = null;
}
/**
* @return MockObject|Api
*/
protected function getApiMock()
{
if ($this->api) {
return $this->api;
}
return $this->api = $this->getMockBuilder(Api::class)->getMock();
}
/**
* @return TransactionIdInterface
*/
protected function getIdGeneratedByFile()
{
if ($this->transactionIdInterface) {
return $this->transactionIdInterface;
}
return $this->transactionIdInterface = new IdGeneratedByFile(dirname(__DIR__, 3) . '/cache/');
}
}