chore: code refactor via rector
This commit is contained in:
@@ -2,6 +2,27 @@
|
||||
|
||||
namespace Tests\Feature\Filament;
|
||||
|
||||
use App\Filament\Resources\TicketResource\Pages\ListTickets;
|
||||
use App\Filament\Resources\TicketResource\Pages\EditTicket;
|
||||
use App\Filament\Resources\TicketResource\RelationManagers\ResponsesRelationManager;
|
||||
use App\Filament\Resources\TicketResource;
|
||||
use App\Filament\Resources\PlanResource\Pages\ListPlans;
|
||||
use App\Filament\Resources\PlanResource\Pages\EditPlan;
|
||||
use App\Filament\Resources\BlogResource\Pages\ListBlogs;
|
||||
use App\Filament\Resources\BlogResource\Pages\EditBlog;
|
||||
use App\Filament\Resources\CategoryResource\Pages\ListCategories;
|
||||
use App\Filament\Resources\CategoryResource\Pages\CreateCategory;
|
||||
use App\Filament\Resources\CategoryResource\Pages\EditCategory;
|
||||
use App\Filament\Resources\PageResource\Pages\ListPages;
|
||||
use App\Filament\Resources\PageResource\Pages\CreatePage;
|
||||
use App\Filament\Resources\PageResource\Pages\EditPage;
|
||||
use App\Filament\Resources\MenuResource\Pages\ListMenus;
|
||||
use App\Filament\Resources\MenuResource\Pages\CreateMenu;
|
||||
use App\Filament\Resources\UserResource\Pages\ListUsers;
|
||||
use App\Filament\Resources\UserResource;
|
||||
use App\Filament\Resources\PlanResource;
|
||||
use App\Filament\Resources\BlogResource;
|
||||
use App\Filament\Resources\UserResource\Pages\CreateUser;
|
||||
use App\Filament\Resources\BlogResource\Pages\CreateBlog;
|
||||
use App\Filament\Resources\PlanResource\Pages\CreatePlan;
|
||||
use App\Filament\Resources\TicketResource\Pages\CreateTicket;
|
||||
@@ -13,12 +34,12 @@ use App\Models\Plan;
|
||||
use App\Models\Ticket;
|
||||
use App\Models\TicketResponse;
|
||||
use App\Models\User;
|
||||
use Filament\Facades\Filament;
|
||||
use Livewire\Livewire;
|
||||
use Tests\TestCase;
|
||||
|
||||
class ResourcesTest extends TestCase
|
||||
{
|
||||
public $adminUser;
|
||||
protected function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
@@ -37,47 +58,47 @@ class ResourcesTest extends TestCase
|
||||
|
||||
// Ticket Resource Tests
|
||||
/** @test */
|
||||
public function it_renders_ticket_resource_list_page()
|
||||
public function it_renders_ticket_resource_list_page(): void
|
||||
{
|
||||
Livewire::test(\App\Filament\Resources\TicketResource\Pages\ListTickets::class)
|
||||
Livewire::test(ListTickets::class)
|
||||
->assertSuccessful();
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_displays_tickets_in_table()
|
||||
public function it_displays_tickets_in_table(): void
|
||||
{
|
||||
$tickets = Ticket::factory()->count(5)->create();
|
||||
|
||||
Livewire::test(\App\Filament\Resources\TicketResource\Pages\ListTickets::class)
|
||||
Livewire::test(ListTickets::class)
|
||||
->assertCanSeeTableRecords($tickets);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_search_tickets_by_subject()
|
||||
public function it_can_search_tickets_by_subject(): void
|
||||
{
|
||||
$ticket1 = Ticket::factory()->create(['subject' => 'Login Issue']);
|
||||
$ticket2 = Ticket::factory()->create(['subject' => 'Payment Problem']);
|
||||
Ticket::factory()->create(['subject' => 'Login Issue']);
|
||||
Ticket::factory()->create(['subject' => 'Payment Problem']);
|
||||
|
||||
Livewire::test(\App\Filament\Resources\TicketResource\Pages\ListTickets::class)
|
||||
Livewire::test(ListTickets::class)
|
||||
->searchTable('Login')
|
||||
->assertSee('Login Issue')
|
||||
->assertDontSee('Payment Problem');
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_filter_tickets_by_status()
|
||||
public function it_can_filter_tickets_by_status(): void
|
||||
{
|
||||
$pendingTicket = Ticket::factory()->create(['status' => 'pending']);
|
||||
$closedTicket = Ticket::factory()->create(['status' => 'closed']);
|
||||
|
||||
Livewire::test(\App\Filament\Resources\TicketResource\Pages\ListTickets::class)
|
||||
Livewire::test(ListTickets::class)
|
||||
->filterTable('status', 'pending')
|
||||
->assertCanSeeTableRecords([$pendingTicket])
|
||||
->assertCanNotSeeTableRecords([$closedTicket]);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_create_new_ticket()
|
||||
public function it_can_create_new_ticket(): void
|
||||
{
|
||||
$user = User::factory()->create();
|
||||
$ticketData = [
|
||||
@@ -96,7 +117,7 @@ class ResourcesTest extends TestCase
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_validates_ticket_creation()
|
||||
public function it_validates_ticket_creation(): void
|
||||
{
|
||||
Livewire::test(CreateTicket::class)
|
||||
->fillForm([
|
||||
@@ -110,7 +131,7 @@ class ResourcesTest extends TestCase
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_edit_existing_ticket()
|
||||
public function it_can_edit_existing_ticket(): void
|
||||
{
|
||||
$ticket = Ticket::factory()->create();
|
||||
|
||||
@@ -119,7 +140,7 @@ class ResourcesTest extends TestCase
|
||||
'status' => 'closed',
|
||||
];
|
||||
|
||||
Livewire::test(\App\Filament\Resources\TicketResource\Pages\EditTicket::class, ['record' => $ticket->id])
|
||||
Livewire::test(EditTicket::class, ['record' => $ticket->id])
|
||||
->fillForm($updatedData)
|
||||
->call('save')
|
||||
->assertHasNoFormErrors();
|
||||
@@ -128,35 +149,35 @@ class ResourcesTest extends TestCase
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_delete_ticket()
|
||||
public function it_can_delete_ticket(): void
|
||||
{
|
||||
$ticket = Ticket::factory()->create();
|
||||
|
||||
Livewire::test(\App\Filament\Resources\TicketResource\Pages\ListTickets::class)
|
||||
Livewire::test(ListTickets::class)
|
||||
->callTableAction('delete', $ticket);
|
||||
|
||||
$this->assertModelMissing($ticket);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_view_ticket_responses_relation()
|
||||
public function it_can_view_ticket_responses_relation(): void
|
||||
{
|
||||
$ticket = Ticket::factory()->create();
|
||||
$responses = TicketResponse::factory()->count(3)->create(['ticket_id' => $ticket->id]);
|
||||
TicketResponse::factory()->count(3)->create(['ticket_id' => $ticket->id]);
|
||||
|
||||
// Test that relation manager is configured correctly
|
||||
$this->assertContains(
|
||||
\App\Filament\Resources\TicketResource\RelationManagers\ResponsesRelationManager::class,
|
||||
\App\Filament\Resources\TicketResource::getRelations()
|
||||
ResponsesRelationManager::class,
|
||||
TicketResource::getRelations()
|
||||
);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_close_ticket_from_action()
|
||||
public function it_can_close_ticket_from_action(): void
|
||||
{
|
||||
$ticket = Ticket::factory()->create(['status' => 'pending']);
|
||||
|
||||
Livewire::test(\App\Filament\Resources\TicketResource\Pages\ListTickets::class)
|
||||
Livewire::test(ListTickets::class)
|
||||
->callTableAction('close', $ticket);
|
||||
|
||||
$ticket->refresh();
|
||||
@@ -164,11 +185,11 @@ class ResourcesTest extends TestCase
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_reopen_ticket_from_action()
|
||||
public function it_can_reopen_ticket_from_action(): void
|
||||
{
|
||||
$ticket = Ticket::factory()->create(['status' => 'closed']);
|
||||
|
||||
Livewire::test(\App\Filament\Resources\TicketResource\Pages\ListTickets::class)
|
||||
Livewire::test(ListTickets::class)
|
||||
->callTableAction('reopen', $ticket);
|
||||
|
||||
$ticket->refresh();
|
||||
@@ -177,35 +198,35 @@ class ResourcesTest extends TestCase
|
||||
|
||||
// Plan Resource Tests
|
||||
/** @test */
|
||||
public function it_renders_plan_resource_list_page()
|
||||
public function it_renders_plan_resource_list_page(): void
|
||||
{
|
||||
Livewire::test(\App\Filament\Resources\PlanResource\Pages\ListPlans::class)
|
||||
Livewire::test(ListPlans::class)
|
||||
->assertSuccessful();
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_displays_plans_in_table()
|
||||
public function it_displays_plans_in_table(): void
|
||||
{
|
||||
$plans = Plan::factory()->count(5)->create();
|
||||
|
||||
Livewire::test(\App\Filament\Resources\PlanResource\Pages\ListPlans::class)
|
||||
Livewire::test(ListPlans::class)
|
||||
->assertCanSeeTableRecords($plans);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_search_plans_by_name()
|
||||
public function it_can_search_plans_by_name(): void
|
||||
{
|
||||
$plan1 = Plan::factory()->create(['name' => 'Basic Plan']);
|
||||
$plan2 = Plan::factory()->create(['name' => 'Premium Plan']);
|
||||
|
||||
Livewire::test(\App\Filament\Resources\PlanResource\Pages\ListPlans::class)
|
||||
Livewire::test(ListPlans::class)
|
||||
->searchTable('Basic')
|
||||
->assertCanSeeTableRecords([$plan1])
|
||||
->assertCanNotSeeTableRecords([$plan2]);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_create_new_plan()
|
||||
public function it_can_create_new_plan(): void
|
||||
{
|
||||
$planData = [
|
||||
'name' => 'Test Plan',
|
||||
@@ -229,7 +250,7 @@ class ResourcesTest extends TestCase
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_validates_plan_creation()
|
||||
public function it_validates_plan_creation(): void
|
||||
{
|
||||
Livewire::test(CreatePlan::class)
|
||||
->fillForm([
|
||||
@@ -242,7 +263,7 @@ class ResourcesTest extends TestCase
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_edit_existing_plan()
|
||||
public function it_can_edit_existing_plan(): void
|
||||
{
|
||||
$plan = Plan::factory()->create();
|
||||
|
||||
@@ -258,7 +279,7 @@ class ResourcesTest extends TestCase
|
||||
'accept_oxapay' => 0,
|
||||
];
|
||||
|
||||
Livewire::test(\App\Filament\Resources\PlanResource\Pages\EditPlan::class, ['record' => $plan->id])
|
||||
Livewire::test(EditPlan::class, ['record' => $plan->id])
|
||||
->fillForm($updatedData)
|
||||
->call('save')
|
||||
->assertHasNoFormErrors();
|
||||
@@ -267,23 +288,23 @@ class ResourcesTest extends TestCase
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_delete_plan()
|
||||
public function it_can_delete_plan(): void
|
||||
{
|
||||
$plan = Plan::factory()->create();
|
||||
|
||||
Livewire::test(\App\Filament\Resources\PlanResource\Pages\ListPlans::class)
|
||||
Livewire::test(ListPlans::class)
|
||||
->callTableAction('delete', $plan);
|
||||
|
||||
$this->assertModelMissing($plan);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_filter_plans_by_payment_methods()
|
||||
public function it_can_filter_plans_by_payment_methods(): void
|
||||
{
|
||||
$stripePlan = Plan::factory()->create(['accept_stripe' => 1]);
|
||||
$shoppyPlan = Plan::factory()->create(['accept_shoppy' => 1]);
|
||||
Plan::factory()->create(['accept_stripe' => 1]);
|
||||
Plan::factory()->create(['accept_shoppy' => 1]);
|
||||
|
||||
$livewire = Livewire::test(\App\Filament\Resources\PlanResource\Pages\ListPlans::class)
|
||||
$livewire = Livewire::test(ListPlans::class)
|
||||
->filterTable('payment_method', 'stripe');
|
||||
|
||||
// Test that filtering doesn't crash and returns a response
|
||||
@@ -291,11 +312,11 @@ class ResourcesTest extends TestCase
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_toggle_monthly_billing_setting()
|
||||
public function it_can_toggle_monthly_billing_setting(): void
|
||||
{
|
||||
$plan = Plan::factory()->create(['monthly_billing' => true]);
|
||||
|
||||
Livewire::test(\App\Filament\Resources\PlanResource\Pages\EditPlan::class, ['record' => $plan->id])
|
||||
Livewire::test(EditPlan::class, ['record' => $plan->id])
|
||||
->fillForm([
|
||||
'name' => $plan->name,
|
||||
'product_id' => $plan->product_id,
|
||||
@@ -316,35 +337,35 @@ class ResourcesTest extends TestCase
|
||||
|
||||
// Blog Resource Tests
|
||||
/** @test */
|
||||
public function it_renders_blog_resource_list_page()
|
||||
public function it_renders_blog_resource_list_page(): void
|
||||
{
|
||||
Livewire::test(\App\Filament\Resources\BlogResource\Pages\ListBlogs::class)
|
||||
Livewire::test(ListBlogs::class)
|
||||
->assertSuccessful();
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_displays_blog_posts_in_table()
|
||||
public function it_displays_blog_posts_in_table(): void
|
||||
{
|
||||
$blogs = Blog::factory()->count(5)->create();
|
||||
|
||||
Livewire::test(\App\Filament\Resources\BlogResource\Pages\ListBlogs::class)
|
||||
Livewire::test(ListBlogs::class)
|
||||
->assertCanSeeTableRecords($blogs);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_search_blog_posts_by_title()
|
||||
public function it_can_search_blog_posts_by_title(): void
|
||||
{
|
||||
$blog1 = Blog::factory()->create(['post' => 'Laravel Tutorial']);
|
||||
$blog2 = Blog::factory()->create(['post' => 'Vue.js Guide']);
|
||||
|
||||
Livewire::test(\App\Filament\Resources\BlogResource\Pages\ListBlogs::class)
|
||||
Livewire::test(ListBlogs::class)
|
||||
->searchTable('Laravel')
|
||||
->assertCanSeeTableRecords([$blog1])
|
||||
->assertCanNotSeeTableRecords([$blog2]);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_create_new_blog_post()
|
||||
public function it_can_create_new_blog_post(): void
|
||||
{
|
||||
$category = Category::factory()->create();
|
||||
$blogData = [
|
||||
@@ -364,7 +385,7 @@ class ResourcesTest extends TestCase
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_validates_blog_post_creation()
|
||||
public function it_validates_blog_post_creation(): void
|
||||
{
|
||||
Livewire::test(CreateBlog::class)
|
||||
->fillForm([
|
||||
@@ -376,7 +397,7 @@ class ResourcesTest extends TestCase
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_edit_existing_blog_post()
|
||||
public function it_can_edit_existing_blog_post(): void
|
||||
{
|
||||
$blog = Blog::factory()->create();
|
||||
|
||||
@@ -388,7 +409,7 @@ class ResourcesTest extends TestCase
|
||||
'category_id' => $blog->category_id,
|
||||
];
|
||||
|
||||
Livewire::test(\App\Filament\Resources\BlogResource\Pages\EditBlog::class, ['record' => $blog->id])
|
||||
Livewire::test(EditBlog::class, ['record' => $blog->id])
|
||||
->fillForm($updatedData)
|
||||
->call('save')
|
||||
->assertHasNoFormErrors();
|
||||
@@ -397,34 +418,34 @@ class ResourcesTest extends TestCase
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_delete_blog_post()
|
||||
public function it_can_delete_blog_post(): void
|
||||
{
|
||||
$blog = Blog::factory()->create();
|
||||
|
||||
Livewire::test(\App\Filament\Resources\BlogResource\Pages\ListBlogs::class)
|
||||
Livewire::test(ListBlogs::class)
|
||||
->callTableAction('delete', $blog);
|
||||
|
||||
$this->assertModelMissing($blog);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_filter_blog_posts_by_status()
|
||||
public function it_can_filter_blog_posts_by_status(): void
|
||||
{
|
||||
$publishedBlog = Blog::factory()->create(['is_published' => true]);
|
||||
$draftBlog = Blog::factory()->create(['is_published' => false]);
|
||||
|
||||
Livewire::test(\App\Filament\Resources\BlogResource\Pages\ListBlogs::class)
|
||||
Livewire::test(ListBlogs::class)
|
||||
->filterTable('is_published', true)
|
||||
->assertCanSeeTableRecords([$publishedBlog])
|
||||
->assertCanNotSeeTableRecords([$draftBlog]);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_toggle_published_status()
|
||||
public function it_can_toggle_published_status(): void
|
||||
{
|
||||
$blog = Blog::factory()->create(['is_published' => false]);
|
||||
|
||||
Livewire::test(\App\Filament\Resources\BlogResource\Pages\ListBlogs::class)
|
||||
Livewire::test(ListBlogs::class)
|
||||
->callTableAction('togglePublished', $blog);
|
||||
|
||||
$blog->refresh();
|
||||
@@ -432,34 +453,34 @@ class ResourcesTest extends TestCase
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_view_category_relation()
|
||||
public function it_can_view_category_relation(): void
|
||||
{
|
||||
$category = Category::factory()->create();
|
||||
$blog = Blog::factory()->create(['category_id' => $category->id]);
|
||||
|
||||
Livewire::test(\App\Filament\Resources\BlogResource\Pages\ListBlogs::class)
|
||||
Livewire::test(ListBlogs::class)
|
||||
->assertTableColumnStateSet('category.name', $category->name, $blog);
|
||||
}
|
||||
|
||||
// Category Resource Tests
|
||||
/** @test */
|
||||
public function it_renders_category_resource_list_page()
|
||||
public function it_renders_category_resource_list_page(): void
|
||||
{
|
||||
Livewire::test(\App\Filament\Resources\CategoryResource\Pages\ListCategories::class)
|
||||
Livewire::test(ListCategories::class)
|
||||
->assertSuccessful();
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_displays_categories_in_table()
|
||||
public function it_displays_categories_in_table(): void
|
||||
{
|
||||
$categories = Category::factory()->count(5)->create();
|
||||
|
||||
Livewire::test(\App\Filament\Resources\CategoryResource\Pages\ListCategories::class)
|
||||
Livewire::test(ListCategories::class)
|
||||
->assertCanSeeTableRecords($categories);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_create_new_category()
|
||||
public function it_can_create_new_category(): void
|
||||
{
|
||||
$categoryData = [
|
||||
'name' => 'Test Category',
|
||||
@@ -467,7 +488,7 @@ class ResourcesTest extends TestCase
|
||||
'is_active' => 1,
|
||||
];
|
||||
|
||||
Livewire::test(\App\Filament\Resources\CategoryResource\Pages\CreateCategory::class)
|
||||
Livewire::test(CreateCategory::class)
|
||||
->fillForm($categoryData)
|
||||
->call('create')
|
||||
->assertHasNoFormErrors();
|
||||
@@ -476,9 +497,9 @@ class ResourcesTest extends TestCase
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_validates_category_creation()
|
||||
public function it_validates_category_creation(): void
|
||||
{
|
||||
Livewire::test(\App\Filament\Resources\CategoryResource\Pages\CreateCategory::class)
|
||||
Livewire::test(CreateCategory::class)
|
||||
->fillForm([
|
||||
'name' => '',
|
||||
'slug' => '',
|
||||
@@ -488,7 +509,7 @@ class ResourcesTest extends TestCase
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_edit_existing_category()
|
||||
public function it_can_edit_existing_category(): void
|
||||
{
|
||||
$category = Category::factory()->create();
|
||||
|
||||
@@ -497,7 +518,7 @@ class ResourcesTest extends TestCase
|
||||
'is_active' => 1,
|
||||
];
|
||||
|
||||
Livewire::test(\App\Filament\Resources\CategoryResource\Pages\EditCategory::class, ['record' => $category->id])
|
||||
Livewire::test(EditCategory::class, ['record' => $category->id])
|
||||
->fillForm($updatedData)
|
||||
->call('save')
|
||||
->assertHasNoFormErrors();
|
||||
@@ -506,32 +527,32 @@ class ResourcesTest extends TestCase
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_delete_category()
|
||||
public function it_can_delete_category(): void
|
||||
{
|
||||
$category = Category::factory()->create();
|
||||
|
||||
Livewire::test(\App\Filament\Resources\CategoryResource\Pages\ListCategories::class)
|
||||
Livewire::test(ListCategories::class)
|
||||
->callTableAction('delete', $category);
|
||||
|
||||
$this->assertModelMissing($category);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_view_blogs_count()
|
||||
public function it_can_view_blogs_count(): void
|
||||
{
|
||||
$category = Category::factory()->create();
|
||||
Blog::factory()->count(3)->create(['category_id' => $category->id]);
|
||||
|
||||
Livewire::test(\App\Filament\Resources\CategoryResource\Pages\ListCategories::class)
|
||||
Livewire::test(ListCategories::class)
|
||||
->assertTableColumnStateSet('blogs_count', 3, $category);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_toggle_category_status()
|
||||
public function it_can_toggle_category_status(): void
|
||||
{
|
||||
$category = Category::factory()->create(['is_active' => true]);
|
||||
|
||||
Livewire::test(\App\Filament\Resources\CategoryResource\Pages\ListCategories::class)
|
||||
Livewire::test(ListCategories::class)
|
||||
->callTableAction('toggleStatus', $category);
|
||||
|
||||
$category->refresh();
|
||||
@@ -540,23 +561,23 @@ class ResourcesTest extends TestCase
|
||||
|
||||
// Page Resource Tests
|
||||
/** @test */
|
||||
public function it_renders_page_resource_list_page()
|
||||
public function it_renders_page_resource_list_page(): void
|
||||
{
|
||||
Livewire::test(\App\Filament\Resources\PageResource\Pages\ListPages::class)
|
||||
Livewire::test(ListPages::class)
|
||||
->assertSuccessful();
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_displays_pages_in_table()
|
||||
public function it_displays_pages_in_table(): void
|
||||
{
|
||||
$pages = Page::factory()->count(5)->create();
|
||||
|
||||
Livewire::test(\App\Filament\Resources\PageResource\Pages\ListPages::class)
|
||||
Livewire::test(ListPages::class)
|
||||
->assertCanSeeTableRecords($pages);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_create_new_page()
|
||||
public function it_can_create_new_page(): void
|
||||
{
|
||||
$pageData = [
|
||||
'title' => 'Test Page',
|
||||
@@ -565,7 +586,7 @@ class ResourcesTest extends TestCase
|
||||
'is_published' => 1,
|
||||
];
|
||||
|
||||
Livewire::test(\App\Filament\Resources\PageResource\Pages\CreatePage::class)
|
||||
Livewire::test(CreatePage::class)
|
||||
->fillForm($pageData)
|
||||
->call('create')
|
||||
->assertHasNoFormErrors();
|
||||
@@ -574,9 +595,9 @@ class ResourcesTest extends TestCase
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_validates_page_creation()
|
||||
public function it_validates_page_creation(): void
|
||||
{
|
||||
Livewire::test(\App\Filament\Resources\PageResource\Pages\CreatePage::class)
|
||||
Livewire::test(CreatePage::class)
|
||||
->fillForm([
|
||||
'title' => '',
|
||||
'slug' => '',
|
||||
@@ -587,7 +608,7 @@ class ResourcesTest extends TestCase
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_edit_existing_page()
|
||||
public function it_can_edit_existing_page(): void
|
||||
{
|
||||
$page = Page::factory()->create();
|
||||
|
||||
@@ -601,7 +622,7 @@ class ResourcesTest extends TestCase
|
||||
'meta' => '{"description":"Updated page description","keywords":"updated,page"}',
|
||||
];
|
||||
|
||||
Livewire::test(\App\Filament\Resources\PageResource\Pages\EditPage::class, ['record' => $page->id])
|
||||
Livewire::test(EditPage::class, ['record' => $page->id])
|
||||
->fillForm($updatedData)
|
||||
->call('save')
|
||||
->assertHasNoFormErrors();
|
||||
@@ -610,34 +631,34 @@ class ResourcesTest extends TestCase
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_delete_page()
|
||||
public function it_can_delete_page(): void
|
||||
{
|
||||
$page = Page::factory()->create();
|
||||
|
||||
Livewire::test(\App\Filament\Resources\PageResource\Pages\ListPages::class)
|
||||
Livewire::test(ListPages::class)
|
||||
->callTableAction('delete', $page);
|
||||
|
||||
$this->assertModelMissing($page);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_filter_pages_by_publication_status()
|
||||
public function it_can_filter_pages_by_publication_status(): void
|
||||
{
|
||||
$publishedPage = Page::factory()->create(['is_published' => true]);
|
||||
$draftPage = Page::factory()->create(['is_published' => false]);
|
||||
|
||||
Livewire::test(\App\Filament\Resources\PageResource\Pages\ListPages::class)
|
||||
Livewire::test(ListPages::class)
|
||||
->filterTable('is_published', true)
|
||||
->assertCanSeeTableRecords([$publishedPage])
|
||||
->assertCanNotSeeTableRecords([$draftPage]);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_toggle_page_publication_status()
|
||||
public function it_can_toggle_page_publication_status(): void
|
||||
{
|
||||
$page = Page::factory()->create(['is_published' => true]);
|
||||
|
||||
Livewire::test(\App\Filament\Resources\PageResource\Pages\ListPages::class)
|
||||
Livewire::test(ListPages::class)
|
||||
->callTableAction('togglePublished', $page);
|
||||
|
||||
$page->refresh();
|
||||
@@ -646,23 +667,23 @@ class ResourcesTest extends TestCase
|
||||
|
||||
// Menu Resource Tests
|
||||
/** @test */
|
||||
public function it_renders_menu_resource_list_page()
|
||||
public function it_renders_menu_resource_list_page(): void
|
||||
{
|
||||
Livewire::test(\App\Filament\Resources\MenuResource\Pages\ListMenus::class)
|
||||
Livewire::test(ListMenus::class)
|
||||
->assertSuccessful();
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_displays_menu_items_in_table()
|
||||
public function it_displays_menu_items_in_table(): void
|
||||
{
|
||||
$menus = Menu::factory()->count(5)->create();
|
||||
|
||||
Livewire::test(\App\Filament\Resources\MenuResource\Pages\ListMenus::class)
|
||||
Livewire::test(ListMenus::class)
|
||||
->assertCanSeeTableRecords($menus);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_create_new_menu_item()
|
||||
public function it_can_create_new_menu_item(): void
|
||||
{
|
||||
$menuData = [
|
||||
'name' => 'Test Menu',
|
||||
@@ -670,7 +691,7 @@ class ResourcesTest extends TestCase
|
||||
'new_tab' => false,
|
||||
];
|
||||
|
||||
Livewire::test(\App\Filament\Resources\MenuResource\Pages\CreateMenu::class)
|
||||
Livewire::test(CreateMenu::class)
|
||||
->fillForm($menuData)
|
||||
->call('create')
|
||||
->assertHasNoFormErrors();
|
||||
@@ -679,9 +700,9 @@ class ResourcesTest extends TestCase
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_validates_menu_item_creation()
|
||||
public function it_validates_menu_item_creation(): void
|
||||
{
|
||||
Livewire::test(\App\Filament\Resources\MenuResource\Pages\CreateMenu::class)
|
||||
Livewire::test(CreateMenu::class)
|
||||
->fillForm([
|
||||
'name' => '',
|
||||
'url' => '',
|
||||
@@ -691,78 +712,78 @@ class ResourcesTest extends TestCase
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_delete_menu_item()
|
||||
public function it_can_delete_menu_item(): void
|
||||
{
|
||||
$menu = Menu::factory()->create();
|
||||
|
||||
Livewire::test(\App\Filament\Resources\MenuResource\Pages\ListMenus::class)
|
||||
Livewire::test(ListMenus::class)
|
||||
->callTableAction('delete', $menu);
|
||||
|
||||
$this->assertModelMissing($menu);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_displays_menu_items_alphabetically()
|
||||
public function it_displays_menu_items_alphabetically(): void
|
||||
{
|
||||
$menu1 = Menu::factory()->create(['name' => 'Zebra']);
|
||||
$menu2 = Menu::factory()->create(['name' => 'Apple']);
|
||||
|
||||
Livewire::test(\App\Filament\Resources\MenuResource\Pages\ListMenus::class)
|
||||
Livewire::test(ListMenus::class)
|
||||
->sortTable('name')
|
||||
->assertCanSeeTableRecords([$menu2, $menu1], inOrder: true);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_handle_parent_child_relationships()
|
||||
public function it_can_handle_parent_child_relationships(): void
|
||||
{
|
||||
$parentMenu = Menu::factory()->create(['parent' => null]);
|
||||
$childMenu = Menu::factory()->create(['parent' => $parentMenu->id]);
|
||||
|
||||
Livewire::test(\App\Filament\Resources\MenuResource\Pages\ListMenus::class)
|
||||
Livewire::test(ListMenus::class)
|
||||
->assertTableColumnStateSet('parentname.name', $parentMenu->name, $childMenu);
|
||||
}
|
||||
|
||||
// General Filament Tests
|
||||
/** @test */
|
||||
public function it_can_navigate_between_resources()
|
||||
public function it_can_navigate_between_resources(): void
|
||||
{
|
||||
Livewire::test(\App\Filament\Resources\UserResource\Pages\ListUsers::class)
|
||||
Livewire::test(ListUsers::class)
|
||||
->assertSuccessful();
|
||||
|
||||
Livewire::test(\App\Filament\Resources\TicketResource\Pages\ListTickets::class)
|
||||
Livewire::test(ListTickets::class)
|
||||
->assertSuccessful();
|
||||
|
||||
Livewire::test(\App\Filament\Resources\PlanResource\Pages\ListPlans::class)
|
||||
Livewire::test(ListPlans::class)
|
||||
->assertSuccessful();
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_use_global_search()
|
||||
public function it_can_use_global_search(): void
|
||||
{
|
||||
$user = User::factory()->create(['name' => 'John Doe']);
|
||||
User::factory()->create(['name' => 'John Doe']);
|
||||
|
||||
Livewire::test(\App\Filament\Resources\UserResource\Pages\ListUsers::class)
|
||||
Livewire::test(ListUsers::class)
|
||||
->assertSuccessful();
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_search_users_in_table()
|
||||
public function it_can_search_users_in_table(): void
|
||||
{
|
||||
$user1 = User::factory()->create(['name' => 'John Doe']);
|
||||
$user2 = User::factory()->create(['name' => 'Jane Smith']);
|
||||
|
||||
Livewire::test(\App\Filament\Resources\UserResource\Pages\ListUsers::class)
|
||||
Livewire::test(ListUsers::class)
|
||||
->searchTable('John')
|
||||
->assertCanSeeTableRecords([$user1])
|
||||
->assertCanNotSeeTableRecords([$user2]);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_handles_bulk_actions_correctly()
|
||||
public function it_handles_bulk_actions_correctly(): void
|
||||
{
|
||||
$users = User::factory()->count(3)->create();
|
||||
|
||||
Livewire::test(\App\Filament\Resources\UserResource\Pages\ListUsers::class)
|
||||
Livewire::test(ListUsers::class)
|
||||
->callTableBulkAction('delete', $users);
|
||||
|
||||
foreach ($users as $user) {
|
||||
@@ -771,31 +792,31 @@ class ResourcesTest extends TestCase
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_validates_access_control()
|
||||
public function it_validates_access_control(): void
|
||||
{
|
||||
// Test with non-admin user - currently access control allows all authenticated users
|
||||
$normalUser = User::factory()->create(['level' => 0]);
|
||||
$this->actingAs($normalUser);
|
||||
|
||||
Livewire::test(\App\Filament\Resources\UserResource\Pages\ListUsers::class)
|
||||
Livewire::test(ListUsers::class)
|
||||
->assertStatus(200); // Access control currently allows access
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_displays_correct_navigation_structure()
|
||||
public function it_displays_correct_navigation_structure(): void
|
||||
{
|
||||
$this->assertEquals('heroicon-o-users', \App\Filament\Resources\UserResource::getNavigationIcon());
|
||||
$this->assertEquals('heroicon-o-ticket', \App\Filament\Resources\TicketResource::getNavigationIcon());
|
||||
$this->assertEquals('heroicon-o-rectangle-stack', \App\Filament\Resources\PlanResource::getNavigationIcon());
|
||||
$this->assertEquals('heroicon-m-newspaper', \App\Filament\Resources\BlogResource::getNavigationIcon());
|
||||
$this->assertEquals('heroicon-o-users', UserResource::getNavigationIcon());
|
||||
$this->assertEquals('heroicon-o-ticket', TicketResource::getNavigationIcon());
|
||||
$this->assertEquals('heroicon-o-rectangle-stack', PlanResource::getNavigationIcon());
|
||||
$this->assertEquals('heroicon-m-newspaper', BlogResource::getNavigationIcon());
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_handles_form_submissions_with_relationships()
|
||||
public function it_handles_form_submissions_with_relationships(): void
|
||||
{
|
||||
$category = Category::factory()->create();
|
||||
|
||||
Livewire::test(\App\Filament\Resources\BlogResource\Pages\CreateBlog::class)
|
||||
Livewire::test(CreateBlog::class)
|
||||
->fillForm([
|
||||
'post' => 'Test Blog',
|
||||
'slug' => 'test-blog',
|
||||
@@ -813,16 +834,16 @@ class ResourcesTest extends TestCase
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_handles_file_uploads_in_forms()
|
||||
public function it_handles_file_uploads_in_forms(): void
|
||||
{
|
||||
// Test file upload functionality if implemented
|
||||
$this->assertTrue(true); // Placeholder
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_displays_proper_error_messages()
|
||||
public function it_displays_proper_error_messages(): void
|
||||
{
|
||||
Livewire::test(\App\Filament\Resources\UserResource\Pages\CreateUser::class)
|
||||
Livewire::test(CreateUser::class)
|
||||
->fillForm([
|
||||
'name' => '',
|
||||
'email' => 'invalid-email',
|
||||
@@ -833,11 +854,11 @@ class ResourcesTest extends TestCase
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_handles_pagination_correctly()
|
||||
public function it_handles_pagination_correctly(): void
|
||||
{
|
||||
User::factory()->count(25)->create();
|
||||
|
||||
Livewire::test(\App\Filament\Resources\UserResource\Pages\ListUsers::class)
|
||||
Livewire::test(ListUsers::class)
|
||||
->assertSuccessful()
|
||||
->assertSeeHtml('fi-pagination')
|
||||
->assertSee('1')
|
||||
@@ -846,11 +867,11 @@ class ResourcesTest extends TestCase
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_can_sort_users_by_different_columns()
|
||||
public function it_can_sort_users_by_different_columns(): void
|
||||
{
|
||||
User::factory()->count(5)->create();
|
||||
|
||||
Livewire::test(\App\Filament\Resources\UserResource\Pages\ListUsers::class)
|
||||
Livewire::test(ListUsers::class)
|
||||
->sortTable('name')
|
||||
->assertSuccessful();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user