-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathIdGeneratedByFileTest.php
56 lines (44 loc) · 1.81 KB
/
IdGeneratedByFileTest.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
<?php
namespace Ekyna\Component\Payum\Payzen\Tests\Api;
use Ekyna\Component\Payum\Payzen\Api\IdGeneratedByFile;
use Ekyna\Component\Payum\Payzen\Api\TransactionIdInterface;
use Ekyna\Component\Payum\Payzen\Tests\Assert\TransactionIdAssertTrait;
use PHPUnit\Framework\TestCase;
class IdGeneratedByFileTest extends TestCase
{
use TransactionIdAssertTrait;
public function test_getTransactionId(): void
{
$this->clearCache();
$transactionIdInterface = $this->createIdGeneratedByFile();
$data = $transactionIdInterface->getTransactionId();
$this->assertArrayHasVadsTransIdAndDateKeysTypedString($data);
$this->assertEquals('000001', $data['vads_trans_id']);
$data = $transactionIdInterface->getTransactionId();
$this->assertArrayHasVadsTransIdAndDateKeysTypedString($data);
$this->assertEquals('000002', $data['vads_trans_id']);
$data = $transactionIdInterface->getTransactionId();
$this->assertArrayHasVadsTransIdAndDateKeysTypedString($data);
$this->assertEquals('000003', $data['vads_trans_id']);
touch(dirname(__DIR__, 2) . '/cache/transaction_id', time() - 60 * 60 * 24);
$data = $transactionIdInterface->getTransactionId();
$this->assertArrayHasVadsTransIdAndDateKeysTypedString($data);
$this->assertEquals('000001', $data['vads_trans_id']);
}
/**
* Returns the TransactionIdInterface instance.
*
* @return TransactionIdInterface
*/
private function createIdGeneratedByFile(): TransactionIdInterface
{
return new IdGeneratedByFile(dirname(__DIR__, 2) . '/cache/');
}
private function clearCache(): void
{
$path = dirname(__DIR__, 2) . '/cache/transaction_id';
if (file_exists($path)) {
unlink($path);
}
}
}