monkeyscloud / monkeyslegion-testing
Testing toolkit for MonKeysLegion — HTTP testing DSL, database traits, fake subsystems, snapshots.
Package info
github.com/MonkeysCloud/monkeyslegion-testing
pkg:composer/monkeyscloud/monkeyslegion-testing
1.0.1
2026-09-29 01:50 UTC
Requires
- php: >=8.4
- monkeyscloud/monkeyslegion-auth: ^2.2
- monkeyscloud/monkeyslegion-cli: ^2.1
- monkeyscloud/monkeyslegion-core: ^2.1
- monkeyscloud/monkeyslegion-database: ^2.2
- monkeyscloud/monkeyslegion-di: ^2.0
- monkeyscloud/monkeyslegion-http: ^2.1
- monkeyscloud/monkeyslegion-mail: ^2.0
- monkeyscloud/monkeyslegion-queue: ^2.0
- monkeyscloud/monkeyslegion-router: ^2.2
- phpunit/phpunit: ^11.0
Requires (Dev)
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Testing toolkit for the MonKeysLegion framework — HTTP testing DSL, database traits, fake subsystems, and snapshot assertions.
Features
- HTTP testing DSL —
get(),post(),put(),delete()with fluent assertions - TestResponse —
assertStatus(),assertJson(),assertJsonPath(),assertHeader() - Database traits —
RefreshDatabase,DatabaseTransactions,InteractsWithDatabase - Fake subsystems —
QueueFake,MailFake,EventFakewith assertion methods - Snapshot testing —
assertMatchesSnapshot()for view/JSON/XML output - Fixture loader — load test data from JSON/PHP fixture files
- Pest adapter — Pest PHP compatibility layer
- Auth testing —
actingAs(),InteractsWithAuthtrait
Installation
composer require --dev monkeyscloud/monkeyslegion-testing
Usage
use MonkeysLegion\Testing\TestCase; use MonkeysLegion\Testing\Concerns\RefreshDatabase; final class UserApiTest extends TestCase { use RefreshDatabase; public function test_create_user(): void { $response = $this->post('/api/users', [ 'name' => 'Bob', 'email' => 'bob@example.com', ]); $response->assertStatus(201); $response->assertJsonPath('data.name', 'Bob'); } }
License
MIT © MonKeysCloud