waaseyaa / testing
Typed framework-contract fixtures and compatibility testing utilities for Waaseyaa.
Requires
- php: >=8.5
- waaseyaa/access: ^0.1.0-alpha.290
- waaseyaa/database-legacy: ^0.1.0-alpha.290
- waaseyaa/entity: ^0.1.0-alpha.290
- waaseyaa/field: ^0.1.0-alpha.290
- waaseyaa/foundation: ^0.1.0-alpha.290
Requires (Dev)
- phpunit/phpunit: ^13.0
Suggests
- fakerphp/faker: Optional realistic strings and emails for EntityTypeFixtureValues (framework#1186).
This package is auto-updated.
Last update: 2026-08-08 17:07:05 UTC
README
Layer 1 - Core Data
Focused PHPUnit 13 fixtures that exercise real Waaseyaa and Symfony contracts.
The package is intended for require-dev; it does not provide an application
kernel or an alternate testing framework.
Canonical fixtures
MutableEntityClockdrives anEntityClockInterfacewithout wall-clock waits.AuthorizationPrincipalFactorybuilds the real immutable decision principal.EntityTypeFactorybuilds shape-only entity types without importing another package'sautoload-devnamespace.TemporaryDirectoryowns one traversal-safe temporary filesystem tree.TemporarySqliteDatabaseowns a file-backed SQLiteDatabaseInterfaceand its sidecar files.KernelServicesFixtureimplements the real provider-resolution contract.EntityFactoryandEntityTypeFixtureValuesremain supported entity fixture builders.
HTTP and MCP request fixtures stay with their higher-layer protocol owners because a Layer 1 package must not import Symfony's transport surface or know a Layer 6 protocol.
Compatibility-only surface
WaaseyaaTestCase, CreatesApplication, InteractsWithApi,
InteractsWithAuth, InteractsWithEvents, and RefreshDatabase are deprecated.
They model framework state as arrays, a no-op service bag, or raw PDO and have no
tracked consumers outside this package. They remain temporarily for source
compatibility and should not be adopted by new tests.
Package suites declared as independently runnable are listed in
docs/specs/testing-strategy.md and proven by bin/test-isolated-package in CI.