GetCounterpartiesTest   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 3
eloc 15
dl 0
loc 36
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A setUp() 0 4 1
A testCounterpartyPrivatePersonCrud() 0 5 1
A assertIsCounterparty() 0 9 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace SergeyNezbritskiy\NovaPoshta\Tests\Integration\Models\Counterparty;
6
7
use Exception;
8
use PHPUnit\Framework\TestCase;
9
use SergeyNezbritskiy\NovaPoshta\Models\Counterparty;
10
use SergeyNezbritskiy\NovaPoshta\Tests\UsesConnectionTrait;
11
12
class GetCounterpartiesTest extends TestCase
13
{
14
    use UsesConnectionTrait;
15
16
    private Counterparty $model;
17
18
    protected function setUp(): void
19
    {
20
        $connection = $this->getConnection();
21
        $this->model = new Counterparty($connection);
22
    }
23
24
    /**
25
     * @return void
26
     * @throws Exception
27
     */
28
    public function testCounterpartyPrivatePersonCrud(): void
29
    {
30
        $actualResult = $this->model->getCounterparties(Counterparty::COUNTERPARTY_PROPERTY_SENDER);
31
        $this->assertNotEmpty($actualResult);
32
        $this->assertIsCounterparty(array_shift($actualResult));
33
    }
34
35
    /**
36
     * @param array $counterparty
37
     * @return void
38
     */
39
    private function assertIsCounterparty(array $counterparty): void
40
    {
41
        $this->assertArrayHasKey('Ref', $counterparty);
42
        $this->assertArrayHasKey('Description', $counterparty);
43
        $this->assertArrayHasKey('FirstName', $counterparty);
44
        $this->assertArrayHasKey('LastName', $counterparty);
45
        $this->assertArrayHasKey('Counterparty', $counterparty);
46
        $this->assertArrayHasKey('EDRPOU', $counterparty);
47
        $this->assertArrayHasKey('CounterpartyType', $counterparty);
48
    }
49
}
50