private function runTroughStep4($crawler, $client)
{
// first submit with incorrect data
$form = $crawler->selectButton('Next')->form();
$crawler = $client->submit($form, array());
self::assertGreaterThan(0, $crawler->filter('div.errorMessage:contains("Problem with database credentials")')->count());
// submit with correct database credentials
$form = $crawler->selectButton('Next')->form();
$container = $client->getContainer();
$client->submit($form, array('install_database[dbHostname]' => $container->getParameter('database.host'), 'install_database[dbPort]' => $container->getParameter('database.port'), 'install_database[dbDatabase]' => $container->getParameter('database.name') . '_test', 'install_database[dbUsername]' => $container->getParameter('database.user'), 'install_database[dbPassword]' => $container->getParameter('database.password')));
$crawler = $client->followRedirect();
// we should be redirected to step 5
self::assertEquals(200, $client->getResponse()->getStatusCode());
self::assertStringEndsWith('/install/5', $client->getHistory()->current()->getUri());
return $crawler;
}