CollectionTest::itProvideDataAndMeta()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 6
nc 1
nop 0
dl 0
loc 9
rs 10
c 0
b 0
f 0
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