getPage(); } /** * The index page of the resource shall be rendered. * * @return void */ public function testRenderIndexPage(): void { $user = User::factory() ->withPermissions( SpecialPermission::VIEW_FILAMENT->value, CrudPermission::VIEW->format(FeatureModel::class) ) ->createOne(); $this->actingAs($user); $records = FeatureModel::factory()->count(10)->create(); $this->get(Feature::getUrl('index')) ->assertSuccessful(); Livewire::test(static::getIndexPage()) ->assertCanSeeTableRecords($records); } /** * The user with no permissions cannot edit a record. * * @return void */ public function testUserCannotEditRecord(): void { $record = FeatureModel::factory()->createOne(); Livewire::test(static::getIndexPage()) ->assertTableActionHidden(EditAction::class, $record); } /** * The user with no permissions cannot delete a record. * * @return void */ public function testUserCannotDeleteRecord(): void { $record = FeatureModel::factory()->createOne(); Livewire::test(static::getIndexPage()) ->assertTableActionHidden(DeleteAction::class, $record); } /** * The user with no permissions cannot restore a record. * * @return void */ public function testUserCannotRestoreRecord(): void { $record = FeatureModel::factory()->createOne(); Livewire::test(static::getIndexPage()) ->assertTableActionHidden(RestoreAction::class, $record); } /** * The user with no permissions cannot force delete a record. * * @return void */ public function testUserCannotForceDeleteRecord(): void { $record = FeatureModel::factory()->createOne(); Livewire::test(static::getIndexPage()) ->assertTableActionHidden(ForceDeleteAction::class, $record); } }