createDbiDummy(); $dbiDummy->addSelectDb('test_db'); $dbi = $this->createDatabaseInterface($dbiDummy); $GLOBALS['dbi'] = $dbi; $response = new ResponseRenderer(); $template = new Template(); $controller = new FirstStepController( $response, $template, new Normalization($dbi, new Relation($dbi), new Transformations(), $template) ); $controller($this->createStub(ServerRequest::class)); $files = $response->getHeader()->getScripts()->getFiles(); $this->assertTrue( in_array(['name' => 'normalization.js', 'fire' => 1], $files, true), 'normalization.js script was not included in the response.' ); $this->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(); $this->assertStringContainsString('First step of normalization (1NF)', $output); $this->assertStringContainsString( '
', $output ); $this->assertStringContainsString('', $output); } /** * @return array */ public function providerForTestDefault(): iterable { return [ [null, '1nf'], ['', '1nf'], ['invalid', '1nf'], ['1nf', '1nf'], ['2nf', '2nf'], ['3nf', '3nf'], ]; } }