/**
  *
  *
  * @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);
 }
Example #3
0
 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"));
 }