TenantAtlas/tests/Feature/Onboarding/OnboardingTaskBoardVisibilityTest.php
2026-02-01 12:20:18 +01:00

46 lines
1.2 KiB
PHP

<?php
declare(strict_types=1);
use App\Filament\Pages\Onboarding\TenantOnboardingTaskBoard;
use App\Filament\Pages\Onboarding\TenantOnboardingWizard;
use App\Models\OnboardingSession;
use Filament\Facades\Filament;
use Illuminate\Foundation\Testing\RefreshDatabase;
uses(RefreshDatabase::class);
it('shows the task board starting step 4', function () {
[$user, $tenant] = createUserWithTenant(role: 'owner');
$session = OnboardingSession::factory()
->for($tenant)
->create([
'status' => 'in_progress',
'current_step' => 3,
]);
$this->actingAs($user);
Filament::setTenant($tenant, true);
$wizardUrl = TenantOnboardingWizard::getUrl(tenant: $tenant);
$taskBoardUrl = TenantOnboardingTaskBoard::getUrl(tenant: $tenant);
$this->get($wizardUrl)
->assertSuccessful()
->assertDontSee('Open task board');
$this->get($taskBoardUrl)
->assertRedirect($wizardUrl);
$session->update(['current_step' => 4]);
$this->get($wizardUrl)
->assertSuccessful()
->assertSee('Open task board');
$this->get($taskBoardUrl)
->assertSuccessful()
->assertSee('Onboarding task board');
});