RendererTest.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Sales\Model\Order\Address;
  7. use Magento\TestFramework\Helper\Bootstrap;
  8. use Magento\Framework\ObjectManagerInterface;
  9. use Magento\Sales\Model\Order\Address\Renderer as OrderAddressRenderer;
  10. use Magento\Config\Model\ResourceModel\Config as ConfigResourceModel;
  11. use Magento\Framework\App\Config;
  12. use Magento\Store\Model\Store;
  13. use Magento\Sales\Model\Order\Address as OrderAddress;
  14. use Magento\Sales\Model\Order;
  15. class RendererTest extends \PHPUnit\Framework\TestCase
  16. {
  17. /**
  18. * @var ObjectManagerInterface
  19. */
  20. private $objectManager;
  21. /**
  22. * @var OrderAddressRenderer
  23. */
  24. private $orderAddressRenderer;
  25. /**
  26. * @var ConfigResourceModel
  27. */
  28. private $configResourceModel;
  29. /**
  30. * @var Config
  31. */
  32. private $config;
  33. /**
  34. * Set up
  35. */
  36. protected function setUp()
  37. {
  38. $this->objectManager = Bootstrap::getObjectManager();
  39. $this->orderAddressRenderer = $this->objectManager->get(OrderAddressRenderer::class);
  40. $this->configResourceModel = $this->objectManager->get(ConfigResourceModel::class);
  41. $this->config = $this->objectManager->get(Config::class);
  42. }
  43. /**
  44. * @magentoDataFixture Magento/Sales/_files/order_fixture_store.php
  45. * @magentoDbIsolation disabled
  46. * @magentoAppIsolation enabled
  47. */
  48. public function testFormat()
  49. {
  50. $addressTemplates = [
  51. 'text' => 'text_customized',
  52. 'oneline' => 'oneline_customized',
  53. 'html' => 'html_customized',
  54. 'pdf' => 'pdf_customized'
  55. ];
  56. /** @var Store $store */
  57. $store = $this->objectManager->create(Store::class);
  58. $storeId = $store->load('fixturestore')->getStoreId();
  59. $this->configResourceModel->saveConfig(
  60. 'customer/address_templates/text',
  61. $addressTemplates['text'],
  62. 'stores',
  63. $storeId
  64. );
  65. $this->configResourceModel->saveConfig(
  66. 'customer/address_templates/oneline',
  67. $addressTemplates['oneline'],
  68. 'stores',
  69. $storeId
  70. );
  71. $this->configResourceModel->saveConfig(
  72. 'customer/address_templates/html',
  73. $addressTemplates['html'],
  74. 'stores',
  75. $storeId
  76. );
  77. $this->configResourceModel->saveConfig(
  78. 'customer/address_templates/pdf',
  79. $addressTemplates['pdf'],
  80. 'stores',
  81. $storeId
  82. );
  83. $this->config->clean();
  84. /** @var Order $order */
  85. $order = $this->objectManager->create(Order::class)
  86. ->loadByIncrementId('100000004');
  87. /** @var OrderAddress $address */
  88. $address = $order->getBillingAddress();
  89. $this->assertEquals($addressTemplates['text'], $this->orderAddressRenderer->format($address, 'text'));
  90. $this->assertEquals($addressTemplates['oneline'], $this->orderAddressRenderer->format($address, 'oneline'));
  91. $this->assertEquals($addressTemplates['html'], $this->orderAddressRenderer->format($address, 'html'));
  92. $this->assertEquals($addressTemplates['pdf'], $this->orderAddressRenderer->format($address, 'pdf'));
  93. }
  94. }