diff --git a/src/Wallabag/CoreBundle/Command/InstallCommand.php b/src/Wallabag/CoreBundle/Command/InstallCommand.php
index 2e4a59dfd..e56ee4af0 100644
--- a/src/Wallabag/CoreBundle/Command/InstallCommand.php
+++ b/src/Wallabag/CoreBundle/Command/InstallCommand.php
@@ -60,6 +60,7 @@ class InstallCommand extends ContainerAwareCommand
->checkRequirements()
->setupDatabase()
->setupAdmin()
+ ->setupConfig()
->setupAsset()
;
@@ -69,7 +70,7 @@ class InstallCommand extends ContainerAwareCommand
protected function checkRequirements()
{
- $this->defaultOutput->writeln('Step 1 of 4. Checking system requirements.');
+ $this->defaultOutput->writeln('Step 1 of 5. Checking system requirements.');
$fulfilled = true;
@@ -119,7 +120,7 @@ class InstallCommand extends ContainerAwareCommand
protected function setupDatabase()
{
- $this->defaultOutput->writeln('Step 2 of 4. Setting up database.');
+ $this->defaultOutput->writeln('Step 2 of 5. Setting up database.');
// user want to reset everything? Don't care about what is already here
if (true === $this->defaultInput->getOption('reset')) {
@@ -190,7 +191,7 @@ class InstallCommand extends ContainerAwareCommand
protected function setupAdmin()
{
- $this->defaultOutput->writeln('Step 3 of 4. Administration setup.');
+ $this->defaultOutput->writeln('Step 3 of 5. Administration setup.');
$questionHelper = $this->getHelperSet()->get('question');
$question = new ConfirmationQuestion('Would you like to create a new admin user (recommended) ? (Y/n)', true);
@@ -227,6 +228,16 @@ class InstallCommand extends ContainerAwareCommand
$em->persist($config);
+ $this->defaultOutput->writeln('');
+
+ return $this;
+ }
+
+ protected function setupConfig()
+ {
+ $this->defaultOutput->writeln('Step 4 of 5. Config setup.');
+ $em = $this->getContainer()->get('doctrine.orm.entity_manager');
+
// cleanup before insert new stuff
$em->createQuery('DELETE FROM CraueConfigBundle:Setting')->execute();
@@ -365,7 +376,7 @@ class InstallCommand extends ContainerAwareCommand
protected function setupAsset()
{
- $this->defaultOutput->writeln('Step 4 of 4. Installing assets.');
+ $this->defaultOutput->writeln('Step 5 of 5. Installing assets.');
$this
->runCommand('assets:install')
diff --git a/src/Wallabag/CoreBundle/Tests/Command/InstallCommandTest.php b/src/Wallabag/CoreBundle/Tests/Command/InstallCommandTest.php
index bb8fb8888..bd61f750a 100644
--- a/src/Wallabag/CoreBundle/Tests/Command/InstallCommandTest.php
+++ b/src/Wallabag/CoreBundle/Tests/Command/InstallCommandTest.php
@@ -67,10 +67,11 @@ class InstallCommandTest extends WallabagCoreTestCase
'command' => $command->getName(),
));
- $this->assertContains('Step 1 of 4. Checking system requirements.', $tester->getDisplay());
- $this->assertContains('Step 2 of 4. Setting up database.', $tester->getDisplay());
- $this->assertContains('Step 3 of 4. Administration setup.', $tester->getDisplay());
- $this->assertContains('Step 4 of 4. Installing assets.', $tester->getDisplay());
+ $this->assertContains('Checking system requirements.', $tester->getDisplay());
+ $this->assertContains('Setting up database.', $tester->getDisplay());
+ $this->assertContains('Administration setup.', $tester->getDisplay());
+ $this->assertContains('Config setup.', $tester->getDisplay());
+ $this->assertContains('Installing assets.', $tester->getDisplay());
}
public function testRunInstallCommandWithReset()
@@ -97,11 +98,12 @@ class InstallCommandTest extends WallabagCoreTestCase
'--reset' => true,
));
- $this->assertContains('Step 1 of 4. Checking system requirements.', $tester->getDisplay());
- $this->assertContains('Step 2 of 4. Setting up database.', $tester->getDisplay());
+ $this->assertContains('Checking system requirements.', $tester->getDisplay());
+ $this->assertContains('Setting up database.', $tester->getDisplay());
$this->assertContains('Droping database, creating database and schema, clearing the cache', $tester->getDisplay());
- $this->assertContains('Step 3 of 4. Administration setup.', $tester->getDisplay());
- $this->assertContains('Step 4 of 4. Installing assets.', $tester->getDisplay());
+ $this->assertContains('Administration setup.', $tester->getDisplay());
+ $this->assertContains('Config setup.', $tester->getDisplay());
+ $this->assertContains('Installing assets.', $tester->getDisplay());
// we force to reset everything
$this->assertContains('Droping database, creating database and schema, clearing the cache', $tester->getDisplay());
@@ -142,10 +144,11 @@ class InstallCommandTest extends WallabagCoreTestCase
'command' => $command->getName(),
));
- $this->assertContains('Step 1 of 4. Checking system requirements.', $tester->getDisplay());
- $this->assertContains('Step 2 of 4. Setting up database.', $tester->getDisplay());
- $this->assertContains('Step 3 of 4. Administration setup.', $tester->getDisplay());
- $this->assertContains('Step 4 of 4. Installing assets.', $tester->getDisplay());
+ $this->assertContains('Checking system requirements.', $tester->getDisplay());
+ $this->assertContains('Setting up database.', $tester->getDisplay());
+ $this->assertContains('Administration setup.', $tester->getDisplay());
+ $this->assertContains('Config setup.', $tester->getDisplay());
+ $this->assertContains('Installing assets.', $tester->getDisplay());
// the current database doesn't already exist
$this->assertContains('Creating database and schema, clearing the cache', $tester->getDisplay());
@@ -179,10 +182,11 @@ class InstallCommandTest extends WallabagCoreTestCase
'command' => $command->getName(),
));
- $this->assertContains('Step 1 of 4. Checking system requirements.', $tester->getDisplay());
- $this->assertContains('Step 2 of 4. Setting up database.', $tester->getDisplay());
- $this->assertContains('Step 3 of 4. Administration setup.', $tester->getDisplay());
- $this->assertContains('Step 4 of 4. Installing assets.', $tester->getDisplay());
+ $this->assertContains('Checking system requirements.', $tester->getDisplay());
+ $this->assertContains('Setting up database.', $tester->getDisplay());
+ $this->assertContains('Administration setup.', $tester->getDisplay());
+ $this->assertContains('Config setup.', $tester->getDisplay());
+ $this->assertContains('Installing assets.', $tester->getDisplay());
$this->assertContains('Droping schema and creating schema', $tester->getDisplay());
}
@@ -233,10 +237,11 @@ class InstallCommandTest extends WallabagCoreTestCase
'command' => $command->getName(),
));
- $this->assertContains('Step 1 of 4. Checking system requirements.', $tester->getDisplay());
- $this->assertContains('Step 2 of 4. Setting up database.', $tester->getDisplay());
- $this->assertContains('Step 3 of 4. Administration setup.', $tester->getDisplay());
- $this->assertContains('Step 4 of 4. Installing assets.', $tester->getDisplay());
+ $this->assertContains('Checking system requirements.', $tester->getDisplay());
+ $this->assertContains('Setting up database.', $tester->getDisplay());
+ $this->assertContains('Administration setup.', $tester->getDisplay());
+ $this->assertContains('Config setup.', $tester->getDisplay());
+ $this->assertContains('Installing assets.', $tester->getDisplay());
$this->assertContains('Creating schema', $tester->getDisplay());
}
@@ -265,9 +270,10 @@ class InstallCommandTest extends WallabagCoreTestCase
'--no-interaction' => true,
));
- $this->assertContains('Step 1 of 4. Checking system requirements.', $tester->getDisplay());
- $this->assertContains('Step 2 of 4. Setting up database.', $tester->getDisplay());
- $this->assertContains('Step 3 of 4. Administration setup.', $tester->getDisplay());
- $this->assertContains('Step 4 of 4. Installing assets.', $tester->getDisplay());
+ $this->assertContains('Checking system requirements.', $tester->getDisplay());
+ $this->assertContains('Setting up database.', $tester->getDisplay());
+ $this->assertContains('Administration setup.', $tester->getDisplay());
+ $this->assertContains('Config setup.', $tester->getDisplay());
+ $this->assertContains('Installing assets.', $tester->getDisplay());
}
}