_addressConfig = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
\Magento\Customer\Model\Address\Config::class
);
}
/**
* @dataProvider renderArrayDataProvider
*/
public function testRenderArray($addressAttributes, $format, $expected)
{
/** @var DefaultRenderer $renderer */
$renderer = $this->_addressConfig->getFormatByCode($format)->getRenderer();
$actual = $renderer->renderArray($addressAttributes);
$this->assertEquals($expected, $actual);
}
public function renderArrayDataProvider()
{
$addressAttributes = [
'city' => 'CityM',
'country_id' => 'US',
'firstname' => 'John',
'lastname' => 'Smith',
'postcode' => '75477',
'region' => 'Alabama',
'region_id' => '1',
'street' => ['Green str, 67'],
'telephone' => '3468676',
];
$htmlResult = "John Smith
\n\nGreen str, 67
\n\n\n\nCityM, Alabama, " .
"75477
\nUnited States
\nT: 3468676\n\n";
return [
[$addressAttributes, AttributeDataFactory::OUTPUT_FORMAT_HTML, $htmlResult],
[
$addressAttributes,
AttributeDataFactory::OUTPUT_FORMAT_PDF,
"John Smith|\n\nGreen str, 67|\n\n\n\nCityM, Alabama, 75477|\nUnited States|\nT: 3468676|\n|\n|"
],
[
$addressAttributes,
AttributeDataFactory::OUTPUT_FORMAT_ONELINE,
"John Smith, Green str, 67, CityM, Alabama 75477, United States"
],
[
$addressAttributes,
AttributeDataFactory::OUTPUT_FORMAT_TEXT,
"John Smith\n\nGreen str, 67\n\n\n\n\nCityM, Alabama, 75477\nUnited States\nT: 3468676\n\n"
]
];
}
/**
* @dataProvider renderDataProvider
*/
public function testRender($address, $format, $expected)
{
/** @var DefaultRenderer $renderer */
$renderer = $this->_addressConfig->getFormatByCode($format)->getRenderer();
$actual = $renderer->render($address);
$this->assertEquals($expected, $actual);
}
public function renderDataProvider()
{
$data = [
'city' => 'CityM',
'country_id' => 'US',
'firstname' => 'John',
'lastname' => 'Smith',
'postcode' => '75477',
'region' => 'Alabama',
'region_id' => '1',
'street' => ['Green str, 67'],
'telephone' => '3468676',
];
$address = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
\Magento\Customer\Model\Address::class
)->setData(
$data
);
return [
[
$address,
AttributeDataFactory::OUTPUT_FORMAT_HTML,
"John Smith
\n\nGreen str, 67
\n\n\n\nCityM, Alabama, 75477
United States
\nT: 3468676\n\n",
],
[
$address,
AttributeDataFactory::OUTPUT_FORMAT_PDF,
"John Smith|\n\nGreen str, 67|\n\n\n\nCityM, Alabama, 75477|
United States|\nT: 3468676|\n|\n|"
],
[
$address,
AttributeDataFactory::OUTPUT_FORMAT_ONELINE,
"John Smith, Green str, 67, CityM, Alabama 75477, United States"
],
[
$address,
AttributeDataFactory::OUTPUT_FORMAT_TEXT,
"John Smith\n\nGreen str, 67\n\n\n\n\nCityM, Alabama, 75477
United States\nT: 3468676\n\n"
]
];
}
}