mirror of https://github.com/kcal-app/kcal.git
Update `user:add` command for User model changes
This commit is contained in:
parent
489b48475e
commit
5541511d61
|
|
@ -15,7 +15,8 @@ class UserAdd extends Command
|
|||
protected $signature = 'user:add
|
||||
{username? : Username}
|
||||
{password? : Password}
|
||||
{--name= : User short name}';
|
||||
{--name= : User short name};
|
||||
{--admin : Makes the user an admin}';
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
|
|
@ -69,13 +70,14 @@ class UserAdd extends Command
|
|||
|
||||
$options = $this->options();
|
||||
if (!$options['name']) {
|
||||
$options['name'] = $this->ask('Enter a name for the user (optional)');
|
||||
$options['name'] = $this->ask('Enter a name for the user', $arguments['username']);
|
||||
}
|
||||
|
||||
User::create([
|
||||
'username' => $arguments['username'],
|
||||
'password' => Hash::make($arguments['password']),
|
||||
'name' => $options['name'] ?: $arguments['username'],
|
||||
'admin' => $options['admin'],
|
||||
'remember_token' => Str::random(10),
|
||||
])->save();
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ class UserAddTest extends TestCase
|
|||
->expectsQuestion('Enter a username for the user', $user->username)
|
||||
->expectsQuestion('Enter a password for the user (leave blank for a random password)', 'password')
|
||||
->expectsQuestion('Re-type the password to confirm', 'password')
|
||||
->expectsQuestion('Enter a name for the user (optional)', $user->name)
|
||||
->expectsQuestion('Enter a name for the user', $user->name)
|
||||
->assertExitCode(0);
|
||||
/** @var \App\Models\User $new_user */
|
||||
$new_user = User::whereUsername($user->username)->get()->first();
|
||||
|
|
@ -41,6 +41,24 @@ class UserAddTest extends TestCase
|
|||
$this->assertEquals($user->name, $new_user->name);
|
||||
}
|
||||
|
||||
public function testCanAddAdminUser(): void
|
||||
{
|
||||
/** @var \App\Models\User $user */
|
||||
$user = User::factory()->makeOne();
|
||||
$parameters = [
|
||||
'username' => $user->username,
|
||||
'password' => 'password',
|
||||
'--name' => $user->name,
|
||||
'--admin' => true,
|
||||
];
|
||||
$this->artisan('user:add', $parameters)->assertExitCode(0);
|
||||
/** @var \App\Models\User $new_user */
|
||||
$new_user = User::whereUsername($user->username)->get()->first();
|
||||
$this->assertEquals($user->username, $new_user->username);
|
||||
$this->assertEquals($user->name, $new_user->name);
|
||||
$this->assertTrue($new_user->admin);
|
||||
}
|
||||
|
||||
public function testCanNotAddExistingUsername(): void
|
||||
{
|
||||
/** @var \App\Models\User $user */
|
||||
|
|
|
|||
Loading…
Reference in New Issue