From 9fc65d3c4fd304c6538d4ba4895d9576b0b61638 Mon Sep 17 00:00:00 2001 From: brendt Date: Fri, 14 Nov 2025 11:06:40 +0100 Subject: [PATCH 1/4] wip --- packages/container/src/GenericContainer.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/container/src/GenericContainer.php b/packages/container/src/GenericContainer.php index 8d4427051..e49ef9ca3 100644 --- a/packages/container/src/GenericContainer.php +++ b/packages/container/src/GenericContainer.php @@ -173,7 +173,7 @@ public function config(object $config): self * @param class-string $className * @return null|TClassName */ - public function get(string $className, null|string|UnitEnum $tag = null, mixed ...$params): ?object + public function get(string $className, null|string|UnitEnum $tag = null, mixed ...$params): object { $this->resolveChain(); @@ -325,7 +325,7 @@ public function addDecorator(ClassReflector|string $decoratorClass, ClassReflect return $this; } - private function resolve(string $className, null|string|UnitEnum $tag = null, mixed ...$params): ?object + private function resolve(string $className, null|string|UnitEnum $tag = null, mixed ...$params): object { $instance = $this->resolveDependency($className, $tag, ...$params); @@ -336,7 +336,7 @@ private function resolve(string $className, null|string|UnitEnum $tag = null, mi return $instance; } - private function resolveDependency(string $className, null|string|UnitEnum $tag = null, mixed ...$params): ?object + private function resolveDependency(string $className, null|string|UnitEnum $tag = null, mixed ...$params): object { $class = new ClassReflector($className); @@ -646,7 +646,7 @@ private function resolveTaggedName(string $className, null|string|UnitEnum $tag) : $className; } - private function resolveDecorator(string $className, mixed $instance, null|string|UnitEnum $tag = null, mixed ...$params): ?object + private function resolveDecorator(string $className, mixed $instance, null|string|UnitEnum $tag = null, mixed ...$params): object { foreach ($this->decorators[$className] ?? [] as $decoratorClass) { $decoratorClassReflector = new ClassReflector($decoratorClass); From e7f697e5a97f06eecfb751f1b0458647aa149cb7 Mon Sep 17 00:00:00 2001 From: brendt Date: Fri, 14 Nov 2025 11:11:19 +0100 Subject: [PATCH 2/4] wip --- .../Database/QueryStatements/AlterTableStatementTest.php | 3 +-- .../Database/QueryStatements/CreateTableStatementTest.php | 4 ++-- tests/Integration/View/Components/IconComponentTest.php | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/tests/Integration/Database/QueryStatements/AlterTableStatementTest.php b/tests/Integration/Database/QueryStatements/AlterTableStatementTest.php index b9fc22751..056293913 100644 --- a/tests/Integration/Database/QueryStatements/AlterTableStatementTest.php +++ b/tests/Integration/Database/QueryStatements/AlterTableStatementTest.php @@ -45,11 +45,10 @@ public function test_it_can_alter_a_table_definition(): void email: 'test@example.com', ); } catch (QueryWasInvalid $queryWasInvalid) { - $message = match ($this->container->get(DatabaseConfig::class)?->dialect) { + $message = match ($this->container->get(DatabaseConfig::class)->dialect) { DatabaseDialect::MYSQL => "Unknown column 'email'", DatabaseDialect::SQLITE => 'table users has no column named email', DatabaseDialect::POSTGRESQL => 'column "email" of relation "users" does not exist', - null => throw new RuntimeException('No database dialect available'), }; $this->assertStringContainsString($message, $queryWasInvalid->getMessage()); diff --git a/tests/Integration/Database/QueryStatements/CreateTableStatementTest.php b/tests/Integration/Database/QueryStatements/CreateTableStatementTest.php index 8729a1d9c..3c3dbf4d5 100644 --- a/tests/Integration/Database/QueryStatements/CreateTableStatementTest.php +++ b/tests/Integration/Database/QueryStatements/CreateTableStatementTest.php @@ -67,12 +67,12 @@ public function up(): QueryStatement } }; - $dialect = $this->container->get(DatabaseConfig::class)?->dialect; + $dialect = $this->container->get(DatabaseConfig::class)->dialect; + match ($dialect) { DatabaseDialect::MYSQL => $this->expectNotToPerformAssertions(), DatabaseDialect::SQLITE => $this->expectException(DialectWasNotSupported::class), DatabaseDialect::POSTGRESQL => $this->expectException(DialectWasNotSupported::class), - null => throw new RuntimeException('No database dialect available'), }; $this->migrate( diff --git a/tests/Integration/View/Components/IconComponentTest.php b/tests/Integration/View/Components/IconComponentTest.php index 51a4d562c..7f475e13d 100644 --- a/tests/Integration/View/Components/IconComponentTest.php +++ b/tests/Integration/View/Components/IconComponentTest.php @@ -91,7 +91,7 @@ public function test_it_caches_icons_on_the_first_render(): void $this->render(''); $iconCache = $this->container->get(IconCache::class); - $cachedIcon = $iconCache?->get('icon-ph-eye'); + $cachedIcon = $iconCache->get('icon-ph-eye'); $this->assertNotNull($cachedIcon); $this->assertSame('', $cachedIcon); From 12c82534ef3807961228090cad0e348d036bea6b Mon Sep 17 00:00:00 2001 From: brendt Date: Fri, 14 Nov 2025 11:26:14 +0100 Subject: [PATCH 3/4] wip --- .../Database/QueryStatements/AlterTableStatementTest.php | 1 - .../Database/QueryStatements/CreateTableStatementTest.php | 1 - 2 files changed, 2 deletions(-) diff --git a/tests/Integration/Database/QueryStatements/AlterTableStatementTest.php b/tests/Integration/Database/QueryStatements/AlterTableStatementTest.php index 056293913..4babb621a 100644 --- a/tests/Integration/Database/QueryStatements/AlterTableStatementTest.php +++ b/tests/Integration/Database/QueryStatements/AlterTableStatementTest.php @@ -5,7 +5,6 @@ namespace Tests\Tempest\Integration\Database\QueryStatements; use PHPUnit\Framework\Attributes\Test; -use RuntimeException; use Tempest\Database\Config\DatabaseConfig; use Tempest\Database\Config\DatabaseDialect; use Tempest\Database\Exceptions\QueryWasInvalid; diff --git a/tests/Integration/Database/QueryStatements/CreateTableStatementTest.php b/tests/Integration/Database/QueryStatements/CreateTableStatementTest.php index 3c3dbf4d5..8031ae051 100644 --- a/tests/Integration/Database/QueryStatements/CreateTableStatementTest.php +++ b/tests/Integration/Database/QueryStatements/CreateTableStatementTest.php @@ -4,7 +4,6 @@ namespace Tests\Tempest\Integration\Database\QueryStatements; -use RuntimeException; use Tempest\Database\Config\DatabaseConfig; use Tempest\Database\Config\DatabaseDialect; use Tempest\Database\Database; From 6a2401f4253a12df96400bbed0f899a41fa0bcf9 Mon Sep 17 00:00:00 2001 From: brendt Date: Fri, 14 Nov 2025 11:28:00 +0100 Subject: [PATCH 4/4] wip --- packages/container/src/Container.php | 2 +- packages/container/src/GenericContainer.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/container/src/Container.php b/packages/container/src/Container.php index 05908104f..8eec70c4f 100644 --- a/packages/container/src/Container.php +++ b/packages/container/src/Container.php @@ -22,7 +22,7 @@ public function config(object $config): self; /** * @template TClassName of object * @param class-string $className - * @return null|TClassName + * @return TClassName */ public function get(string $className, null|string|UnitEnum $tag = null, mixed ...$params): mixed; diff --git a/packages/container/src/GenericContainer.php b/packages/container/src/GenericContainer.php index e49ef9ca3..5be785208 100644 --- a/packages/container/src/GenericContainer.php +++ b/packages/container/src/GenericContainer.php @@ -171,7 +171,7 @@ public function config(object $config): self /** * @template TClassName of object * @param class-string $className - * @return null|TClassName + * @return TClassName */ public function get(string $className, null|string|UnitEnum $tag = null, mixed ...$params): object {