diff --git a/application/menunode.class.inc.php b/application/menunode.class.inc.php
index 59fca8528..81927e921 100644
--- a/application/menunode.class.inc.php
+++ b/application/menunode.class.inc.php
@@ -1159,11 +1159,11 @@ class OQLMenuNode extends MenuNode
{
$sUsageId = utils::GetSafeId($sUsageId);
$oSearch = DBObjectSearch::FromOQL($sOql);
- $sClass= $oSearch->GetClass();
+ $sClass= $oSearch->GetClass();
$sIcon = MetaModel::GetClassIcon($sClass, false);
if ($bSearchPane) {
$aParams = array_merge(['open' => $bSearchOpen, 'table_id' => $sUsageId, 'submit_on_load' => false], $aExtraParams);
- $oBlock = new DisplayBlock($oSearch, 'search', false /* Asynchronous */, $aParams);
+ $oBlock = new DisplayBlock($oSearch, DisplayBlock::ENUM_STYLE_LIST_SEARCH, false /* Asynchronous */, $aParams);
$oBlock->Display($oPage, 0);
$oPage->add("
");
}
diff --git a/tests/php-unit-tests/unitary-tests/application/MenuNodeTest.php b/tests/php-unit-tests/unitary-tests/application/MenuNodeTest.php
new file mode 100644
index 000000000..056f163bb
--- /dev/null
+++ b/tests/php-unit-tests/unitary-tests/application/MenuNodeTest.php
@@ -0,0 +1,94 @@
+ "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 = <<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 = <<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();
+ }
+}
+