From 1448e9712945d94329b4369025f24bb1f8064f25 Mon Sep 17 00:00:00 2001 From: Simon Hamp Date: Mon, 30 Mar 2026 20:40:12 +0100 Subject: [PATCH] Fix Filament infolist Section class not found error Import Section from Filament\Schemas\Components instead of Filament\Infolists\Components, which no longer contains layout components in Filament v5. Co-Authored-By: Claude Opus 4.6 --- .../Pages/ViewSubscriptionItem.php | 3 +- .../Pages/ViewSubscription.php | 3 +- .../Filament/ViewSubscriptionPageTest.php | 48 +++++++++++++++++++ 3 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 tests/Feature/Filament/ViewSubscriptionPageTest.php diff --git a/app/Filament/Resources/SubscriptionItemResource/Pages/ViewSubscriptionItem.php b/app/Filament/Resources/SubscriptionItemResource/Pages/ViewSubscriptionItem.php index f9f7e937..05611351 100644 --- a/app/Filament/Resources/SubscriptionItemResource/Pages/ViewSubscriptionItem.php +++ b/app/Filament/Resources/SubscriptionItemResource/Pages/ViewSubscriptionItem.php @@ -15,6 +15,7 @@ use Filament\Infolists\Components; use Filament\Notifications\Notification; use Filament\Resources\Pages\ViewRecord; +use Filament\Schemas\Components\Section; use Filament\Schemas\Schema; use Laravel\Cashier\SubscriptionItem; @@ -79,7 +80,7 @@ public function infolist(Schema $schema): Schema { return $schema ->schema([ - Components\Section::make('Subscription Item Details') + Section::make('Subscription Item Details') ->schema([ Components\TextEntry::make('subscription.id') ->label('Subscription ID') diff --git a/app/Filament/Resources/SubscriptionResource/Pages/ViewSubscription.php b/app/Filament/Resources/SubscriptionResource/Pages/ViewSubscription.php index 2b0bf014..fcaee490 100644 --- a/app/Filament/Resources/SubscriptionResource/Pages/ViewSubscription.php +++ b/app/Filament/Resources/SubscriptionResource/Pages/ViewSubscription.php @@ -8,6 +8,7 @@ use Filament\Actions; use Filament\Infolists\Components; use Filament\Resources\Pages\ViewRecord; +use Filament\Schemas\Components\Section; use Filament\Schemas\Schema; class ViewSubscription extends ViewRecord @@ -30,7 +31,7 @@ public function infolist(Schema $schema): Schema { return $schema ->schema([ - Components\Section::make('Subscription Details') + Section::make('Subscription Details') ->schema([ Components\TextEntry::make('user.email') ->label('User') diff --git a/tests/Feature/Filament/ViewSubscriptionPageTest.php b/tests/Feature/Filament/ViewSubscriptionPageTest.php new file mode 100644 index 00000000..fcd4f662 --- /dev/null +++ b/tests/Feature/Filament/ViewSubscriptionPageTest.php @@ -0,0 +1,48 @@ +admin = User::factory()->create(['email' => 'admin@test.com']); + config(['filament.users' => ['admin@test.com']]); + } + + public function test_view_subscription_page_renders_successfully(): void + { + $subscription = Subscription::factory()->create(); + + Livewire::actingAs($this->admin) + ->test(ViewSubscription::class, ['record' => $subscription->id]) + ->assertSuccessful(); + } + + public function test_view_subscription_item_page_renders_successfully(): void + { + $subscription = Subscription::factory()->create(); + $item = SubscriptionItem::factory()->create([ + 'subscription_id' => $subscription->id, + ]); + + Livewire::actingAs($this->admin) + ->test(ViewSubscriptionItem::class, ['record' => $item->id]) + ->assertSuccessful(); + } +}