DatabaseMigrationInstallCommandTest.php 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. <?php
  2. namespace Illuminate\Tests\Database;
  3. use Illuminate\Database\Console\Migrations\InstallCommand;
  4. use Illuminate\Database\Migrations\MigrationRepositoryInterface;
  5. use Illuminate\Foundation\Application;
  6. use Mockery as m;
  7. use PHPUnit\Framework\TestCase;
  8. use Symfony\Component\Console\Input\ArrayInput;
  9. use Symfony\Component\Console\Output\NullOutput;
  10. class DatabaseMigrationInstallCommandTest extends TestCase
  11. {
  12. protected function tearDown(): void
  13. {
  14. m::close();
  15. }
  16. public function testFireCallsRepositoryToInstall()
  17. {
  18. $command = new InstallCommand($repo = m::mock(MigrationRepositoryInterface::class));
  19. $command->setLaravel(new Application);
  20. $repo->shouldReceive('setSource')->once()->with('foo');
  21. $repo->shouldReceive('createRepository')->once();
  22. $this->runCommand($command, ['--database' => 'foo']);
  23. }
  24. protected function runCommand($command, $options = [])
  25. {
  26. return $command->run(new ArrayInput($options), new NullOutput);
  27. }
  28. }