|
3 | 3 | namespace Tests\Feature; |
4 | 4 |
|
5 | 5 | use App\Filament\Resources\SupportTicketResource; |
| 6 | +use App\Filament\Resources\SupportTicketResource\Pages\ListSupportTickets; |
6 | 7 | use App\Filament\Resources\SupportTicketResource\Pages\ViewSupportTicket; |
7 | 8 | use App\Filament\Resources\SupportTicketResource\Widgets\TicketRepliesWidget; |
8 | 9 | use App\Livewire\Customer\Support\Create; |
@@ -1238,6 +1239,30 @@ public function only_internal_notes_can_be_pinned(): void |
1238 | 1239 | ->call('togglePin', $reply->id); |
1239 | 1240 | } |
1240 | 1241 |
|
| 1242 | + #[Test] |
| 1243 | + public function admin_list_page_tabs_filter_tickets_by_status(): void |
| 1244 | + { |
| 1245 | + $admin = User::factory()->create(['email' => 'admin@test.com']); |
| 1246 | + config(['filament.users' => ['admin@test.com']]); |
| 1247 | + |
| 1248 | + $openTicket = SupportTicket::factory()->create(['status' => Status::OPEN]); |
| 1249 | + $inProgressTicket = SupportTicket::factory()->create(['status' => Status::IN_PROGRESS]); |
| 1250 | + $onHoldTicket = SupportTicket::factory()->create(['status' => Status::ON_HOLD]); |
| 1251 | + |
| 1252 | + Livewire::actingAs($admin) |
| 1253 | + ->test(ListSupportTickets::class) |
| 1254 | + ->assertCanSeeTableRecords([$openTicket, $inProgressTicket, $onHoldTicket]) |
| 1255 | + ->set('activeTab', 'new') |
| 1256 | + ->assertCanSeeTableRecords([$openTicket]) |
| 1257 | + ->assertCanNotSeeTableRecords([$inProgressTicket, $onHoldTicket]) |
| 1258 | + ->set('activeTab', 'in_progress') |
| 1259 | + ->assertCanSeeTableRecords([$inProgressTicket]) |
| 1260 | + ->assertCanNotSeeTableRecords([$openTicket, $onHoldTicket]) |
| 1261 | + ->set('activeTab', 'on_hold') |
| 1262 | + ->assertCanSeeTableRecords([$onHoldTicket]) |
| 1263 | + ->assertCanNotSeeTableRecords([$openTicket, $inProgressTicket]); |
| 1264 | + } |
| 1265 | + |
1241 | 1266 | #[Test] |
1242 | 1267 | public function admin_view_page_shows_user_email_when_name_is_null(): void |
1243 | 1268 | { |
|
0 commit comments