createDbiDummy(); $dbiDummy->addResult( 'SELECT `SCHEMA_NAME` FROM `INFORMATION_SCHEMA`.`SCHEMATA`', [['test_db'], ['test_db_1'], ['test_db_2']], ['SCHEMA_NAME'], ); DatabaseInterface::$instance = $this->createDatabaseInterface($dbiDummy); Current::$database = 'test_db'; $request = ServerRequestFactory::create()->createServerRequest('POST', 'http://example.com/') ->withQueryParams(['db' => 'test_db']) ->withParsedBody(['selected_tbl' => ['test_table']]); $template = new Template(new Config()); $controller = new CopyFormController(new ResponseRenderer(), ResponseFactory::create(), $template); $response = $controller($request); $expected = $template->render('database/structure/copy_form', [ 'url_params' => ['db' => 'test_db', 'selected' => ['test_table']], 'options' => [ ['name' => 'test_db_1', 'is_selected' => false], ['name' => 'test_db_2', 'is_selected' => false], ], ]); self::assertSame(StatusCodeInterface::STATUS_OK, $response->getStatusCode()); self::assertSame(['text/html; charset=utf-8'], $response->getHeader('Content-Type')); self::assertSame($expected, (string) $response->getBody()); $dbiDummy->assertAllQueriesConsumed(); } }