Refactor core test runtime and simplify project documentation

This commit is contained in:
julien
2026-03-20 22:52:02 +01:00
parent 9b1dd9417c
commit 24b3bb4177
19 changed files with 266 additions and 132 deletions

View File

@@ -8,26 +8,23 @@ use Netig\Netslim\Kernel\Runtime\Module\ModuleInterface;
use Netig\Netslim\Kernel\Runtime\Module\ModuleRegistry;
use Netig\Netslim\Kernel\Runtime\RuntimePaths;
use PHPUnit\Framework\TestCase;
use Tests\Support\TestRuntimeFactory;
final class ModuleRegistryTest extends TestCase
{
protected function setUp(): void
{
RuntimePaths::resetApplicationRoot();
RuntimePaths::resetProjectRoot();
ModuleRegistry::reset();
TestRuntimeFactory::resetRuntime();
}
protected function tearDown(): void
{
RuntimePaths::resetApplicationRoot();
RuntimePaths::resetProjectRoot();
ModuleRegistry::reset();
TestRuntimeFactory::resetRuntime();
}
public function testModulesAreDeclaredInExpectedOrderForFixtureApplication(): void
{
RuntimePaths::setApplicationRoot(dirname(__DIR__, 2) . '/tests/Fixtures/Application');
TestRuntimeFactory::resetRuntime();
$moduleClasses = array_map(
static fn (ModuleInterface $module): string => $module::class,
@@ -47,7 +44,7 @@ final class ModuleRegistryTest extends TestCase
public function testModuleClassNamesExposeTheActiveApplicationComposition(): void
{
RuntimePaths::setApplicationRoot(dirname(__DIR__, 2) . '/tests/Fixtures/Application');
TestRuntimeFactory::resetRuntime();
self::assertSame([
'Netig\Netslim\Kernel\Runtime\KernelModule',
@@ -62,14 +59,14 @@ final class ModuleRegistryTest extends TestCase
public function testApplicationManifestIsResolvedFromTheActiveApplicationRoot(): void
{
RuntimePaths::setApplicationRoot(dirname(__DIR__, 2) . '/tests/Fixtures/Application');
TestRuntimeFactory::resetRuntime();
self::assertFileExists(RuntimePaths::getApplicationConfigPath('modules.php'));
}
public function testEveryModuleExposesResolvableMetadata(): void
{
RuntimePaths::setApplicationRoot(dirname(__DIR__, 2) . '/tests/Fixtures/Application');
TestRuntimeFactory::resetRuntime();
foreach (ModuleRegistry::modules() as $module) {
self::assertNotSame([], $module->definitions(), $module::class . ' should expose DI definitions.');