CollectionTest   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 44
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 19
dl 0
loc 44
rs 10
c 0
b 0
f 0
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A itIsAResource() 0 5 1
A itIsTraversable() 0 12 1
A itProvideDataAndMeta() 0 9 1
A itProvideAPagination() 0 6 1
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: guillem
5
 * Date: 24/08/2016
6
 * Time: 15:55
7
 */
8
9
namespace ElevenLabs\Api\Service\Resource;
10
11
use ElevenLabs\Api\Service\Pagination\Pagination;
12
use PHPUnit\Framework\TestCase;
13
14
class CollectionTest extends TestCase
15
{
16
    /** @test */
17
    public function itIsAResource()
18
    {
19
        $resource = new Collection([], []);
20
21
        assertThat($resource, isInstanceOf(Resource::class));
22
    }
23
24
    /** @test */
25
    public function itProvideDataAndMeta()
26
    {
27
        $data = [['foo' => 'bar']];
28
        $meta = ['headers' => ['bat' => 'baz']];
29
        $resource = new Collection($data, $meta);
30
31
        assertThat($resource->getData(), equalTo($data));
32
        assertThat($resource->getMeta(), equalTo($meta));
33
        assertThat($resource->hasPagination(), isFalse());
34
    }
35
36
    /** @test */
37
    public function itProvideAPagination()
38
    {
39
        $pagination = new Pagination(1, 1, 1, 1);
40
        $resource = new Collection([], [], $pagination);
41
42
        assertThat($resource->getPagination(), equalTo($pagination));
43
    }
44
45
    /** @test */
46
    public function itIsTraversable()
47
    {
48
        $data = [
49
            ['value' => 'foo'],
50
            ['value' => 'bar'],
51
        ];
52
53
        $resource = new Collection($data, []);
54
55
        assertThat($resource, isInstanceOf(\Traversable::class));
56
        assertThat($resource, contains($data[0]));
57
        assertThat($resource, contains($data[1]));
58
    }
59
}
60