clupilot/app/tests/Feature/Pages/TeamPageTest.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');
});