22-05-2026 Optimierung der User und Admin Panels
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (push) Has been cancelled

This commit is contained in:
Kevin Adametz 2026-05-22 11:18:59 +02:00
parent d2ba22c0cf
commit e8c47b7553
73 changed files with 10282 additions and 1546 deletions

View file

@ -7,6 +7,7 @@ use App\Models\Profile;
use App\Models\User;
use App\Models\UserFilterPreset;
use Database\Seeders\RolesAndPermissionsSeeder;
use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Support\Facades\Storage;
use Livewire\Volt\Volt as LivewireVolt;
use Tests\TestCase;
@ -555,6 +556,61 @@ test('admin can open user details modal from users index and see company link st
->assertSet('contactLookup', '');
});
test('admin users index free text search matches names and email parts', function () {
/** @var TestCase $this */
$this->seed(RolesAndPermissionsSeeder::class);
$admin = User::factory()->create();
$admin->assignRole('admin');
User::factory()->create([
'name' => 'Seabstian Einrock',
'email' => 'info@connectar.de',
])->assignRole('customer');
User::factory()->create([
'name' => 'Barbara Barr',
'email' => 'barbara@example.com',
])->assignRole('customer');
$this->actingAs($admin);
LivewireVolt::test('admin.users')
->set('search', 'Seabstian')
->assertSee('info@connectar.de')
->assertDontSee('barbara@example.com')
->set('search', 'Einrock')
->assertSee('info@connectar.de')
->assertDontSee('barbara@example.com')
->set('search', 'connectar.de')
->assertSee('Seabstian Einrock')
->assertDontSee('Barbara Barr')
->set('search', 'Seabstian Einrock info@connectar.de')
->assertSee('info@connectar.de')
->assertDontSee('barbara@example.com')
->set('search', 'Barr')
->assertSee('barbara@example.com')
->assertDontSee('info@connectar.de');
});
test('admin users index uses full count pagination', function () {
/** @var TestCase $this */
$this->seed(RolesAndPermissionsSeeder::class);
$admin = User::factory()->create();
$admin->assignRole('admin');
User::factory()->count(51)->create();
$this->actingAs($admin);
LivewireVolt::test('admin.users')
->assertViewHas('users', fn ($users): bool => $users instanceof LengthAwarePaginator
&& $users->perPage() === 50
&& $users->total() === 52
&& $users->lastPage() === 2);
});
test('admin users index supports workflow filters and quality badges', function () {
/** @var TestCase $this */
$this->seed(RolesAndPermissionsSeeder::class);