test: add Livewire component tests for 12 admin components #42

Merged
Snider merged 1 commit from test/livewire-component-tests into main 2026-02-23 06:08:11 +00:00
Member

Summary

  • Adds tests/Feature/Livewire/ with 12 test files (one per component)
  • Adds tests/Fixtures/HadesUser.php fake user with Hades access for auth tests
  • Adds tests/views/ stub Blade views (agentic + mcp namespaces) for clean test rendering
  • Adds LivewireTestCase base class that registers stub view namespaces and provides actingAsHades() helper

Components Covered

Component File
Dashboard DashboardTest.php
Plans PlansTest.php
PlanDetail PlanDetailTest.php
Sessions SessionsTest.php
SessionDetail SessionDetailTest.php
ToolAnalytics ToolAnalyticsTest.php
ApiKeys ApiKeysTest.php
ApiKeyManager ApiKeyManagerTest.php
ToolCalls ToolCallsTest.php
RequestLog RequestLogTest.php
Templates TemplatesTest.php
Playground PlaygroundTest.php

Test Coverage

Each test file covers:

  • Authorization: components with checkHadesAccess() assert HttpException for unauthenticated users
  • Rendering: assertOk() with authenticated Hades user
  • Data binding: assertSet() on default and updated properties
  • User interactions: call() for actions (activate, pause, archive, etc.) with assertDispatched('notify')
  • Validation: assertHasErrors() for required fields and rule violations
  • State management: modal open/close cycles, filter resets, selection tracking

Dependencies

Added to require-dev:

  • livewire/livewire: ^3.0 — explicit dev dependency (already transitive via host-uk/core)
  • pestphp/pest-plugin-livewire: ^3.0 — Livewire testing helpers

Closes #11

## Summary - Adds `tests/Feature/Livewire/` with 12 test files (one per component) - Adds `tests/Fixtures/HadesUser.php` fake user with Hades access for auth tests - Adds `tests/views/` stub Blade views (agentic + mcp namespaces) for clean test rendering - Adds `LivewireTestCase` base class that registers stub view namespaces and provides `actingAsHades()` helper ## Components Covered | Component | File | |-----------|------| | Dashboard | DashboardTest.php | | Plans | PlansTest.php | | PlanDetail | PlanDetailTest.php | | Sessions | SessionsTest.php | | SessionDetail | SessionDetailTest.php | | ToolAnalytics | ToolAnalyticsTest.php | | ApiKeys | ApiKeysTest.php | | ApiKeyManager | ApiKeyManagerTest.php | | ToolCalls | ToolCallsTest.php | | RequestLog | RequestLogTest.php | | Templates | TemplatesTest.php | | Playground | PlaygroundTest.php | ## Test Coverage Each test file covers: - **Authorization**: components with `checkHadesAccess()` assert `HttpException` for unauthenticated users - **Rendering**: `assertOk()` with authenticated Hades user - **Data binding**: `assertSet()` on default and updated properties - **User interactions**: `call()` for actions (activate, pause, archive, etc.) with `assertDispatched('notify')` - **Validation**: `assertHasErrors()` for required fields and rule violations - **State management**: modal open/close cycles, filter resets, selection tracking ## Dependencies Added to `require-dev`: - `livewire/livewire: ^3.0` — explicit dev dependency (already transitive via host-uk/core) - `pestphp/pest-plugin-livewire: ^3.0` — Livewire testing helpers Closes #11
Clotho added 1 commit 2026-02-23 01:17:57 +00:00
test: add Livewire component tests for all 12 admin components
Some checks failed
CI / PHP 8.2 (pull_request) Failing after 0s
CI / PHP 8.3 (pull_request) Failing after 0s
CI / PHP 8.4 (pull_request) Failing after 0s
CI / Assets (pull_request) Failing after 0s
2ba1751081
Closes #11

Adds comprehensive Livewire tests in tests/Feature/Livewire/ covering:
- DashboardTest: stats structure, refresh action, blocked alert, quick links
- PlansTest: auth, filters, activate/complete/archive/delete actions
- PlanDetailTest: auth, plan loading, phase actions, task validation
- SessionsTest: auth, filters, pause/resume/complete/fail actions
- SessionDetailTest: auth, polling, modal states, session control
- ToolAnalyticsTest: auth, setDays, filters, success rate colour helpers
- ApiKeysTest: auth, create/edit/revoke modals, validation, stats
- ApiKeyManagerTest: workspace binding, create form, toggleScope
- ToolCallsTest: auth, filters, viewCall/closeCallDetail, badge helpers
- RequestLogTest: filters, selectRequest/closeDetail interactions
- TemplatesTest: auth, preview/import/create modals, clearFilters
- PlaygroundTest: server loading, API key validation, execute behaviour

Infrastructure:
- LivewireTestCase base class with stub view namespace registration
- HadesUser fixture for auth()->user()->isHades() checks
- Minimal stub blade views in tests/views/ (agentic and mcp namespaces)
- composer.json: add livewire/livewire and pest-plugin-livewire to
  require-dev; fix autoload-dev paths to lowercase tests/ directory

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Snider merged commit 3c65e99727 into main 2026-02-23 06:08:11 +00:00
Snider deleted branch test/livewire-component-tests 2026-02-23 06:08:11 +00:00
Sign in to join this conversation.
No description provided.