Хочу проверить, присоединяется ли роль
"common_user"
при создании пользователя
Создал Observer, в котором при создании пользователя добавляю роль (в бд все нормально добавляется, и выводит true):
class UserObserver
{
/**
* Handle to the user "created" event.
*
* @param \App\User $user
* @return void
*/
public function created(User $user)
{
$role = Role::where('name', 'common_user')->first();
$user->attachRole($role);
// dd($user->hasRole('common_user')); // здесь пишит true, то есть у пользователя роль добавилась
}
Но в самом тесте:
public function test_created_user_has_user_role()
{
$email = $this->faker->email;
$this->postJson(
route('user.create'),
[
'email' => $email,
'password' => $this->faker->password,
'name' => $this->faker->name
]
);
$user = User::where('email', $email)->first();
$this->assertNotNull(1, $user); // пользователь создан, (так же в Oberver'e true на присоединенной роли)
// dd(Role::all()); // здесь просто проверил добавились ли роли (ДА, добавились)
// $user->fresh(['roles']); // здесь пытался обновить модель, но не вышло
// dd($user->roles); // здесь выводит Null, не понимаю почему
// $testUser = User::where('email', $email)->first(); // попробовал получить новую модель
// dd($testUser->roles); // почему то тоже отсутствуют роли...
$this->assertTrue($user->hasRole('common_user')); // соответственно тут срабатывает ошибка, тк false
}
То есть получается, что роли создались, присоединились к пользователю, но все равно какая то ошибка..