__DIR__]); $app->useDatabasePath(__DIR__); $command->setLaravel($app); $migrator->shouldReceive('paths')->once()->andReturn([]); $migrator->shouldReceive('usingConnection')->once()->with(null, m::type(Closure::class))->andReturnUsing(function ($connection, $callback) { $callback(); }); $migrator->shouldReceive('repositoryExists')->once()->andReturn(true); $migrator->shouldReceive('setOutput')->once()->andReturn($migrator); $migrator->shouldReceive('reset')->once()->with([__DIR__.DIRECTORY_SEPARATOR.'migrations'], false); $this->runCommand($command); } public function testResetCommandCanBePretended() { $command = new ResetCommand($migrator = m::mock(Migrator::class)); $app = new ApplicationDatabaseResetStub(['path.database' => __DIR__]); $app->useDatabasePath(__DIR__); $command->setLaravel($app); $migrator->shouldReceive('paths')->once()->andReturn([]); $migrator->shouldReceive('usingConnection')->once()->with('foo', m::type(Closure::class))->andReturnUsing(function ($connection, $callback) { $callback(); }); $migrator->shouldReceive('repositoryExists')->once()->andReturn(true); $migrator->shouldReceive('setOutput')->once()->andReturn($migrator); $migrator->shouldReceive('reset')->once()->with([__DIR__.DIRECTORY_SEPARATOR.'migrations'], true); $this->runCommand($command, ['--pretend' => true, '--database' => 'foo']); } protected function runCommand($command, $input = []) { return $command->run(new ArrayInput($input), new NullOutput); } } class ApplicationDatabaseResetStub extends Application { public function __construct(array $data = []) { foreach ($data as $abstract => $instance) { $this->instance($abstract, $instance); } } public function environment(...$environments) { return 'development'; } }