Passed
Push — master ( e45ec1...0662c2 )
by Михаил
04:14 queued 01:11
created

FinderManagerTest   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 40
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 1
dl 0
loc 40
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A testConstructorSuccess() 0 37 1
1
<?php
2
3
namespace Mdiyakov\DoctrineSolrBundle\Tests\Manager;
4
5
use Mdiyakov\DoctrineSolrBundle\Manager\FinderManager;
6
7
class FinderManagerTest extends \PHPUnit_Framework_TestCase
8
{
9
10
    public function testConstructorSuccess()
11
    {
12
        $entityClass = 'MyEntity';
13
        $schemaName = 'schema';
14
        $config = $this->getMockBuilder('Mdiyakov\DoctrineSolrBundle\Config\Config')->disableOriginalConstructor()->getMock();
15
        $queryBuilder = $this->getMockBuilder('Mdiyakov\DoctrineSolrBundle\Query\SelectQueryBuilder')->disableOriginalConstructor()->getMock();
16
        $classSelectQuery = $this->getMockBuilder('Mdiyakov\DoctrineSolrBundle\Query\Select\ClassSelectQuery')->disableOriginalConstructor()->getMock();
17
        $schema = $this->getMockBuilder('Mdiyakov\DoctrineSolrBundle\Schema\Schema')->disableOriginalConstructor()->getMock();
18
        $entityConfigs = [
19
            ['class' => $entityClass, 'schema' => $schemaName]
20
        ];
21
22
        $config->expects($this->at(0))
23
            ->method('getIndexedEntities')
24
            ->will($this->returnValue($entityConfigs));
25
26
27
        $config->expects($this->at(1))
28
            ->method('getSchemaByEntityClass')
29
            ->will($this->returnValue($schema));
30
31
        $config->expects($this->at(2))
32
            ->method('getIndexedEntities')
33
            ->will($this->returnValue($entityConfigs));
34
35
        $queryBuilder->expects($this->at(0))
36
            ->method('buildClassSelectQuery')
37
            ->with($entityClass)
38
            ->will($this->returnValue($classSelectQuery));
39
40
        $manager = new FinderManager($config, $queryBuilder);
41
42
        $schemaFinder = $manager->getSchemaFinder($schemaName);
43
        $classFinder = $manager->getClassFinder($entityClass);
44
45
        $this->assertInstanceOf('Mdiyakov\DoctrineSolrBundle\Finder\ClassFinder', $classFinder);
46
        $this->assertInstanceOf('Mdiyakov\DoctrineSolrBundle\Finder\SchemaFinder', $schemaFinder);
47
    }
48
}