OverviewTest.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Multishipping\Block\Checkout;
  7. /**
  8. * @magentoDataFixture Magento/Catalog/_files/product_simple.php
  9. */
  10. class OverviewTest extends \PHPUnit\Framework\TestCase
  11. {
  12. /**
  13. * @var \Magento\Multishipping\Block\Checkout\Overview
  14. */
  15. protected $_block;
  16. /**
  17. * @var \Magento\Framework\ObjectManagerInterface
  18. */
  19. protected $_objectManager;
  20. protected function setUp()
  21. {
  22. \Magento\TestFramework\Helper\Bootstrap::getInstance()->loadArea(\Magento\Framework\App\Area::AREA_FRONTEND);
  23. $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
  24. $this->_block = $this->_objectManager->get(\Magento\Framework\View\LayoutInterface::class)
  25. ->createBlock(
  26. \Magento\Multishipping\Block\Checkout\Overview::class,
  27. 'checkout_overview',
  28. [
  29. 'data' => [
  30. 'renderer_template' => 'Magento_Multishipping::checkout/item/default.phtml',
  31. 'row_renderer_template' => 'Magento_Multishipping::checkout/overview/item.phtml',
  32. ],
  33. ]
  34. );
  35. $this->_block->addChild('renderer.list', \Magento\Framework\View\Element\RendererList::class);
  36. $this->_block->getChildBlock(
  37. 'renderer.list'
  38. )->addChild(
  39. 'default',
  40. \Magento\Checkout\Block\Cart\Item\Renderer::class,
  41. ['template' => 'cart/item/default.phtml']
  42. );
  43. }
  44. public function testGetRowItemHtml()
  45. {
  46. /** @var $item \Magento\Quote\Model\Quote\Item */
  47. $item = $this->_objectManager->create(\Magento\Quote\Model\Quote\Item::class);
  48. /** @var $product \Magento\Catalog\Model\Product */
  49. $product = $this->_objectManager->create(\Magento\Catalog\Model\Product::class);
  50. $product->load(1);
  51. $item->setProduct($product);
  52. /** @var $quote \Magento\Quote\Model\Quote */
  53. $quote = $this->_objectManager->create(\Magento\Quote\Model\Quote::class);
  54. $item->setQuote($quote);
  55. // assure that default renderer was obtained
  56. $this->assertEquals(
  57. 1,
  58. \Magento\TestFramework\Helper\Xpath::getElementsCountForXpath(
  59. '//*[contains(@class,"product") and contains(@class,"name")]/a',
  60. $this->_block->getRowItemHtml($item)
  61. )
  62. );
  63. }
  64. }