Completed
Push — master ( 7f89eb...d01340 )
by Portey
05:11
created

EnumTypeTest::testConfig()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 29
Code Lines 19

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 29
rs 8.8571
nc 1
cc 1
eloc 19
nop 0
1
<?php
2
/**
3
 * Date: 07.12.15
4
 *
5
 * @author Portey Vasil <[email protected]>
6
 */
7
8
namespace Youshido\Tests\Type\Config;
9
10
11
use Youshido\GraphQL\Type\Object\EnumType;
12
use Youshido\GraphQL\Type\TypeMap;
13
use Youshido\Tests\Schema\EpisodeEnum;
14
15
class EnumTypeTest extends \PHPUnit_Framework_TestCase
16
{
17
18
    public function testExtendConfig()
19
    {
20
        $type = new EpisodeEnum();
21
22
        $this->assertEquals('Episode', $type->getName());
23
        $this->assertEquals(TypeMap::KIND_ENUM, $type->getKind());
24
        $this->assertEmpty($type->getConfig()->getFields());
25
26
        $values = $type->getValues();
27
28
        $this->assertArrayHasKey('JEDI', $values);
29
        $this->assertArrayHasKey('value', $values['JEDI']);
30
    }
31
32
    public function testConfig()
33
    {
34
        $type = new EnumType([
35
            'name' => 'Episode',
36
            'values' => [
37
                'NEWHOPE' => [
38
                    'value'       => 4,
39
                    'description' => 'Released in 1977.'
40
                ],
41
                'EMPIRE'  => [
42
                    'value'       => 5,
43
                    'description' => 'Released in 1980.'
44
                ],
45
                'JEDI'    => [
46
                    'value'       => 6,
47
                    'description' => 'Released in 1983.'
48
                ],
49
            ]
50
        ]);
51
52
        $this->assertEquals('Episode', $type->getName());
53
        $this->assertEquals(TypeMap::KIND_ENUM, $type->getKind());
54
        $this->assertEmpty($type->getConfig()->getFields());
55
56
        $values = $type->getValues();
57
58
        $this->assertArrayHasKey('JEDI', $values);
59
        $this->assertArrayHasKey('value', $values['JEDI']);
60
    }
61
62
}