* */ /** * Created by PhpStorm. * User: Eric * Date: 08/03/2018 * Time: 11:28 */ namespace Combodo\iTop\Test\UnitTest\Application\Search; use Combodo\iTop\Application\Search\CriterionParser; use Combodo\iTop\Test\UnitTest\ItopDataTestCase; /** * @group itopRequestMgmt * @runTestsInSeparateProcesses * @preserveGlobalState disabled * @backupGlobals disabled */ class CriterionParserTest extends ItopDataTestCase { public function testParse() { $sBaseOql = 'SELECT UserRequest'; $aCriterion = json_decode('{ "or": [ { "and": [ { "ref": "UserRequest.start_date", "values": [ { "value": "2017-01-01", "label": "2017-01-01 00:00:00" } ], "operator": ">", "oql": "" }, { "ref": "UserRequest.start_date", "values": [ { "value": "2018-01-01", "label": "2018-01-01 00:00:00" } ], "operator": "<", "oql": "(`UserRequest`.`start_date` < \'2018-01-01\')" } ] } ] } ', true); $oSearch = CriterionParser::Parse($sBaseOql, $aCriterion); //$this->debug($oSearch); $this->assertEquals("SELECT `UserRequest` FROM UserRequest AS `UserRequest` WHERE ((`UserRequest`.`start_date` > '2017-01-01') AND (`UserRequest`.`start_date` < '2018-01-01'))", $oSearch->ToOQL()); } }