54 lines
1.6 KiB
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');
|
|
});
|