77 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
<?php
 | 
						|
/**
 | 
						|
 * Copyright © Magento, Inc. All rights reserved.
 | 
						|
 * See COPYING.txt for license details.
 | 
						|
 */
 | 
						|
namespace Magento\Payment\Block;
 | 
						|
 | 
						|
use Magento\Framework\View\Element\Text;
 | 
						|
use Magento\Framework\View\LayoutInterface;
 | 
						|
use Magento\OfflinePayments\Model\Banktransfer;
 | 
						|
use Magento\OfflinePayments\Model\Checkmo;
 | 
						|
use Magento\Payment\Block\Info as BlockInfo;
 | 
						|
use Magento\Payment\Block\Info\Instructions;
 | 
						|
use Magento\Payment\Model\Info;
 | 
						|
use Magento\Sales\Model\Order;
 | 
						|
use Magento\TestFramework\Helper\Bootstrap;
 | 
						|
 | 
						|
/**
 | 
						|
 * Test for Magento\Payment\Block\Info
 | 
						|
 */
 | 
						|
class InfoTest extends \PHPUnit\Framework\TestCase
 | 
						|
{
 | 
						|
    /**
 | 
						|
     * Tests payment info block.
 | 
						|
     *
 | 
						|
     * @magentoConfigFixture current_store payment/banktransfer/title Bank Method Title
 | 
						|
     * @magentoConfigFixture current_store payment/checkmo/title Checkmo Title Of The Method
 | 
						|
     * @magentoAppArea adminhtml
 | 
						|
     */
 | 
						|
    public function testGetChildPdfAsArray()
 | 
						|
    {
 | 
						|
        /** @var $layout \Magento\Framework\View\Layout */
 | 
						|
        $layout = Bootstrap::getObjectManager()->get(LayoutInterface::class);
 | 
						|
        $block = $layout->createBlock(BlockInfo::class, 'block');
 | 
						|
 | 
						|
        /** @var $paymentInfoBank Info  */
 | 
						|
        $paymentInfoBank = Bootstrap::getObjectManager()->create(
 | 
						|
            Info::class
 | 
						|
        );
 | 
						|
        $order = Bootstrap::getObjectManager()->create(Order::class);
 | 
						|
        $banktransferPayment = Bootstrap::getObjectManager()->create(Banktransfer::class);
 | 
						|
        $paymentInfoBank->setMethodInstance($banktransferPayment);
 | 
						|
        $paymentInfoBank->setOrder($order);
 | 
						|
        /** @var $childBank Instructions */
 | 
						|
        $childBank = $layout->addBlock(Instructions::class, 'child.one', 'block');
 | 
						|
        $childBank->setInfo($paymentInfoBank);
 | 
						|
 | 
						|
        $nonExpectedHtml = 'non-expected html';
 | 
						|
        $childHtml = $layout->addBlock(Text::class, 'child.html', 'block');
 | 
						|
        $childHtml->setText($nonExpectedHtml);
 | 
						|
 | 
						|
        /** @var $paymentInfoCheckmo Info */
 | 
						|
        $paymentInfoCheckmo = Bootstrap::getObjectManager()->create(
 | 
						|
            Info::class
 | 
						|
        );
 | 
						|
        $checkmoPayment = Bootstrap::getObjectManager()->create(Checkmo::class);
 | 
						|
        $paymentInfoCheckmo->setMethodInstance($checkmoPayment);
 | 
						|
        $paymentInfoCheckmo->setOrder($order);
 | 
						|
        /** @var $childCheckmo \Magento\OfflinePayments\Block\Info\Checkmo */
 | 
						|
        $childCheckmo = $layout->addBlock(
 | 
						|
            \Magento\OfflinePayments\Block\Info\Checkmo::class,
 | 
						|
            'child.just.another',
 | 
						|
            'block'
 | 
						|
        );
 | 
						|
        $childCheckmo->setInfo($paymentInfoCheckmo);
 | 
						|
 | 
						|
        $pdfArray = $block->getChildPdfAsArray();
 | 
						|
 | 
						|
        $this->assertIsArray($pdfArray);
 | 
						|
        $this->assertCount(2, $pdfArray);
 | 
						|
        $text = implode('', $pdfArray);
 | 
						|
        $this->assertStringContainsString('Bank Method Title', $text);
 | 
						|
        $this->assertStringContainsString('Checkmo Title Of The Method', $text);
 | 
						|
        $this->assertStringNotContainsString($nonExpectedHtml, $text);
 | 
						|
    }
 | 
						|
}
 |