Skip to content

Commit 664123b

Browse files
simonhampclaude
andauthored
Fix Filament infolist Section class not found error (#321)
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 c256eff commit 664123b

3 files changed

Lines changed: 52 additions & 2 deletions

File tree

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)