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