Passed
Pull Request — master (#12)
by Sergey
02:32
created

GetStreetTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 3
eloc 12
dl 0
loc 33
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A assertIsStreet() 0 6 1
A setUp() 0 4 1
A testGetStreet() 0 5 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace SergeyNezbritskiy\NovaPoshta\Tests\Integration\Models\Address;
6
7
use PHPUnit\Framework\TestCase;
8
use SergeyNezbritskiy\NovaPoshta\Models\Address;
9
use SergeyNezbritskiy\NovaPoshta\NovaPoshtaApiException;
10
use SergeyNezbritskiy\NovaPoshta\Tests\ConstantsInterface;
11
use SergeyNezbritskiy\NovaPoshta\Tests\UsesConnectionTrait;
12
13
class GetStreetTest extends TestCase implements ConstantsInterface
14
{
15
    use UsesConnectionTrait;
16
17
    private Address $model;
18
19
    protected function setUp(): void
20
    {
21
        $connection = $this->getConnection();
22
        $this->model = new Address($connection);
23
    }
24
25
    /**
26
     * @return void
27
     * @throws NovaPoshtaApiException
28
     */
29
    public function testGetStreet(): void
30
    {
31
        $actualResult = $this->model->getStreet(self::CITY_REF, 'Черниш', 1, 10);
32
        $this->assertIsArray($actualResult);
33
        $this->assertIsStreet(array_shift($actualResult));
34
    }
35
36
    /**
37
     * @param array $street
38
     * @return void
39
     */
40
    private function assertIsStreet(array $street): void
41
    {
42
        $this->assertArrayHasKey('Description', $street);
43
        $this->assertArrayHasKey('Ref', $street);
44
        $this->assertArrayHasKey('StreetsTypeRef', $street);
45
        $this->assertArrayHasKey('StreetsType', $street);
46
    }
47
}
48