blob: a091d66f3511086971c50fd812bffa6b185a6be7 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
<?php
namespace Wallabag\CoreBundle\Tests\Command;
use Wallabag\CoreBundle\Tests\WallabagTestCase;
use Wallabag\CoreBundle\Command\InstallCommand;
use Symfony\Bundle\FrameworkBundle\Console\Application;
use Symfony\Component\Console\Tester\CommandTester;
use Symfony\Component\Console\Input\ArrayInput;
use Symfony\Component\Console\Output\NullOutput;
class InstallCommandTest extends WallabagTestCase
{
public function tearDown()
{
parent::tearDown();
$application = new Application(static::$kernel);
$application->setAutoExit(false);
$code = $application->run(new ArrayInput(array(
'command' => 'doctrine:fixtures:load',
'--no-interaction' => true,
'--env' => 'test',
)), new NullOutput());
}
public function testRunInstallCommand()
{
$this->container = static::$kernel->getContainer();
$application = new Application(static::$kernel);
$application->add(new InstallCommand());
$command = $application->find('wallabag:install');
// We mock the DialogHelper
$dialog = $this->getMockBuilder('Symfony\Component\Console\Helper\DialogHelper')
->disableOriginalConstructor()
->getMock();
$dialog->expects($this->any())
->method('ask')
->will($this->returnValue('test'));
$dialog->expects($this->any())
->method('askConfirmation')
->will($this->returnValue(true));
// We override the standard helper with our mock
$command->getHelperSet()->set($dialog, 'dialog');
$tester = new CommandTester($command);
$tester->execute(array(
'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());
}
}
|