createDbiDummy(); $dbiDummy->addSelectDb('test_db'); $dbi = $this->createDatabaseInterface($dbiDummy); DatabaseInterface::$instance = $dbi; $response = new ResponseRenderer(); $template = new Template(); $request = self::createStub(ServerRequest::class); $request->method('getParsedBodyParam')->willReturnMap([['normalizeTo', null, $normalizeTo]]); $controller = new FirstStepController( $response, $template, new Normalization($dbi, new Relation($dbi), new Transformations(), $template), ); $controller($request); $files = $response->getHeader()->getScripts()->getFiles(); self::assertTrue( in_array(['name' => 'normalization.js', 'fire' => 1], $files, true), 'normalization.js script was not included in the response.', ); self::assertTrue( in_array(['name' => 'vendor/jquery/jquery.uitablefilter.js', 'fire' => 0], $files, true), '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']]; } }