Files
SkinbaseNova/tests/Feature/Auth/EnsureOnboardingCompleteTest.php
2026-03-20 21:17:26 +01:00

56 lines
1.3 KiB
PHP

<?php
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
uses(RefreshDatabase::class);
it('redirects verified step user to setup password from profile', function () {
$user = User::factory()->create([
'onboarding_step' => 'verified',
]);
$this->actingAs($user)
->get('/profile')
->assertRedirect('/setup/password');
});
it('redirects password step user to setup username from upload', function () {
$user = User::factory()->create([
'onboarding_step' => 'password',
]);
$this->actingAs($user)
->get('/upload')
->assertRedirect('/setup/username');
});
it('redirects email step user to login from forum and gallery', function () {
$user = User::factory()->create([
'onboarding_step' => 'email',
]);
$this->actingAs($user)
->get('/forum')
->assertRedirect('/login');
$this->actingAs($user)
->get('/gallery/1/test')
->assertRedirect('/login');
});
it('allows complete onboarding user to access profile and upload', function () {
$user = User::factory()->create([
'onboarding_step' => 'complete',
]);
$this->actingAs($user)
->get('/profile')
->assertRedirect('/dashboard/profile')
->assertStatus(301);
$this->actingAs($user)
->get('/upload')
->assertOk();
});