createDbiDummy(); $dummyDbi->addSelectDb('test_db'); $dummyDbi->addResult('SHOW TABLES LIKE \'test_table\';', [['test_table']]); $dummyDbi->addResult( 'SELECT * FROM `test_db`.`test_table` LIMIT 1;', [['1', 'abcd', '2011-01-20 02:00:02']], ['id', 'name', 'datetimefield'], ); $dummyDbi->addSelectDb('test_db'); $dbi = $this->createDatabaseInterface($dummyDbi); $GLOBALS['dbi'] = $dbi; $response = new ResponseRenderer(); $pageSettings = new PageSettings(new UserPreferences($GLOBALS['dbi'])); $pageSettings->init('Edit'); $request = ServerRequestFactory::create()->createServerRequest('GET', 'http://example.com/') ->withQueryParams(['db' => 'test_db', 'table' => 'test_table']); $relation = new Relation($dbi); $template = new Template(); (new ChangeController( $response, $template, new InsertEdit($dbi, $relation, new Transformations(), new FileListing(), $template), $relation, $pageSettings, new DbTableExists($dbi), ))($request); $actual = $response->getHTMLResult(); $this->assertStringContainsString($pageSettings->getHTML(), $actual); $this->assertStringContainsString( '', $actual, ); $this->assertStringContainsString( '', $actual, ); $this->assertStringContainsString( '', $actual, ); } /** * Test for urlParamsInEditMode */ public function testUrlParamsInEditMode(): void { $changeController = new ChangeController( $this->createStub(ResponseRenderer::class), $this->createStub(Template::class), $this->createStub(InsertEdit::class), $this->createStub(Relation::class), $this->createStub(PageSettings::class), new DbTableExists($this->createDatabaseInterface()), ); $whereClauseArray = ['foo=1', 'bar=2']; $_POST['sql_query'] = 'SELECT 1'; $result = $changeController->urlParamsInEditMode([1], $whereClauseArray); $this->assertEquals( ['0' => 1, 'where_clause' => 'bar=2', 'sql_query' => 'SELECT 1'], $result, ); } }