From 01686ad6c6ae4cc2df61e6e1e4f9636c91d3731f Mon Sep 17 00:00:00 2001 From: Kevin Traini <kevin@ktraini.com> Date: Tue, 28 May 2024 18:33:37 +0200 Subject: [PATCH] fix: Root package is not loaded if it's not a brick Closes #29 --- include/Bricks/LoadBricks.php | 3 ++- tests/unit/Bricks/LoadBricksTest.php | 14 ++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/include/Bricks/LoadBricks.php b/include/Bricks/LoadBricks.php index 24a556f..53ce72f 100644 --- a/include/Bricks/LoadBricks.php +++ b/include/Bricks/LoadBricks.php @@ -41,7 +41,8 @@ { public function loadInstalledBricks(): array { - $packages = array_unique(InstalledVersions::getInstalledPackagesByType(self::PACKAGE_TYPE)); + $root = InstalledVersions::getRootPackage()['name']; + $packages = array_unique([$root, ...InstalledVersions::getInstalledPackagesByType(self::PACKAGE_TYPE)]); $result = []; foreach ($packages as $package_name) { diff --git a/tests/unit/Bricks/LoadBricksTest.php b/tests/unit/Bricks/LoadBricksTest.php index b532f2e..1474702 100644 --- a/tests/unit/Bricks/LoadBricksTest.php +++ b/tests/unit/Bricks/LoadBricksTest.php @@ -75,12 +75,14 @@ public function testItLoadBrick(): void $loader = new LoadBricks(); $bricks = $loader->loadInstalledBricks(); - self::assertCount(1, $bricks); - $brick = $bricks[0]; - self::assertSame('brick1', $brick->package_name); - self::assertSame(__DIR__ . '/../Fixtures/brick1', $brick->package_path); - self::assertCount(1, $brick->services); - $service = $brick->services[0]; + self::assertCount(2, $bricks); + $brick1 = $bricks[0]; + self::assertSame('archict/core', $brick1->package_name); // Current package + $brick2 = $bricks[1]; + self::assertSame('brick1', $brick2->package_name); + self::assertSame(__DIR__ . '/../Fixtures/brick1', $brick2->package_path); + self::assertCount(1, $brick2->services); + $service = $brick2->services[0]; self::assertSame(Service1::class, $service->reflection->name); self::assertSame('bar.yml', $service->service_attribute->configuration_filename); self::assertSame(Service1Configuration::class, $service->service_attribute->configuration_classname);