39 lines
1.3 KiB
PHP
39 lines
1.3 KiB
PHP
<?php
|
|
|
|
use App\Models\Invitation;
|
|
use App\Models\TeamMember;
|
|
use App\Models\User;
|
|
use function Pest\Laravel\actingAs;
|
|
use function Pest\Laravel\get;
|
|
|
|
it('redirects guests to login', function () {
|
|
get(route('team.index'))->assertRedirect(route('login'));
|
|
});
|
|
|
|
it('renders team page chrome', function () {
|
|
$user = User::factory()->create(['email_verified_at' => now()]);
|
|
|
|
actingAs($user)->get(route('team.index'))
|
|
->assertStatus(200)
|
|
->assertSeeText('Team')
|
|
->assertSeeText('Mitglieder')
|
|
->assertSeeText('Admins')
|
|
->assertSeeText('Einladungen offen')
|
|
->assertSeeText('2FA Coverage')
|
|
->assertSeeText('Offene Einladungen');
|
|
});
|
|
|
|
it('lists team members and invitations', function () {
|
|
$user = User::factory()->create(['email_verified_at' => now()]);
|
|
$u1 = User::factory()->create(['name' => 'Anna Test', 'email' => 'anna@ex.test']);
|
|
TeamMember::factory()->create(['user_id' => $u1->id, 'role' => 'admin']);
|
|
Invitation::factory()->create(['email' => 'pending@ex.test', 'invited_by_user_id' => $user->id]);
|
|
|
|
actingAs($user)->get(route('team.index'))
|
|
->assertStatus(200)
|
|
->assertSeeText('Anna Test')
|
|
->assertSeeText('anna@ex.test')
|
|
->assertSeeText('ADMIN')
|
|
->assertSeeText('pending@ex.test');
|
|
});
|