From 49fc02a7dab5a756b73fdecac125339e9673a260 Mon Sep 17 00:00:00 2001 From: Julie Lenaerts Date: Tue, 7 Oct 2025 10:19:06 +0200 Subject: [PATCH] Create test for environment banner config --- .../DependencyInjection/ConfigurationTest.php | 84 +++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 src/Bundle/ChillMainBundle/Tests/DependencyInjection/ConfigurationTest.php diff --git a/src/Bundle/ChillMainBundle/Tests/DependencyInjection/ConfigurationTest.php b/src/Bundle/ChillMainBundle/Tests/DependencyInjection/ConfigurationTest.php new file mode 100644 index 000000000..7f4baa119 --- /dev/null +++ b/src/Bundle/ChillMainBundle/Tests/DependencyInjection/ConfigurationTest.php @@ -0,0 +1,84 @@ + [ + 'top_banner' => [ + 'text' => [ + 'fr' => 'Vous travaillez actuellement avec la version de pré-production de Chill.', + 'nl' => 'Je werkte momenteel in de pré-productie versie van Chill.' + ], + 'color' => 'white', + 'background-color' => 'red' + ] + ] + ]; + + $processedConfig = $processor->processConfiguration($configuration, $config); + + self::assertArrayHasKey('top_banner', $processedConfig); + self::assertArrayHasKey('text', $processedConfig['top_banner']); + self::assertArrayHasKey('fr', $processedConfig['top_banner']['text']); + self::assertArrayHasKey('nl', $processedConfig['top_banner']['text']); + self::assertSame('white', $processedConfig['top_banner']['color']); + self::assertSame('red', $processedConfig['top_banner']['background_color']); + } + + public function testTopBannerConfigurationOptional(): void + { + $containerBuilder = new ContainerBuilder(); + $configuration = new Configuration([], $containerBuilder); + $processor = new Processor(); + + // Test without top_banner configuration + $config = [ + 'chill_main' => [] + ]; + + $processedConfig = $processor->processConfiguration($configuration, $config); + + // top_banner should not be present when not configured + self::assertArrayNotHasKey('top_banner', $processedConfig); + } + + public function testTopBannerWithMinimalConfiguration(): void + { + $containerBuilder = new ContainerBuilder(); + $configuration = new Configuration([], $containerBuilder); + $processor = new Processor(); + + // Test with minimal top_banner configuration (only text) + $config = [ + 'chill_main' => [ + 'top_banner' => [ + 'text' => [ + 'fr' => 'Test message' + ] + ] + ] + ]; + + $processedConfig = $processor->processConfiguration($configuration, $config); + + self::assertArrayHasKey('top_banner', $processedConfig); + self::assertArrayHasKey('text', $processedConfig['top_banner']); + self::assertSame('Test message', $processedConfig['top_banner']['text']['fr']); + self::assertNull($processedConfig['top_banner']['color']); + self::assertNull($processedConfig['top_banner']['background_color']); + } +}