create(); $this->actingAs($user); get(route('dashboard')) ->assertStatus(200) ->assertSeeText('Dashboard') ->assertDontSeeText('Students') ->assertDontSeeText('Entries'); $school = School::factory()->create(); $user->school_id = $school->id; $user->save(); get(route('dashboard')) ->assertStatus(200) ->assertSeeText('My School') ->assertSeeText('Dashboard') ->assertSeeText('Students') ->assertSeeText('Entries'); }); it('only shows Admin menu if an administrator only shows Tabulation if admin or tabulator', function () { // Arrange $user = User::factory()->create(); $adminUser = User::factory()->admin()->create(); $tabUser = User::factory()->tab()->create(); // Act & Assert $this->actingAs($user); get(route('dashboard')) ->assertStatus(200) ->assertDontSeeText('Administration'); $this->actingAs($adminUser); get(route('dashboard')) ->assertStatus(200) ->assertSeeText('Administration') ->assertSeeText('Tabulation'); $this->actingAs($tabUser); get(route('dashboard')) ->assertStatus(200) ->assertDontSeeText('Administration') ->assertSeeText('Tabulation'); });