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

IndexProcessManagerTest::setUp()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 5
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
namespace Mdiyakov\DoctrineSolrBundle\Tests\Manager;
4
5
use Mdiyakov\DoctrineSolrBundle\Manager\IndexProcessManager;
6
7
class MyEntity {}
8
9
class IndexProcessManagerTest extends \PHPUnit_Framework_TestCase
10
{
11
    /**
12
     * @var \PHPUnit_Framework_MockObject_MockObject
13
     */
14
    private $indexerBuilder;
15
16
    /**
17
     * @var \PHPUnit_Framework_MockObject_MockObject
18
     */
19
    private $filterValidator;
20
21
    /**
22
     * @var \PHPUnit_Framework_MockObject_MockObject
23
     */
24
    private $indexer;
25
26
    public function setUp()
27
    {
28
        $this->indexerBuilder = $this->getMockBuilder('Mdiyakov\DoctrineSolrBundle\Indexer\IndexerBuilder')->disableOriginalConstructor()->getMock();
29
        $this->filterValidator = $this->getMockBuilder('Mdiyakov\DoctrineSolrBundle\Filter\FilterValidator')->disableOriginalConstructor()->getMock();
30
        $this->indexer = $this->getMockBuilder('Mdiyakov\DoctrineSolrBundle\Indexer\Indexer')->disableOriginalConstructor()->getMock();
31
    }
32
33
    public function testReindex()
34
    {
35
        $entity = new MyEntity();
36
        $this->indexerBuilder->expects($this->once())
37
            ->method('createByEntityClass')
38
            ->with(get_class($entity))
39
            ->will($this->returnValue($this->indexer));
40
41
        $this->filterValidator->expects($this->once())
42
            ->method('validate')
43
            ->with($entity);
44
45
        $this->indexer->expects($this->once())
46
            ->method('indexAllFields')
47
            ->with($entity);
48
49
        $indexProcessManager = new IndexProcessManager($this->indexerBuilder, $this->filterValidator);
50
        $result = $indexProcessManager->reindex($entity);
51
        $this->assertEquals(true, $result->isSuccess());
52
    }
53
54
55
    public function testRemove()
56
    {
57
        $entity = new MyEntity();
58
59
        $this->indexerBuilder->expects($this->once())
60
            ->method('createByEntityClass')
61
            ->with(get_class($entity))
62
            ->will($this->returnValue($this->indexer));
63
64
        $this->indexer->expects($this->once())
65
            ->method('removeByPrimaryKey')
66
            ->with($entity);
67
68
        $indexProcessManager = new IndexProcessManager($this->indexerBuilder, $this->filterValidator);
69
        $indexProcessManager->remove($entity);
70
    }
71
}