feat: add CurrencyValidator

fix: add CurrencyValidator

CurrencyValidator

zarad
This commit is contained in:
2024-01-17 13:50:50 +01:00
parent 64a07b232a
commit 1437ce4558
13 changed files with 2331 additions and 2 deletions

View File

@@ -0,0 +1,33 @@
<?php
declare(strict_types=1);
namespace App\Tests\Validator;
use App\Service\CurrencyListerInterface;
use App\Validator\Currency;
use App\Validator\CurrencyValidator;
class CurrencyValidatorTest extends ValidatorTestCase
{
public function testSuccess(): void {
$currencyValidator = $this->createCurrencyValidator();
$currencyValidator->initialize($this->createExecutionContext(false));
$currencyValidator->validate('USD', new Currency(['message' => 'foo']));
}
public function testFailure(): void {
$currencyValidator = $this->createCurrencyValidator();
$currencyValidator->initialize($this->createExecutionContext(true));
$currencyValidator->validate('EUR', new Currency(['message' => 'foo']));
}
private function createCurrencyValidator(): CurrencyValidator {
$mock = $this->createMock(CurrencyListerInterface::class);
$mock->expects($this->once())
->method('getCurrencies')
->will($this->returnValue(['USD', 'CZK']));
return new CurrencyValidator($mock);
}
}