createDbiDummy(); $dbiDummy->addResult( "SELECT TABLE_NAME, COLUMN_NAME FROM information_schema.columns WHERE table_schema = 'test_db'", [['test_table', 'id'], ['test_table', 'name'], ['test_table', 'datetimefield']], ['TABLE_NAME', 'COLUMN_NAME'], ); $request = ServerRequestFactory::create()->createServerRequest('GET', 'https://example.com/') ->withQueryParams(['route' => '/database/multi-table-query', 'db' => 'test_db']); $response = ($this->getMultiTableQueryController($dbiDummy))($request); $dbiDummy->assertAllQueriesConsumed(); self::assertSame(StatusCodeInterface::STATUS_OK, $response->getStatusCode()); self::assertStringEqualsFile( __DIR__ . '/Fixtures/MultiTableQuery-testController.html', (string) $response->getBody(), ); } private function getMultiTableQueryController(DbiDummy $dbiDummy): MultiTableQueryController { $config = new Config(); $dbi = $this->createDatabaseInterface($dbiDummy, $config); return new MultiTableQueryController(new ResponseRenderer(), new Template($config), $dbi); } }