Skip to content

Commit

Permalink
Merge pull request #10 from jkobus/dependency-injection-configuration…
Browse files Browse the repository at this point in the history
…-fix

Fix services.xml configuration for VatNumberValidator
  • Loading branch information
dannyvankooten authored Dec 4, 2023
2 parents bc9eba5 + 877f3fd commit f3b7a38
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 2 deletions.
5 changes: 3 additions & 2 deletions src/Resources/config/services.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,15 @@
<service id="ibericode_vat.geolocator" class="Ibericode\Vat\Geolocator">
<argument key="$service">%ibericode_vat.geolocator.service%</argument>
</service>
<service id="Ibericode\Vat\Bundle\Validator\Constraints\VatNumberValidator">
<argument key="$validator">%ibericode_vat.validator%</argument>
<service id="ibericode_vat.validator.vat_number_validator" class="Ibericode\Vat\Bundle\Validator\Constraints\VatNumberValidator">
<argument key="$validator" type="service" id="ibericode_vat.validator"/>
</service>

<!-- autowiring class names -->
<service id="Ibericode\Vat\Countries" alias="ibericode_vat.countries" />
<service id="Ibericode\Vat\Validator" alias="ibericode_vat.validator" />
<service id="Ibericode\Vat\Rates" alias="ibericode_vat.rates" />
<service id="Ibericode\Vat\Geolocator" alias="ibericode_vat.geolocator" />
<service id="Ibericode\Vat\Bundle\Validator\Constraints\VatNumberValidator" alias="ibericode_vat.validator.vat_number_validator" />
</services>
</container>
14 changes: 14 additions & 0 deletions tests/DependencyInjection/VatExtensionTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
use Ibericode\Vat\Bundle\DependencyInjection\VatExtension;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use PHPUnit\Framework\TestCase;
use Symfony\Component\DependencyInjection\Reference;

class VatExtensionTest extends TestCase
{
Expand All @@ -27,6 +28,19 @@ public function testDefault()
$this->assertTrue($container->has(Rates::class), 'Rates class is wired');
$this->assertTrue($container->has(Validator::class), 'Validator class is wired');
$this->assertTrue($container->has(Geolocator::class), 'Geolocator class is wired');
}

public function testVatNumberValidator()
{
$container = new ContainerBuilder();
$loader = new VatExtension();
$loader->load([[]], $container);

$this->assertTrue($container->hasDefinition('ibericode_vat.validator.vat_number_validator'));
$this->assertTrue($container->has(VatNumberValidator::class), 'VatNumberValidator class is wired');

$validatorRef = $container->getDefinition('ibericode_vat.validator.vat_number_validator')->getArgument('$validator');
$this->assertInstanceOf(Reference::class, $validatorRef);
$this->assertSame('ibericode_vat.validator', (string) $validatorRef);
}
}

0 comments on commit f3b7a38

Please sign in to comment.