Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
QueryFilterTest.php 2.00 KiB
<?php

/*
 * This file is part of the ONGR package.
 *
 * (c) NFQ Technologies UAB <info@nfq.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace ONGR\ElasticsearchBundle\Tests\Unit\DSL\Filter;

use ONGR\ElasticsearchBundle\DSL\Filter\QueryFilter;

class QueryFilterTest extends \PHPUnit_Framework_TestCase
{
    /**
     * Test query with '_cache' parameter.
     */
    public function testToArrayWithGetTypeFqueryWithCache()
    {
        $mockBuilder = $this->getMockBuilder('ONGR\ElasticsearchBundle\DSL\BuilderInterface')
            ->getMock();
        $mockBuilder->expects($this->any())
            ->method('getType')
            ->willReturn('fquery');
        $filter = new QueryFilter($mockBuilder, ['_cache' => true]);
        $result = $filter->toArray();
        $expectedResult = ['query' => ['fquery' => null], '_cache' => true];
        $this->assertEquals($expectedResult, $result);
    }

    /**
     * Test query without '_cache' parameter.
     */
    public function testToArrayWithGetTypeQueryWithoutCache()
    {
        $mockBuilder = $this->getMockBuilder('ONGR\ElasticsearchBundle\DSL\BuilderInterface')
            ->getMock();
        $mockBuilder->expects($this->any())
            ->method('getType')
            ->willReturn('query');
        $filter = new QueryFilter($mockBuilder, []);
        $result = $filter->toArray();
        $expectedResult = ['query' => null];
        $this->assertEquals($expectedResult, $result);
    }

    /**
     * Test GetType function, returns 'fquery'.
     */
    public function testGetTypeWhenReturnsStringFquery()
    {
        $filter = new QueryFilter('', ['_cache' => true]);
        $this->assertEquals('fquery', $filter->getType());
    }

    /**
     * Test GetType function, returns 'query'.
     */
    public function testgetTypeWhenReturnsStringQuery()
    {
        $filter = new QueryFilter('', []);
        $this->assertEquals('query', $filter->getType());
    }
}