mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-08-21 15:13:50 +00:00
address: render Address as lines
This commit is contained in:
@@ -15,6 +15,7 @@ use Chill\MainBundle\Entity\Address;
|
||||
use Chill\MainBundle\Entity\Country;
|
||||
use Chill\MainBundle\Entity\PostalCode;
|
||||
use Chill\MainBundle\Templating\Entity\AddressRender;
|
||||
use Chill\MainBundle\Templating\TranslatableStringHelper;
|
||||
use Iterator;
|
||||
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
|
||||
use Symfony\Component\Templating\EngineInterface;
|
||||
@@ -30,11 +31,11 @@ final class AddressRenderTest extends KernelTestCase
|
||||
self::bootKernel();
|
||||
}
|
||||
|
||||
public function addressDataProvider(): Iterator
|
||||
public function addressDataProviderBEWithBuilding(): Iterator
|
||||
{
|
||||
$addr = new Address();
|
||||
$country = (new Country())
|
||||
->setName(['fr' => 'Pays'])
|
||||
->setName(['fr' => 'Belgium'])
|
||||
->setCountryCode('BE');
|
||||
$postCode = new PostalCode();
|
||||
$postCode->setName('Locality')
|
||||
@@ -45,20 +46,279 @@ final class AddressRenderTest extends KernelTestCase
|
||||
->setStreetNumber('5')
|
||||
->setPostcode($postCode);
|
||||
|
||||
yield [$addr, 'Rue ABC, 5 - 012345 Locality'];
|
||||
$addr->setBuildingName('Résidence "Les Bleuets"');
|
||||
|
||||
yield [$addr, 'Résidence "Les Bleuets" - Rue ABC, 5 - 012345 Locality - Belgium'];
|
||||
}
|
||||
|
||||
public function addressDataProviderBEWithSteps(): Iterator
|
||||
{
|
||||
$addr = new Address();
|
||||
$country = (new Country())
|
||||
->setName(['fr' => 'Belgium'])
|
||||
->setCountryCode('BE');
|
||||
$postCode = new PostalCode();
|
||||
$postCode->setName('Locality')
|
||||
->setCode('012345')
|
||||
->setCountry($country);
|
||||
|
||||
$addr->setStreet('Rue ABC')
|
||||
->setStreetNumber('5')
|
||||
->setPostcode($postCode);
|
||||
|
||||
$addr->setSteps('4');
|
||||
|
||||
yield [$addr, 'esc 4 - Rue ABC, 5 - 012345 Locality - Belgium'];
|
||||
}
|
||||
|
||||
public function addressDataProviderFRWithBuilding(): Iterator
|
||||
{
|
||||
$addr = new Address();
|
||||
$country = (new Country())
|
||||
->setName(['fr' => 'France'])
|
||||
->setCountryCode('FR');
|
||||
$postCode = new PostalCode();
|
||||
$postCode->setName('Locality')
|
||||
->setCode('012345')
|
||||
->setCountry($country);
|
||||
|
||||
$addr->setStreet('Rue ABC')
|
||||
->setStreetNumber('5')
|
||||
->setPostcode($postCode);
|
||||
|
||||
$addr->setBuildingName('Résidence "Les Bleuets"');
|
||||
|
||||
yield [$addr, 'Résidence "Les Bleuets" - 5, Rue ABC - 012345 Locality - France'];
|
||||
}
|
||||
|
||||
public function addressDataProviderFRWithSteps(): Iterator
|
||||
{
|
||||
$addr = new Address();
|
||||
$country = (new Country())
|
||||
->setName(['fr' => 'France'])
|
||||
->setCountryCode('FR');
|
||||
$postCode = new PostalCode();
|
||||
$postCode->setName('Locality')
|
||||
->setCode('012345')
|
||||
->setCountry($country);
|
||||
|
||||
$addr->setStreet('Rue ABC')
|
||||
->setStreetNumber('5')
|
||||
->setPostcode($postCode);
|
||||
|
||||
$addr->setSteps('4');
|
||||
|
||||
yield [$addr, 'esc 4 - 5, Rue ABC - 012345 Locality - France'];
|
||||
}
|
||||
|
||||
public function complexAddressDataProviderBE(): Iterator
|
||||
{
|
||||
$addr = new Address();
|
||||
$country = (new Country())
|
||||
->setName(['fr' => 'Belgium'])
|
||||
->setCountryCode('BE');
|
||||
$postCode = new PostalCode();
|
||||
$postCode->setName('Locality')
|
||||
->setCode('012345')
|
||||
->setCountry($country);
|
||||
|
||||
$addr->setStreet('Rue ABC')
|
||||
->setStreetNumber('5')
|
||||
->setPostcode($postCode);
|
||||
|
||||
$addr->setBuildingName('Résidence "Les Bleuets"');
|
||||
$addr->setFlat('1');
|
||||
$addr->setFloor('2');
|
||||
$addr->setCorridor('3');
|
||||
$addr->setSteps('4');
|
||||
|
||||
yield [$addr, 'Résidence "Les Bleuets" - appart 1 - ét 2 - coul 3 - esc 4 - Rue ABC, 5 - 012345 Locality - Belgium'];
|
||||
}
|
||||
|
||||
public function complexAddressDataProviderFR(): Iterator
|
||||
{
|
||||
$addr = new Address();
|
||||
$country = (new Country())
|
||||
->setName(['fr' => 'France'])
|
||||
->setCountryCode('FR');
|
||||
$postCode = new PostalCode();
|
||||
$postCode->setName('Locality')
|
||||
->setCode('012345')
|
||||
->setCountry($country);
|
||||
|
||||
$addr->setStreet('Rue ABC')
|
||||
->setStreetNumber('5')
|
||||
->setPostcode($postCode);
|
||||
|
||||
$addr->setBuildingName('Résidence "Les Bleuets"');
|
||||
$addr->setFlat('1');
|
||||
$addr->setFloor('2');
|
||||
$addr->setCorridor('3');
|
||||
$addr->setSteps('4');
|
||||
$addr->setExtra('A droite de la porte');
|
||||
$addr->setDistribution('CEDEX');
|
||||
|
||||
yield [$addr, 'appart 1 - ét 2 - coul 3 - esc 4 - Résidence "Les Bleuets" - 5, Rue ABC - A droite de la porte - 012345 Locality CEDEX - France'];
|
||||
}
|
||||
|
||||
public function noFullAddressDataProviderBE(): Iterator
|
||||
{
|
||||
$addr = new Address();
|
||||
$country = (new Country())
|
||||
->setName(['fr' => 'Belgium'])
|
||||
->setCountryCode('BE');
|
||||
$postCode = new PostalCode();
|
||||
$postCode->setName('Locality')
|
||||
->setCode('012345')
|
||||
->setCountry($country);
|
||||
|
||||
$addr->setPostcode($postCode)
|
||||
->setIsNoAddress(true);
|
||||
|
||||
yield [$addr, '012345 Locality - Belgium'];
|
||||
}
|
||||
|
||||
public function simpleAddressDataProviderBE(): Iterator
|
||||
{
|
||||
$addr = new Address();
|
||||
$country = (new Country())
|
||||
->setName(['fr' => 'Belgium'])
|
||||
->setCountryCode('BE');
|
||||
$postCode = new PostalCode();
|
||||
$postCode->setName('Locality')
|
||||
->setCode('012345')
|
||||
->setCountry($country);
|
||||
|
||||
$addr->setStreet('Rue ABC')
|
||||
->setStreetNumber('5')
|
||||
->setPostcode($postCode);
|
||||
|
||||
yield [$addr, 'Rue ABC, 5 - 012345 Locality - Belgium'];
|
||||
}
|
||||
|
||||
public function simpleAddressDataProviderFR(): Iterator
|
||||
{
|
||||
$addr = new Address();
|
||||
$country = (new Country())
|
||||
->setName(['fr' => 'France'])
|
||||
->setCountryCode('FR');
|
||||
$postCode = new PostalCode();
|
||||
$postCode->setName('Locality')
|
||||
->setCode('012345')
|
||||
->setCountry($country);
|
||||
|
||||
$addr->setStreet('Rue ABC')
|
||||
->setStreetNumber('5')
|
||||
->setPostcode($postCode);
|
||||
|
||||
yield [$addr, '5, Rue ABC - 012345 Locality - France'];
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider addressDataProvider
|
||||
* @dataProvider complexAddressDataProviderBE
|
||||
*/
|
||||
public function testRenderString(Address $addr, string $expectedString): void
|
||||
public function testRenderComplexAddressBE(Address $addr, string $expectedString): void
|
||||
{
|
||||
$engine = self::$container->get(EngineInterface::class);
|
||||
$renderer = new AddressRender($engine);
|
||||
$translatableStringHelper = self::$container->get(TranslatableStringHelper::class);
|
||||
$renderer = new AddressRender($engine, $translatableStringHelper);
|
||||
|
||||
$this->assertEquals($expectedString, $renderer->renderString($addr, []));
|
||||
}
|
||||
|
||||
return;
|
||||
$this->assertIsString($renderer->renderBox($addr, []));
|
||||
/**
|
||||
* @dataProvider complexAddressDataProviderFR
|
||||
*/
|
||||
public function testRenderComplexAddressFR(Address $addr, string $expectedString): void
|
||||
{
|
||||
$engine = self::$container->get(EngineInterface::class);
|
||||
$translatableStringHelper = self::$container->get(TranslatableStringHelper::class);
|
||||
$renderer = new AddressRender($engine, $translatableStringHelper);
|
||||
|
||||
$this->assertEquals($expectedString, $renderer->renderString($addr, []));
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider noFullAddressDataProviderBE
|
||||
*/
|
||||
public function testRenderNoFullAddressBE(Address $addr, string $expectedString): void
|
||||
{
|
||||
$engine = self::$container->get(EngineInterface::class);
|
||||
$translatableStringHelper = self::$container->get(TranslatableStringHelper::class);
|
||||
$renderer = new AddressRender($engine, $translatableStringHelper);
|
||||
|
||||
$this->assertEquals($expectedString, $renderer->renderString($addr, []));
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider simpleAddressDataProviderBE
|
||||
*/
|
||||
public function testRenderStringSimpleAddressBE(Address $addr, string $expectedString): void
|
||||
{
|
||||
$engine = self::$container->get(EngineInterface::class);
|
||||
$translatableStringHelper = self::$container->get(TranslatableStringHelper::class);
|
||||
$renderer = new AddressRender($engine, $translatableStringHelper);
|
||||
|
||||
$this->assertEquals($expectedString, $renderer->renderString($addr, []));
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider simpleAddressDataProviderFR
|
||||
*/
|
||||
public function testRenderStringSimpleAddressFR(Address $addr, string $expectedString): void
|
||||
{
|
||||
$engine = self::$container->get(EngineInterface::class);
|
||||
$translatableStringHelper = self::$container->get(TranslatableStringHelper::class);
|
||||
$renderer = new AddressRender($engine, $translatableStringHelper);
|
||||
|
||||
$this->assertEquals($expectedString, $renderer->renderString($addr, []));
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider addressDataProviderBEWithBuilding
|
||||
*/
|
||||
public function testRenderWithBuildingAddressBE(Address $addr, string $expectedString): void
|
||||
{
|
||||
$engine = self::$container->get(EngineInterface::class);
|
||||
$translatableStringHelper = self::$container->get(TranslatableStringHelper::class);
|
||||
$renderer = new AddressRender($engine, $translatableStringHelper);
|
||||
|
||||
$this->assertEquals($expectedString, $renderer->renderString($addr, []));
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider addressDataProviderFRWithBuilding
|
||||
*/
|
||||
public function testRenderWithBuildingAddressFR(Address $addr, string $expectedString): void
|
||||
{
|
||||
$engine = self::$container->get(EngineInterface::class);
|
||||
$translatableStringHelper = self::$container->get(TranslatableStringHelper::class);
|
||||
$renderer = new AddressRender($engine, $translatableStringHelper);
|
||||
|
||||
$this->assertEquals($expectedString, $renderer->renderString($addr, []));
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider addressDataProviderBEWithSteps
|
||||
*/
|
||||
public function testRenderWithStepsAddressBE(Address $addr, string $expectedString): void
|
||||
{
|
||||
$engine = self::$container->get(EngineInterface::class);
|
||||
$translatableStringHelper = self::$container->get(TranslatableStringHelper::class);
|
||||
$renderer = new AddressRender($engine, $translatableStringHelper);
|
||||
|
||||
$this->assertEquals($expectedString, $renderer->renderString($addr, []));
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider addressDataProviderFRWithSteps
|
||||
*/
|
||||
public function testRenderWithStepsAddressFR(Address $addr, string $expectedString): void
|
||||
{
|
||||
$engine = self::$container->get(EngineInterface::class);
|
||||
$translatableStringHelper = self::$container->get(TranslatableStringHelper::class);
|
||||
$renderer = new AddressRender($engine, $translatableStringHelper);
|
||||
|
||||
$this->assertEquals($expectedString, $renderer->renderString($addr, []));
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user