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'); });