From cb0e8aeaa644d8cfd3b21b9383a16e3a79d526ac Mon Sep 17 00:00:00 2001 From: Dumazeau Date: Tue, 9 Jan 2024 15:59:58 +0100 Subject: [PATCH] Initial version --- .../Adapter/ConfigurationAdapter.php | 12 ++------ .../Configuration/ConfigurationsTest.php | 30 ++++++++++++++++++- .../Entity/ConfigurationVersionTest.php | 5 +--- ...gurationVersionRepositoryInterfaceTest.php | 2 +- 4 files changed, 33 insertions(+), 16 deletions(-) diff --git a/src/Infrastructure/Adapter/ConfigurationAdapter.php b/src/Infrastructure/Adapter/ConfigurationAdapter.php index 281181b..6602a63 100644 --- a/src/Infrastructure/Adapter/ConfigurationAdapter.php +++ b/src/Infrastructure/Adapter/ConfigurationAdapter.php @@ -18,21 +18,13 @@ public function getConfigurationNamespace(): string { $conf = Configuration::get('configuration_namespace', $this->parameterBag); - if (!\is_string($conf)) { - throw new \InvalidArgumentException('Configuration "configuration_namespace" must be of type string.'); - } - - return $conf; + return \is_string($conf) ? $conf : throw new \InvalidArgumentException('Configuration "configuration_namespace" must be of type string.'); } public function getConfigurationPath(): string { $conf = Configuration::get('configuration_path', $this->parameterBag); - if (!\is_string($conf)) { - throw new \InvalidArgumentException('Configuration "configuration_namespace" must be of type string.'); - } - - return $conf; + return \is_string($conf) ? $conf : throw new \InvalidArgumentException('Configuration "configuration_path" must be of type string.'); } } diff --git a/tests/Domain/Configuration/ConfigurationsTest.php b/tests/Domain/Configuration/ConfigurationsTest.php index b35decb..34906b5 100644 --- a/tests/Domain/Configuration/ConfigurationsTest.php +++ b/tests/Domain/Configuration/ConfigurationsTest.php @@ -8,6 +8,7 @@ use RichCongress\TestSuite\TestCase\TestCase; use RichId\ConfigurationBundle\Domain\Configuration\ConfigurationManager; use RichId\ConfigurationBundle\Domain\Entity\ConfigurationVersion; +use RichId\ConfigurationBundle\Tests\Resources\Configurations\Version20240109124805; use RichId\ConfigurationBundle\Tests\Resources\Configurations\Version20240109124806; use RichId\ConfigurationBundle\Tests\Resources\Configurations\Version20240109124807; use RichId\ConfigurationBundle\Tests\Resources\Configurations\Version20240109124808; @@ -21,6 +22,8 @@ final class ConfigurationsTest extends TestCase { public ConfigurationManager $configurationManager; + public Version20240109124805 $version20240109124805; + public Version20240109124806 $version20240109124806; public function testLoadAllConfigurationsButNothingToExecute(): void @@ -49,11 +52,36 @@ public function testCommandExecuteSpecificVersionName(): void { self::assertSame(1, $this->countConfigurationVersion()); - $this->configurationManager->loadConfiguration($this->version20240109124806); + $output = $this->configurationManager->loadConfiguration($this->version20240109124806); + self::assertTrue($output); self::assertSame(2, $this->countConfigurationVersion()); } + public function testCommandExecuteSpecificVersionNameAlreadyExecuted(): void + { + self::assertSame(1, $this->countConfigurationVersion()); + + $output = $this->configurationManager->loadConfiguration($this->version20240109124805); + + self::assertFalse($output); + self::assertSame(1, $this->countConfigurationVersion()); + } + + public function testFindOneByVersionName(): void + { + $output = $this->configurationManager->findOneByVersionName('Version20240109124805'); + + self::assertSame($this->version20240109124805, $output); + } + + public function testFindOneByVersionNameNotFound(): void + { + $output = $this->configurationManager->findOneByVersionName('Version20240109124805Bis'); + + self::assertNull($output); + } + private function countConfigurationVersion(): int { return $this->getManager()->getRepository(ConfigurationVersion::class)->count([]); diff --git a/tests/Domain/Entity/ConfigurationVersionTest.php b/tests/Domain/Entity/ConfigurationVersionTest.php index 773fb85..a2eb2f6 100644 --- a/tests/Domain/Entity/ConfigurationVersionTest.php +++ b/tests/Domain/Entity/ConfigurationVersionTest.php @@ -8,10 +8,7 @@ use RichCongress\TestSuite\TestCase\TestCase; use RichId\ConfigurationBundle\Domain\Entity\ConfigurationVersion; -/** - * @covers \RichId\ConfigurationBundle\Domain\Configuration\AbstractConfiguration - * @covers \RichId\ConfigurationBundle\Domain\Configuration\ConfigurationManager - */ +/** @covers \RichId\ConfigurationBundle\Domain\Entity\ConfigurationVersion */ #[TestConfig('fixtures')] final class ConfigurationVersionTest extends TestCase { diff --git a/tests/Domain/Port/ConfigurationVersionRepositoryInterfaceTest.php b/tests/Domain/Port/ConfigurationVersionRepositoryInterfaceTest.php index e7b9acd..a88baa4 100644 --- a/tests/Domain/Port/ConfigurationVersionRepositoryInterfaceTest.php +++ b/tests/Domain/Port/ConfigurationVersionRepositoryInterfaceTest.php @@ -9,7 +9,7 @@ use RichId\ConfigurationBundle\Domain\Port\ConfigurationVersionRepositoryInterface; /** - * @covers \RichId\ConfigurationBundle\Infrastructure\Adapter\ConfigurationAdapter + * @covers \RichId\ConfigurationBundle\Infrastructure\Adapter\ConfigurationVersionRepositoryAdapter * @covers \RichId\ConfigurationBundle\Infrastructure\Repository\ConfigurationVersionRepository */ #[TestConfig('fixtures')]