testitest

This commit is contained in:
lubiana 2025-06-08 21:22:26 +02:00
parent 43ca79f650
commit 66c4c1fe4f
Signed by: lubiana
SSH key fingerprint: SHA256:vW1EA0fRR3Fw+dD/sM0K+x3Il2gSry6YRYHqOeQwrfk
30 changed files with 4443 additions and 184 deletions

View file

@ -0,0 +1,86 @@
<?php
use App\Entity\SystemConfig;
use App\Enum\SystemSettingKey;
use App\Service\Config\AppName;
use App\Service\Config\LowStockMultiplier;
use App\Service\ConfigurationService;
test('AppName returns system name from configuration', function () {
// Arrange
$appName = $this->getContainer()->get(AppName::class);
$configService = $this->getContainer()->get(ConfigurationService::class);
$testSystemName = 'Test System Name';
// Set a custom system name
$configService->setConfigValue(SystemSettingKey::SYSTEM_NAME, $testSystemName);
// Act
$result = (string)$appName;
// Assert
expect($result)->toBe($testSystemName);
});
test('AppName returns default system name when not configured', function () {
// Arrange
$appName = $this->getContainer()->get(AppName::class);
$configService = $this->getContainer()->get(ConfigurationService::class);
// Reset to default value
$configService->setDefaultValue(SystemSettingKey::SYSTEM_NAME);
// Act
$result = (string)$appName;
// Assert
expect($result)->toBe(SystemConfig::DEFAULT_SYSTEM_NAME);
});
test('LowStockMultiplier returns multiplier from configuration', function () {
// Arrange
$lowStockMultiplier = $this->getContainer()->get(LowStockMultiplier::class);
$configService = $this->getContainer()->get(ConfigurationService::class);
$testMultiplier = '0.5';
// Set a custom multiplier
$configService->setConfigValue(SystemSettingKey::STOCK_LOW_MULTIPLIER, $testMultiplier);
// Act
$result = $lowStockMultiplier->getValue();
// Assert
expect($result)->toBe((float)$testMultiplier);
});
test('LowStockMultiplier returns default multiplier when not configured', function () {
// Arrange
$lowStockMultiplier = $this->getContainer()->get(LowStockMultiplier::class);
$configService = $this->getContainer()->get(ConfigurationService::class);
// Reset to default value
$configService->setDefaultValue(SystemSettingKey::STOCK_LOW_MULTIPLIER);
// Act
$result = $lowStockMultiplier->getValue();
// Assert
expect($result)->toBe((float)SystemConfig::DEFAULT_STOCK_LOW_MULTIPLIER);
});
test('LowStockMultiplier converts string value to float', function () {
// Arrange
$lowStockMultiplier = $this->getContainer()->get(LowStockMultiplier::class);
$configService = $this->getContainer()->get(ConfigurationService::class);
$testMultiplier = '0.75';
// Set a custom multiplier
$configService->setConfigValue(SystemSettingKey::STOCK_LOW_MULTIPLIER, $testMultiplier);
// Act
$result = $lowStockMultiplier->getValue();
// Assert
expect($result)->toBe(0.75);
expect($result)->toBeFloat();
});