mirror of
https://github.com/Combodo/iTop.git
synced 2026-03-06 09:34:13 +01:00
N°7750 - Bug with OQL set as Shortcut
This commit is contained in:
@@ -0,0 +1,94 @@
|
||||
<?php
|
||||
|
||||
namespace Combodo\iTop\Test\UnitTest\Application;
|
||||
|
||||
use Combodo\iTop\Application\WebPage\WebPage;
|
||||
use Combodo\iTop\Test\UnitTest\ItopDataTestCase;
|
||||
|
||||
class MenuNodeTest extends ItopDataTestCase {
|
||||
private \UserRequest $oUR;
|
||||
|
||||
protected function setUp(): void {
|
||||
parent::setUp();
|
||||
|
||||
clearstatcache();
|
||||
|
||||
$aUserRequestCustomParams = [
|
||||
'title' => "GABUZOMEU",
|
||||
'org_id' => $this->CreateOrganization(uniqid())->GetKey(),
|
||||
];
|
||||
$this->oUR = $this->CreateUserRequest(666, $aUserRequestCustomParams);
|
||||
}
|
||||
|
||||
public function RenderOQLSearchProvider()
|
||||
{
|
||||
$aUseCases = [];
|
||||
$aValues = [false, true];
|
||||
foreach ($aValues as $bSearchPane) {
|
||||
foreach ($aValues as $bSearchOpen) {
|
||||
foreach ($aValues as $bAutoreload) {
|
||||
$aUseCases[] = [
|
||||
'bSearchPane' => $bSearchPane,
|
||||
'bSearchOpen' => $bSearchOpen,
|
||||
"bAutoreload" => $bAutoreload,
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return $aUseCases;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider RenderOQLSearchProvider
|
||||
*/
|
||||
public function testRenderOQLSearch($bSearchPane, $bSearchOpen, $bAutoreload)
|
||||
{
|
||||
$sOql = <<<OQL
|
||||
SELECT UserRequest
|
||||
OQL;
|
||||
|
||||
$sContent = $this->CallRenderOQLSearch($bSearchPane, $bSearchOpen, $bAutoreload, $sOql);
|
||||
|
||||
$this->assertTrue(false !== strpos($sContent, $this->oUR->Get('title')), $sContent);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers N°7750 - Bug with OQL set as Shortcut
|
||||
*/
|
||||
public function testRenderOQLSearchOqlWithDateFormatOnDeadline()
|
||||
{
|
||||
$sOql = <<<OQL
|
||||
SELECT `UserRequest` FROM UserRequest AS `UserRequest` WHERE (DATE_FORMAT(`UserRequest`.`ttr_escalation_deadline`, '%Y%v') != DATE_FORMAT(NOW(), '%Y%v'))
|
||||
OQL;
|
||||
|
||||
try{
|
||||
$this->CallRenderOQLSearch(true, true, true, $sOql);
|
||||
$this->assertTrue(true);
|
||||
} catch(\Exception $e){
|
||||
echo($e->getMessage());
|
||||
$this->fail('Without N°7750 fix Exception raised => TypeError : date(): Argument #2 ($timestamp) must be of type ?int, string given');
|
||||
}
|
||||
}
|
||||
|
||||
public function CallRenderOQLSearch(bool $bSearchPane, bool $bSearchOpen, bool $bAutoreload, string $sOql) : string
|
||||
{
|
||||
$sTitle = 'title';
|
||||
$oPage = new WebPage($sTitle);
|
||||
|
||||
if ($bAutoreload) {
|
||||
$aExtraParams = [
|
||||
'auto_reload' => "5", //value in seconds
|
||||
];
|
||||
} else {
|
||||
$aExtraParams = [];
|
||||
}
|
||||
|
||||
\OQLMenuNode::RenderOQLSearch($sOql, $sTitle, 'shortcut_XXX', $bSearchPane, $bSearchOpen, $oPage, $aExtraParams, true);
|
||||
|
||||
$oResponse = $oPage->GenerateResponse();
|
||||
return $oResponse->getContent();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user