From 2d6b986690f86a3728a23402ad4a64157fa8dfa6 Mon Sep 17 00:00:00 2001 From: pratik bhujel Date: Sun, 13 Sep 2026 09:55:40 +0545 Subject: [PATCH] Add Pest feature tests for SuperNative home and Filament admin panel Replace the boilerplate ExampleTest with Pest feature test coverage for the SuperNative Home component (navigation title, view name, packages payload) and the Filament admin panel (guest redirect to login, login page render, authenticated dashboard access). --- tests/Feature/AdminPanelTest.php | 28 ++++++++++++++++++++++++++++ tests/Feature/ExampleTest.php | 19 ------------------- tests/Feature/HomeScreenTest.php | 27 +++++++++++++++++++++++++++ 3 files changed, 55 insertions(+), 19 deletions(-) create mode 100644 tests/Feature/AdminPanelTest.php delete mode 100644 tests/Feature/ExampleTest.php create mode 100644 tests/Feature/HomeScreenTest.php diff --git a/tests/Feature/AdminPanelTest.php b/tests/Feature/AdminPanelTest.php new file mode 100644 index 0000000..4e212b0 --- /dev/null +++ b/tests/Feature/AdminPanelTest.php @@ -0,0 +1,28 @@ +get('/admin'); + + $response->assertRedirect('/admin/login'); +}); + +test('admin login page renders successfully', function () { + $response = $this->get('/admin/login'); + + $response->assertOk(); +}); + +test('authenticated users can access admin dashboard in local environment', function () { + config(['app.env' => 'local']); + + $user = User::factory()->create(); + + $response = $this->actingAs($user)->get('/admin'); + + $response->assertOk(); +}); diff --git a/tests/Feature/ExampleTest.php b/tests/Feature/ExampleTest.php deleted file mode 100644 index 8364a84..0000000 --- a/tests/Feature/ExampleTest.php +++ /dev/null @@ -1,19 +0,0 @@ -get('/'); - - $response->assertStatus(200); - } -} diff --git a/tests/Feature/HomeScreenTest.php b/tests/Feature/HomeScreenTest.php new file mode 100644 index 0000000..306a157 --- /dev/null +++ b/tests/Feature/HomeScreenTest.php @@ -0,0 +1,27 @@ +get('/'); + + $response->assertOk(); +}); + +test('home native component configures expected nav title and view data', function () { + $component = new Home; + + expect($component->navTitle())->toBe('Super Stack'); + + $view = $component->render(); + + expect($view->getName())->toBe('native.home'); + expect($view->getData())->toHaveKeys(['app', 'packages']); + expect($view->getData()['packages'])->toHaveKeys([ + 'Laravel', + 'Filament', + 'NativePHP Mobile', + 'Web UI', + 'Laravel MCP', + ]); +});