actingAs(User::factory()->create()) ->post(route('departments.store'), [ 'name' => 'Test Department', ]) ->assertStatus(403) ->assertForbidden(); } public function testPageRenders() { $this->actingAs(User::factory()->superuser()->create()) ->get(route('departments.edit', Department::factory()->create()->id)) ->assertOk(); } public function testUserCanEditDepartments() { $department = Department::factory()->create(['name' => 'Test Department']); $this->assertTrue(Department::where('name', 'Test Department')->exists()); $response = $this->actingAs(User::factory()->superuser()->create()) ->put(route('departments.update', ['department' => $department]), [ 'name' => 'Test Department Edited', 'notes' => 'Test Note Edited', ]) ->assertStatus(302) ->assertSessionHasNoErrors() ->assertRedirect(route('departments.index')); $this->followRedirects($response)->assertSee('Success'); $this->assertTrue(Department::where('name', 'Test Department Edited')->where('notes', 'Test Note Edited')->exists()); } }