Bolt\Tests\Storage\Query\SearchQueryTest::testAndParameterQuery PHP Метод

testAndParameterQuery() публичный Метод

    public function testAndParameterQuery()
    {
        $app = $this->getApp();
        $filter = 'lorem + ipsum';
        $query = $app['query.search'];
        $query->setContentType('pages');
        $query->setSearch($filter);
        $expr = $query->getWhereExpression();
        $this->assertEquals('((pages.title LIKE :title_1) AND (pages.title LIKE :title_2)) OR ((pages.teaser LIKE :teaser_1) AND (pages.teaser LIKE :teaser_2)) OR ((pages.body LIKE :body_1) AND (pages.body LIKE :body_2)) OR ((pages.groups LIKE :groups_1) AND (pages.groups LIKE :groups_2))', $expr);
        $params = $query->getWhereParameters();
        $this->assertArrayHasKey('title_1', $params);
        $this->assertArrayHasKey('title_2', $params);
        $this->assertArrayHasKey('teaser_1', $params);
        $this->assertArrayHasKey('teaser_2', $params);
        $this->assertArrayHasKey('body_1', $params);
        $this->assertArrayHasKey('body_2', $params);
        $this->assertArrayHasKey('groups_1', $params);
        $this->assertArrayHasKey('groups_2', $params);
        $this->assertEquals('%lorem%', $params['title_1']);
        $this->assertEquals('%ipsum%', $params['title_2']);
        $this->assertEquals('%lorem%', $params['teaser_1']);
        $this->assertEquals('%ipsum%', $params['teaser_2']);
        $this->assertEquals('%lorem%', $params['body_1']);
        $this->assertEquals('%ipsum%', $params['body_2']);
        $this->assertEquals('%lorem%', $params['groups_1']);
        $this->assertEquals('%ipsum%', $params['groups_2']);
    }