Merge remote-tracking branch 'origin/support/3.0' into develop

This commit is contained in:
acognet
2023-02-27 16:44:16 +01:00
3 changed files with 158 additions and 140 deletions

View File

@@ -0,0 +1,17 @@
<?php
class MockValueSetObjects extends ValueSetObjects
{
public function __construct($sFilterExp, $sValueAttCode = '', $aOrderBy = array(), $bAllowAllData = false, $aModifierProperties = array())
{
parent::__construct($sFilterExp, $sValueAttCode , $aOrderBy, $bAllowAllData, $aModifierProperties );
}
public function GetFilterOQL(
$sOperation, $sContains
)
{
return $this->GetFilter($sOperation, $sContains)->ToOQL();
}
}

View File

@@ -0,0 +1,64 @@
<?php
/*
* @copyright Copyright (C) 2010-2023 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*/
namespace Combodo\iTop\Test\UnitTest\Core;
use MockValueSetObjects;
use Combodo\iTop\Test\UnitTest\ItopTestCase;
use MetaModel;
/**
* @runTestsInSeparateProcesses
* @preserveGlobalState disabled
* @backupGlobals disabled
*/
class ValueSetObjectsTest extends ItopTestCase
{
protected function setUp(): void
{
parent::setUp();
$this->RequireOnceItopFile('core/valuesetdef.class.inc.php');
$this->RequireOnceItopFile('application/startup.inc.php');
$this->RequireOnceUnitTestFile('./MockValueSetObjects.php');
}
/**
* @return array
*/
public function GetGetFilterProvider()
{
return array(
'Ticket contains bla' => array("Ticket", "bla", "contains", "SELECT `Ticket` FROM Ticket AS `Ticket` WHERE (`Ticket`.`friendlyname` LIKE '%bla%')"),
'Ticket equals bla' => array("Ticket", "bla", "equals", "SELECT `Ticket` FROM Ticket AS `Ticket` WHERE (`Ticket`.`ref` = 'bla')"),
'Ticket start_with bla' => array("Ticket", "bla", "start_with", "SELECT `Ticket` FROM Ticket AS `Ticket` WHERE (`Ticket`.`ref` LIKE 'bla%')"),
'UserRequest contains bla' => array("UserRequest", "bla", "contains", "SELECT `UserRequest` FROM UserRequest AS `UserRequest` WHERE (`UserRequest`.`friendlyname` LIKE '%bla%')"),
'UserRequest equals bla' => array("UserRequest", "bla", "equals", "SELECT `UserRequest` FROM UserRequest AS `UserRequest` WHERE (`UserRequest`.`ref` = 'bla')"),
'UserRequest start_with bla' => array("UserRequest", "bla", "start_with", "SELECT `UserRequest` FROM UserRequest AS `UserRequest` WHERE (`UserRequest`.`ref` LIKE 'bla%')"),
);
}
/**
* @param $Class
* @param $sContains
* @param $sOperation
* @param $sExpectedOQL
*
* @dataProvider GetGetFilterProvider
* @return void
*/
public function testGetFiler($Class, $sContains, $sOperation, $sExpectedOQL)
{
$sFilterExp = 'SELECT '.$Class;
$oValueSetObject = new MockValueSetObjects($sFilterExp);
$sFilter = $oValueSetObject->GetFilterOQL($sOperation, $sContains);
$this->assertEquals($sExpectedOQL, $sFilter);
}
}