Completed
Push — master ( c5047e...3a177f )
by Gabriel
03:52
created

MorphManyTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 7

Importance

Changes 1
Bugs 1 Features 0
Metric Value
wmc 2
lcom 0
cbo 7
dl 0
loc 33
rs 10
c 1
b 1
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testGetMorphClassWithGenericManager() 0 8 1
A testGetQuery() 0 20 1
1
<?php
2
3
namespace Nip\Records\Tests\Relations;
4
5
use Nip\Records\Locator\ModelLocator;
6
use Nip\Records\Record;
7
use Nip\Records\RecordManager;
8
use Nip\Records\Relations\MorphMany;
9
use Nip\Records\Tests\AbstractTest;
10
11
/**
12
 * Class MorphManyTest
13
 * @package Nip\Records\Tests\Relations
14
 */
15
class MorphManyTest extends AbstractTest
16
{
17
18
    public function testGetMorphClassWithGenericManager()
19
    {
20
        $relation = new MorphMany();
21
        $manager = new RecordManager();
22
        $relation->setManager($manager);
23
24
        self::assertEquals('nip_records', $relation->getMorphValue());
25
    }
26
27
    public function testGetQuery()
28
    {
29
        ModelLocator::instance()->getConfiguration()->addNamespace('Nip\Records\Tests\Fixtures\Records');
30
31
        $relation = new MorphMany();
32
        $relation->setName('Books');
33
34
        $users = new RecordManager();
35
        $users->setPrimaryKey('id');
36
37
        $user = new Record();
38
        $user->id = 3;
39
        $user->setManager($users);
40
        $relation->setItem($user);
41
42
        self::assertEquals(
43
            "SELECT `books`.* FROM `books` WHERE parent_type = 'nip_records' AND `parent_id` = 3",
44
            $relation->getQuery()->getString()
45
        );
46
    }
47
}
48