InfoTest.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Payment\Block;
  7. class InfoTest extends \PHPUnit\Framework\TestCase
  8. {
  9. /**
  10. * @magentoConfigFixture current_store payment/banktransfer/title Bank Method Title
  11. * @magentoConfigFixture current_store payment/checkmo/title Checkmo Title Of The Method
  12. * @magentoAppArea adminhtml
  13. */
  14. public function testGetChildPdfAsArray()
  15. {
  16. /** @var $layout \Magento\Framework\View\Layout */
  17. $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
  18. \Magento\Framework\View\LayoutInterface::class
  19. );
  20. $block = $layout->createBlock(\Magento\Payment\Block\Info::class, 'block');
  21. /** @var $paymentInfoBank \Magento\Payment\Model\Info */
  22. $paymentInfoBank = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
  23. \Magento\Payment\Model\Info::class
  24. );
  25. $paymentInfoBank->setMethodInstance(
  26. \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
  27. \Magento\OfflinePayments\Model\Banktransfer::class
  28. )
  29. );
  30. /** @var $childBank \Magento\Payment\Block\Info\Instructions */
  31. $childBank = $layout->addBlock(\Magento\Payment\Block\Info\Instructions::class, 'child.one', 'block');
  32. $childBank->setInfo($paymentInfoBank);
  33. $nonExpectedHtml = 'non-expected html';
  34. $childHtml = $layout->addBlock(\Magento\Framework\View\Element\Text::class, 'child.html', 'block');
  35. $childHtml->setText($nonExpectedHtml);
  36. /** @var $paymentInfoCheckmo \Magento\Payment\Model\Info */
  37. $paymentInfoCheckmo = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
  38. \Magento\Payment\Model\Info::class
  39. );
  40. $paymentInfoCheckmo->setMethodInstance(
  41. \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
  42. \Magento\OfflinePayments\Model\Checkmo::class
  43. )
  44. );
  45. /** @var $childCheckmo \Magento\OfflinePayments\Block\Info\Checkmo */
  46. $childCheckmo = $layout->addBlock(
  47. \Magento\OfflinePayments\Block\Info\Checkmo::class,
  48. 'child.just.another',
  49. 'block'
  50. );
  51. $childCheckmo->setInfo($paymentInfoCheckmo);
  52. $pdfArray = $block->getChildPdfAsArray();
  53. $this->assertInternalType('array', $pdfArray);
  54. $this->assertCount(2, $pdfArray);
  55. $text = implode('', $pdfArray);
  56. $this->assertContains('Bank Method Title', $text);
  57. $this->assertContains('Checkmo Title Of The Method', $text);
  58. $this->assertNotContains($nonExpectedHtml, $text);
  59. }
  60. }