getDisplay()` or `->getStatusCode()` on it. * * @param Command $command * @param array $arguments The command line arguments, array of key=>value * Examples: * - named arguments: ['model' => 'Post'] * - boolean flags: ['--all' => true] * - arguments with values: ['--arg' => 'value'] * @param array $interactiveInput Interactive responses to the command * I.e. anything the command `->ask()` or `->confirm()`, etc. * @return CommandTester */ protected function runCommand(Command $command, array $arguments = [], array $interactiveInput = []): CommandTester { $this->withoutMockingConsoleOutput(); $command->setLaravel($this->app); $tester = new CommandTester($command); $tester->setInputs($interactiveInput); $tester->execute($arguments); return $tester; } protected function assertMatchesPhpSnapshot(?string $actualContent) { $this->assertMatchesSnapshot($actualContent, new SnapshotPhpDriver()); } protected function assertMatchesTxtSnapshot(?string $actualContent) { $this->assertMatchesSnapshot($actualContent, new SnapshotTxtDriver()); } protected function mockFilesystem() { $mockFilesystem = Mockery::mock(Filesystem::class); $mockFilesystem ->shouldReceive('get') ->andReturnUsing(function ($file) { return file_get_contents($file); }); $mockFilesystem ->shouldReceive('put') ->with( Mockery::any(), Mockery::any() ) ->andReturnUsing(function ($path, $contents) { $this->mockFilesystemOutput .= $contents; return strlen($contents); }); $this->instance(Filesystem::class, $mockFilesystem); $this->instance('files', $mockFilesystem); } }