Issues (74)

Tests/Query/Select/ClassSelectQueryTest.php (1 issue)

Labels
Severity
1
<?php
2
3
namespace Mdiyakov\DoctrineSolrBundle\Tests\Query\Select;
4
5
use Mdiyakov\DoctrineSolrBundle\Query\Hydrator\SelectQueryHydrator;
6
use Mdiyakov\DoctrineSolrBundle\Query\Select\ClassSelectQuery;
7
use Mdiyakov\DoctrineSolrBundle\Schema\Field\ConfigEntityField;
8
use Mdiyakov\DoctrineSolrBundle\Schema\Schema;
9
10
class ClassSelectQueryTest extends \PHPUnit_Framework_TestCase
11
{
12
13
    public function testInitDiscriminatorConditionsSuccess()
14
    {
15
        $configFieldName = 'type';
16
        $documentFieldName = 'd_type';
17
        $configFieldValue = 'article';
18
        $entityConfig =  [
19
            'config' => [
20
                [ 'name' => $configFieldName, 'value' => $configFieldValue ]
21
            ]
22
        ];
23
24
        /** @var \Solarium\Client|\PHPUnit_Framework_MockObject_MockObject $client */
25
        $client = $this->getMockBuilder('Solarium\Client')->disableOriginalConstructor()->getMock();
26
        $client->expects($this->at(0))->method('createSelect')
27
            ->will($this->returnValue(
28
                $this->getMockBuilder('Solarium\QueryType\Select\Query\Query')->disableOriginalConstructor()->getMock()
29
            ));
30
31
32
        /** @var Schema|\PHPUnit_Framework_MockObject_MockObject $schema */
33
        $schema = $this->getMockBuilder('Mdiyakov\DoctrineSolrBundle\Schema\Schema')->disableOriginalConstructor()->getMock();
34
        $discriminatorField = new ConfigEntityField($configFieldName, $documentFieldName, true, 10);
35
        $primaryKeyField = $this->getMockBuilder('Mdiyakov\DoctrineSolrBundle\Schema\Field\Entity\Field')->disableOriginalConstructor()->getMock();
36
37
        $schema->expects($this->any())->method('getDiscriminatorConfigField')
38
            ->will($this->returnValue($discriminatorField));
39
40
        $schema->expects($this->any())->method('getEntityPrimaryKeyField')
41
            ->will($this->returnValue($primaryKeyField));
42
43
        /** @var SelectQueryHydrator|\PHPUnit_Framework_MockObject_MockObject $hydrator */
44
        $hydrator = $this->getMockBuilder('Mdiyakov\DoctrineSolrBundle\Query\Hydrator\SelectQueryHydrator')->disableOriginalConstructor()->getMock();
45
        $query = new ClassSelectQuery(
46
            $client,
47
            $schema,
48
            $entityConfig,
0 ignored issues
show
$entityConfig of type array<string,array<integer,array<string,string>>> is incompatible with the type string[] expected by parameter $entityConfig of Mdiyakov\DoctrineSolrBun...ectQuery::__construct(). ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

48
            /** @scrutinizer ignore-type */ $entityConfig,
Loading history...
49
            $hydrator
50
        );
51
52
        $this->assertEquals( sprintf('%s:"%s"', $documentFieldName, $configFieldValue) ,$query->getQueryString());
53
    }
54
}