Skip to content

Commit 1448e97

Browse files
simonhampclaude
andcommitted
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 <noreply@anthropic.com>
1 parent 659d063 commit 1448e97

File tree

3 files changed

+52
-2
lines changed

3 files changed

+52
-2
lines changed

app/Filament/Resources/SubscriptionItemResource/Pages/ViewSubscriptionItem.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
use Filament\Infolists\Components;
1616
use Filament\Notifications\Notification;
1717
use Filament\Resources\Pages\ViewRecord;
18+
use Filament\Schemas\Components\Section;
1819
use Filament\Schemas\Schema;
1920
use Laravel\Cashier\SubscriptionItem;
2021

@@ -79,7 +80,7 @@ public function infolist(Schema $schema): Schema
7980
{
8081
return $schema
8182
->schema([
82-
Components\Section::make('Subscription Item Details')
83+
Section::make('Subscription Item Details')
8384
->schema([
8485
Components\TextEntry::make('subscription.id')
8586
->label('Subscription ID')

app/Filament/Resources/SubscriptionResource/Pages/ViewSubscription.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use Filament\Actions;
99
use Filament\Infolists\Components;
1010
use Filament\Resources\Pages\ViewRecord;
11+
use Filament\Schemas\Components\Section;
1112
use Filament\Schemas\Schema;
1213

1314
class ViewSubscription extends ViewRecord
@@ -30,7 +31,7 @@ public function infolist(Schema $schema): Schema
3031
{
3132
return $schema
3233
->schema([
33-
Components\Section::make('Subscription Details')
34+
Section::make('Subscription Details')
3435
->schema([
3536
Components\TextEntry::make('user.email')
3637
->label('User')
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
<?php
2+
3+
namespace Tests\Feature\Filament;
4+
5+
use App\Filament\Resources\SubscriptionItemResource\Pages\ViewSubscriptionItem;
6+
use App\Filament\Resources\SubscriptionResource\Pages\ViewSubscription;
7+
use App\Models\User;
8+
use Illuminate\Foundation\Testing\RefreshDatabase;
9+
use Laravel\Cashier\Subscription;
10+
use Laravel\Cashier\SubscriptionItem;
11+
use Livewire\Livewire;
12+
use Tests\TestCase;
13+
14+
class ViewSubscriptionPageTest extends TestCase
15+
{
16+
use RefreshDatabase;
17+
18+
private User $admin;
19+
20+
protected function setUp(): void
21+
{
22+
parent::setUp();
23+
24+
$this->admin = User::factory()->create(['email' => 'admin@test.com']);
25+
config(['filament.users' => ['admin@test.com']]);
26+
}
27+
28+
public function test_view_subscription_page_renders_successfully(): void
29+
{
30+
$subscription = Subscription::factory()->create();
31+
32+
Livewire::actingAs($this->admin)
33+
->test(ViewSubscription::class, ['record' => $subscription->id])
34+
->assertSuccessful();
35+
}
36+
37+
public function test_view_subscription_item_page_renders_successfully(): void
38+
{
39+
$subscription = Subscription::factory()->create();
40+
$item = SubscriptionItem::factory()->create([
41+
'subscription_id' => $subscription->id,
42+
]);
43+
44+
Livewire::actingAs($this->admin)
45+
->test(ViewSubscriptionItem::class, ['record' => $item->id])
46+
->assertSuccessful();
47+
}
48+
}

0 commit comments

Comments
 (0)