'users_access']); $admin = User::factory()->create(); $adminRole = Role::firstOrCreate(['name' => 'admin']); $admin->assignRole($adminRole); $admin->givePermissionTo('users_access'); $user = User::factory()->create(); $response = $this ->actingAs($admin) ->delete('/users/' . $user->id); $response->assertRedirect(route('users.index')); $this->assertSoftDeleted($user); $this->assertNotNull($user->fresh()->deleted_at); }); test('deleted users can be listed and restored', function () { Permission::firstOrCreate(['name' => 'users_access']); $admin = User::factory()->create(); $adminRole = Role::firstOrCreate(['name' => 'admin']); $admin->assignRole($adminRole); $admin->givePermissionTo('users_access'); $user = User::factory()->create(); $user->delete(); $indexResponse = $this->actingAs($admin)->get('/users/deleted'); $indexResponse->assertOk(); $indexResponse->assertSee($user->email); $restoreResponse = $this->actingAs($admin)->post('/users/' . $user->id . '/restore'); $restoreResponse->assertRedirect(route('users.deleted')); $this->assertNull($user->fresh()->deleted_at); }); test('edit page does not render nested forms for user actions', function () { Permission::firstOrCreate(['name' => 'users_access']); $admin = User::factory()->create(); $adminRole = Role::firstOrCreate(['name' => 'admin']); $admin->assignRole($adminRole); $admin->givePermissionTo('users_access'); $user = User::factory()->create(); $response = $this->actingAs($admin)->get('/users/' . $user->id . '/edit'); $response->assertOk(); $html = $response->getContent(); $this->assertDoesNotMatchRegularExpression( '/]*action="[^"]*\/users\/' . preg_quote((string) $user->id, '/') . '[^"]*"[^>]*>(?:(?!<\/form>).)*