ctrlpanel/tests/Unit/TestUserCommand.php
Shift 70208d2157
Apply Laravel coding style
Shift automatically applies the Laravel coding style - which uses the PSR-12 coding style as a base with some minor additions.

You may customize the code style applied by configuring [Pint](https://laravel.com/docs/pint), [PHP CS Fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer), or [PHP CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer) for your project root.

For more information on customizing the code style applied by Shift, [watch this short video](https://laravelshift.com/videos/shift-code-style).
2023-01-05 17:01:42 +00:00

53 lines
1.4 KiB
PHP

<?php
namespace Tests\Unit;
use App\Classes\Pterodactyl;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use Tests\TestCase;
class TestUserCommand extends TestCase
{
use DatabaseTransactions;
/**
* A basic feature test example.
*
* @dataProvider invalidPteroIdDataProvider
*
* @param array $apiResponse
* @param int $expectedExitCode
* @return void
*/
public function testMakeUserCommand(array $apiResponse, int $expectedExitCode): void
{
$pterodactyl = $this->getMockBuilder(Pterodactyl::class)->getMock();
$pterodactyl->expects(self::once())->method('getUser')->willReturn($apiResponse);
$this->app->instance(Pterodactyl::class, $pterodactyl);
$this->artisan('make:user')
->expectsQuestion('Please specify your Pterodactyl ID.', 0)
->expectsQuestion('Please specify your password.', 'password')
->assertExitCode($expectedExitCode);
}
public function invalidPteroIdDataProvider(): array
{
return [
'Good Response' => [
'apiResponse' => [
'id' => 12345,
'first_name' => 'Test',
'email' => 'test@test.test',
],
'expectedExitCode' => 1,
],
'Bad Response' => [
'apiResponse' => [],
'expectedExitCode' => 0,
],
];
}
}