assertStatus(200) ->assertSeeText([ 'Login', 'Create Account', ]); }); it('shows a registration page only if not logged in', function () { // Act & Assert get('/register') ->assertStatus(200) ->assertSeeText([ 'Registration Code', 'Email address', ]); $user = User::factory()->create(); $this->actingAs($user); get('/register') ->assertStatus(302) ->assertRedirect(route('dashboard')); }); it('shows a login page only if not logged in', function () { get('/login') ->assertStatus(200) ->assertSeeText([ 'Log In', 'Click here to register', ]); $user = User::factory()->create(); $this->actingAs($user); get('/register') ->assertStatus(302) ->assertRedirect(route('dashboard')); }); it('shows dashboard only if logged in', function () { get(route('dashboard')) ->assertStatus(302) ->assertRedirect(route('home')); $user = User::factory()->create(); $this->actingAs($user); get(route('dashboard')) ->assertStatus(200) ->assertSeeText('My School') ->assertSeeText('Dashboard'); }); it('shows students index only for a user with a school', function () { // Act & Assert get(route('students.index')) ->assertStatus(302) ->assertRedirect(route('home')); $user = User::factory()->create(); $this->actingAs($user); get(route('students.index')) ->assertStatus(403); $school = School::factory()->create(); $user->school_id = $school->id; get(route('students.index')) ->assertStatus(200) ->assertSeeText('Student Listing'); });