Files
iTop/tests/php-unit-tests/unitary-tests/core/ValueSetObjectsTest.php

58 lines
2.0 KiB
PHP

<?php
/*
* @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0
*/
namespace Combodo\iTop\Test\UnitTest\Core;
use MockValueSetObjects;
use Combodo\iTop\Test\UnitTest\ItopTestCase;
use MetaModel;
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 [
'Ticket contains bla' => ["Ticket", "bla", "contains", "SELECT `Ticket` FROM Ticket AS `Ticket` WHERE (`Ticket`.`friendlyname` LIKE '%bla%')"],
'Ticket equals bla' => ["Ticket", "bla", "equals", "SELECT `Ticket` FROM Ticket AS `Ticket` WHERE (`Ticket`.`ref` = 'bla')"],
'Ticket start_with bla' => ["Ticket", "bla", "start_with", "SELECT `Ticket` FROM Ticket AS `Ticket` WHERE (`Ticket`.`ref` LIKE 'bla%')"],
'UserRequest contains bla' => ["UserRequest", "bla", "contains", "SELECT `UserRequest` FROM UserRequest AS `UserRequest` WHERE (`UserRequest`.`friendlyname` LIKE '%bla%')"],
'UserRequest equals bla' => ["UserRequest", "bla", "equals", "SELECT `UserRequest` FROM UserRequest AS `UserRequest` WHERE (`UserRequest`.`ref` = 'bla')"],
'UserRequest start_with bla' => ["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);
}
}