<?php use SuiteCRM\Tests\SuiteCRM\Test\SuitePHPUnitFrameworkTestCase; class ViewQuickcreateTest extends SuitePHPUnitFrameworkTestCase { protected function setUp(): void { parent::setUp(); global $current_user; get_sugar_config_defaults(); $current_user = BeanFactory::newBean('Users'); } public function testpreDisplay() { if (isset($_REQUEST)) { $_request = $_REQUEST; } //check without setting any values, it should execute without any issues. $view = new ViewQuickcreate(); $view->preDisplay(); self::assertCount(0, $_REQUEST); //check with values preset but without a valid bean id, it sould not change Request parameters $_REQUEST['source_module'] = 'Users'; $_REQUEST['module'] = 'Users'; $_REQUEST['record'] = ''; $request = $_REQUEST; $view->preDisplay(); self::assertSame($request, $_REQUEST); //check with values preset, it sould set some addiiotnal Request parameters $_REQUEST['record'] = 1; $view->preDisplay(); self::assertNotSame($request, $_REQUEST); if (isset($_request)) { $_REQUEST = $_request; } else { unset($_REQUEST); } } public function testdisplay() { if (isset($_SESSION)) { $_session = $_SESSION; } if (isset($_REQUEST)) { $_request = $_REQUEST; } //execute the method with required child objects and parameters preset. it will return some html. $view = new ViewQuickcreate(); $_REQUEST['module'] = 'Accounts'; $view->bean = BeanFactory::newBean('Accounts'); ob_start(); $view->display(); $renderedContent = ob_get_contents(); ob_end_clean(); self::assertGreaterThan(0, strlen($renderedContent)); self::assertEquals(false, json_decode($renderedContent)); //check that it doesn't return json. if (isset($_session)) { $_SESSION = $_session; } else { unset($_SESSION); } if (isset($_request)) { $_REQUEST = $_request; } else { unset($_REQUEST); } } }