/** * * * @param QueryFilter $queryFilter * @return void */ private function addFilter(QueryFilter $queryFilter) { if ($this->queryFilter) { $this->queryFilter = $this->queryFilter->mergeAnd($queryFilter); } else { $this->queryFilter = $queryFilter; } }
/** * */ public function testMergeAnd() { $clausePrimary = 'id = ?'; $parameterPrimary = 123; $clauseSecondary = 'status = ?'; $parameterSecondary = 'foo'; $parametersPrimary = array($parameterPrimary); $parametersSecondary = array($parameterSecondary); $expectedClause = "({$clausePrimary}) AND ({$clauseSecondary})"; $queryFilterPrimary = new QueryFilter($clausePrimary, $parametersPrimary); $queryFilterSecondary = new QueryFilter($clauseSecondary, $parametersSecondary); $result = $queryFilterPrimary->mergeAnd($queryFilterSecondary); $this->assertSame($expectedClause, $result->getClause()); $resultParameters = $result->getParameters(); $this->assertInternalType('array', $resultParameters); $this->assertCount(2, $resultParameters); $this->assertContains($parameterPrimary, $resultParameters); $this->assertContains($parameterSecondary, $resultParameters); }
public function testCreateSearchBody() { $filter = QueryFilter::create(['search' => '{"foo": "bar"}']); $this->assertEquals('{"foo": "bar"}', $filter->getBody()); }
/** * QueryFilterWhere constructor. * @param string $key sql table column * @param mixed $value value that filtered * @param string $cast_type Cast type: boolean, string, float, double */ public function __construct($key, $value, $cast_type = 'string') { parent::__construct($key, $value, $cast_type); $this->chooseOperator(); }
public function testCreationWithTable() { $qF = new QueryFilter("userId", "4", "="); $this->assertEquals("User.userId=?", $qF->getQueryString("User")); }