Create tests for app/actions/fortify/CreateNewUser
This commit is contained in:
parent
d994e906e1
commit
a5928350a7
|
|
@ -61,7 +61,7 @@ class CreateNewUser implements CreatesNewUsers
|
||||||
'user' => $input['email'],
|
'user' => $input['email'],
|
||||||
'ip_address' => request()->ip(),
|
'ip_address' => request()->ip(),
|
||||||
'message' => $message,
|
'message' => $message,
|
||||||
'affected' => ['users' => $user->id],
|
'affected' => ['users' => [$user->id]],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
return $user;
|
return $user;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use App\Actions\Fortify\CreateNewUser;
|
||||||
|
use App\Models\User;
|
||||||
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||||
|
use Illuminate\Validation\ValidationException;
|
||||||
|
|
||||||
|
uses(RefreshDatabase::class);
|
||||||
|
|
||||||
|
beforeEach(function () {
|
||||||
|
$this->createArray = [
|
||||||
|
'registration_code' => auditionSetting('registrationCode'),
|
||||||
|
'first_name' => fake()->firstName(),
|
||||||
|
'last_name' => fake()->lastName(),
|
||||||
|
'judging_preference' => 'Sarrousaphone',
|
||||||
|
'cell_phone' => fake()->phoneNumber(),
|
||||||
|
'email' => fake()->safeEmail(),
|
||||||
|
'password' => '<PASSWORD>',
|
||||||
|
'password_confirmation' => '<PASSWORD>',
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
|
it('creates a new user', function () {
|
||||||
|
$creator = app(CreateNewUser::class);
|
||||||
|
$newUser = $creator->create($this->createArray);
|
||||||
|
expect(User::where('email', $this->createArray['email'])->exists())->toBeTrue();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('fails when an invalid registration code is used', function () {
|
||||||
|
$creator = app(CreateNewUser::class);
|
||||||
|
$this->createArray['registration_code'] = 'invalid';
|
||||||
|
$newUser = $creator->create($this->createArray);
|
||||||
|
|
||||||
|
})->throws(ValidationException::class, 'Incorrect registration code provided');
|
||||||
|
|
||||||
|
it('logs user creation', function () {
|
||||||
|
$creator = app(CreateNewUser::class);
|
||||||
|
$newUser = $creator->create($this->createArray);
|
||||||
|
$logEntry = \App\Models\AuditLogEntry::first();
|
||||||
|
expect($logEntry->message)->toStartWith('New User Registered')
|
||||||
|
->and($logEntry->affected['users'])->toEqual([$newUser->id]);
|
||||||
|
});
|
||||||
Loading…
Reference in New Issue