framework/tests/Install/DefaultInstallationCommandTest.php
Daniël Klabbers c4a501f82a
Improved foundational backend unit tests (#1405)
* part one of adding tests, updating core

* Apply fixes from StyleCI

[ci skip] [skip ci]

* we need xdebug for code coverage, and hhvm was already removed

* forgot about the sidecar for mysql completely 🤦

* gitignore removed this installed json we need to fake that we have extensions

* using reguarded closure
2018-04-17 11:15:28 +02:00

52 lines
1.4 KiB
PHP

<?php
/*
* This file is part of Flarum.
*
* (c) Toby Zerner <toby.zerner@gmail.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Flarum\Tests\Install;
use Flarum\Install\Console\InstallCommand;
use Flarum\Install\InstallServiceProvider;
use Flarum\Tests\Test\TestCase;
use Flarum\User\User;
use Symfony\Component\Console\Input\StringInput;
use Symfony\Component\Console\Output\StreamOutput;
class DefaultInstallationCommandTest extends TestCase
{
protected $isInstalled = false;
/**
* @test
*/
public function allows_forum_installation()
{
if (file_exists($this->app->basePath().DIRECTORY_SEPARATOR.'config.php')) {
unlink($this->app->basePath().DIRECTORY_SEPARATOR.'config.php');
}
$this->app->register(InstallServiceProvider::class);
/** @var InstallCommand $command */
$command = $this->app->make(InstallCommand::class);
$command->setDataSource($this->configuration);
$body = fopen('php://temp', 'wb+');
$input = new StringInput('');
$output = new StreamOutput($body);
$command->run($input, $output);
$this->assertFileExists($this->app->basePath().DIRECTORY_SEPARATOR.'config.php');
$admin = $this->configuration->getAdminUser();
$this->assertEquals(User::find(1)->username, $admin['username']);
}
}