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 8d4427051..5be785208 100644 --- a/packages/container/src/GenericContainer.php +++ b/packages/container/src/GenericContainer.php @@ -171,9 +171,9 @@ 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 + 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); diff --git a/tests/Integration/Database/QueryStatements/AlterTableStatementTest.php b/tests/Integration/Database/QueryStatements/AlterTableStatementTest.php index b9fc22751..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; @@ -45,11 +44,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..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; @@ -67,12 +66,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);