Files
SkinbaseNova/tests/Feature/Auth/OnboardingUxTest.php

54 lines
1.6 KiB
PHP

<?php
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
uses(RefreshDatabase::class);
it('shows onboarding progress and status on setup password page', function () {
$user = User::factory()->create([
'onboarding_step' => 'verified',
]);
$this->actingAs($user)
->withSession(['status' => 'Email verified. Continue with password setup.'])
->get('/setup/password')
->assertOk()
->assertSee('Email')
->assertSee('Verified')
->assertSee('Password')
->assertSee('Username')
->assertSee('Email verified. Continue with password setup.');
});
it('shows onboarding progress and status on setup username page', function () {
$user = User::factory()->create([
'onboarding_step' => 'password',
]);
$this->actingAs($user)
->withSession(['status' => 'Password saved. Choose your public username to finish setup.'])
->get('/setup/username')
->assertOk()
->assertSee('Email')
->assertSee('Verified')
->assertSee('Password')
->assertSee('Username')
->assertSee('Password saved. Choose your public username to finish setup.');
});
it('returns clear validation message for weak setup password', function () {
$user = User::factory()->create([
'onboarding_step' => 'verified',
]);
$this->actingAs($user)
->from('/setup/password')
->post('/setup/password', [
'password' => 'short',
'password_confirmation' => 'short',
])
->assertRedirect('/setup/password')
->assertSessionHasErrors('password');
});