createDbiDummy(); $dbiDummy->addSelectDb('test_db'); $dbi = $this->createDatabaseInterface($dbiDummy); DatabaseInterface::$instance = $dbi; $response = new ResponseRenderer(); $template = new Template(); $request = ServerRequestFactory::create()->createServerRequest('POST', 'https://example.com/') ->withParsedBody(['normalizeTo' => $normalizeTo]); $relation = new Relation($dbi); $controller = new FirstStepController( $response, new Normalization($dbi, $relation, new Transformations($dbi, $relation), $template), ); $controller($request); $files = $response->getHeader()->getScripts()->getFiles(); self::assertContains( ['name' => 'normalization.js', 'fire' => 1], $files, 'normalization.js script was not included in the response.', ); self::assertContains( ['name' => 'vendor/jquery/jquery.uitablefilter.js', 'fire' => 0], $files, 'vendor/jquery/jquery.uitablefilter.js script was not included in the response.', ); $output = $response->getHTMLResult(); self::assertStringContainsString('First step of normalization (1NF)', $output); self::assertStringContainsString( '
', $output, ); self::assertStringContainsString('', $output); } /** @return array */ public static function providerForTestDefault(): iterable { return [[null, '1nf'], ['', '1nf'], ['invalid', '1nf'], ['1nf', '1nf'], ['2nf', '2nf'], ['3nf', '3nf']]; } }