'test.permission.1', 'guard_name' => 'web', 'description' => 'test', 'group' => 'test']); $permission2 = Permission::create(['name' => 'test.permission.2', 'guard_name' => 'web', 'description' => 'test', 'group' => 'test']); $dto = new CreateRoleDTO( name: 'New Role', guard_name: 'web', permissions: ['test.permission.1', 'test.permission.2'] ); $action = new CreateSystemRole(); // Execute $result = $action->execute($dto); // Assert expect($result)->toBeTrue(); $this->assertDatabaseHas('roles', [ 'name' => 'New Role', 'guard_name' => 'web' ]); $role = Role::where('name', 'New Role')->first(); expect($role->hasPermissionTo('test.permission.1'))->toBeTrue() ->and($role->hasPermissionTo('test.permission.2'))->toBeTrue(); });