Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/MC-31544' into 2.4-develop-pr21
Browse files Browse the repository at this point in the history
  • Loading branch information
serhii-balko committed Apr 9, 2020
2 parents 70e46f4 + 3553368 commit c0ddaff
Show file tree
Hide file tree
Showing 6 changed files with 123 additions and 79 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,22 @@
*/
namespace Magento\Sales\Test\Unit\Model\Order\Email\Sender;

use Magento\Framework\App\Config;
use Magento\Framework\App\Config\ScopeConfigInterface;
use Magento\Framework\Event\Manager;
use Magento\Payment\Helper\Data;
use Magento\Payment\Model\Info;
use Magento\Sales\Model\Order;
use Magento\Sales\Model\Order\Address;
use Magento\Sales\Model\Order\Address\Renderer;
use Magento\Sales\Model\Order\Email\Container\Template;
use Magento\Sales\Model\Order\Email\Sender;
use Magento\Sales\Model\Order\Email\SenderBuilderFactory;
use Magento\Store\Model\Store;
use PHPUnit\Framework\MockObject\Matcher\InvokedCount;
use PHPUnit\Framework\MockObject\MockObject;
use Psr\Log\LoggerInterface;

/**
* Class AbstractSenderTest
*
Expand All @@ -13,87 +29,87 @@
abstract class AbstractSenderTest extends \PHPUnit\Framework\TestCase
{
/**
* @var \Magento\Sales\Model\Order\Email\Sender|\PHPUnit_Framework_MockObject_MockObject
* @var Sender|MockObject
*/
protected $senderMock;

/**
* @var \PHPUnit_Framework_MockObject_MockObject
* @var MockObject
*/
protected $senderBuilderFactoryMock;

/**
* @var \PHPUnit_Framework_MockObject_MockObject
* @var MockObject
*/
protected $templateContainerMock;

/**
* @var \PHPUnit_Framework_MockObject_MockObject
* @var MockObject
*/
protected $identityContainerMock;

/**
* @var \PHPUnit_Framework_MockObject_MockObject
* @var MockObject
*/
protected $storeMock;

/**
* @var \PHPUnit_Framework_MockObject_MockObject
* @var MockObject
*/
protected $orderMock;

/**
* @var \PHPUnit_Framework_MockObject_MockObject
* @var MockObject
*/
protected $paymentHelper;

/**
* @var \Magento\Sales\Model\Order\Address\Renderer|\PHPUnit_Framework_MockObject_MockObject
* @var Renderer|MockObject
*/
protected $addressRenderer;

/**
* Global configuration storage mock.
*
* @var \Magento\Framework\App\Config\ScopeConfigInterface|\PHPUnit_Framework_MockObject_MockObject
* @var ScopeConfigInterface|MockObject
*/
protected $globalConfig;

/**
* @var \Magento\Sales\Model\Order\Address|\PHPUnit_Framework_MockObject_MockObject
* @var Address|MockObject
*/
protected $addressMock;

/**
* @var \Magento\Framework\Event\Manager | \PHPUnit_Framework_MockObject_MockObject
* @var Manager|MockObject
*/
protected $eventManagerMock;

/**
* @var \PHPUnit_Framework_MockObject_MockObject
* @var MockObject
*/
protected $loggerMock;

public function stepMockSetup()
{
$this->senderMock = $this->createPartialMock(
\Magento\Sales\Model\Order\Email\Sender::class,
Sender::class,
['send', 'sendCopyTo']
);

$this->senderBuilderFactoryMock = $this->createPartialMock(
\Magento\Sales\Model\Order\Email\SenderBuilderFactory::class,
SenderBuilderFactory::class,
['create']
);
$this->templateContainerMock = $this->createPartialMock(
\Magento\Sales\Model\Order\Email\Container\Template::class,
Template::class,
['setTemplateVars']
);

$this->storeMock = $this->createPartialMock(\Magento\Store\Model\Store::class, ['getStoreId', '__wakeup']);
$this->storeMock = $this->createPartialMock(Store::class, ['getStoreId', '__wakeup']);

$this->orderMock = $this->createPartialMock(
\Magento\Sales\Model\Order::class,
Order::class,
[
'getId', 'getStore', 'getBillingAddress', 'getPayment',
'__wakeup', 'getCustomerIsGuest', 'getCustomerName',
Expand All @@ -105,23 +121,23 @@ public function stepMockSetup()
$this->orderMock->expects($this->any())
->method('getStore')
->will($this->returnValue($this->storeMock));
$paymentInfoMock = $this->createMock(\Magento\Payment\Model\Info::class);
$paymentInfoMock = $this->createMock(Info::class);
$this->orderMock->expects($this->any())
->method('getPayment')
->will($this->returnValue($paymentInfoMock));

$this->addressRenderer = $this->createMock(\Magento\Sales\Model\Order\Address\Renderer::class);
$this->addressMock = $this->createMock(\Magento\Sales\Model\Order\Address::class);
$this->eventManagerMock = $this->createMock(\Magento\Framework\Event\Manager::class);
$this->addressRenderer = $this->createMock(Renderer::class);
$this->addressMock = $this->createMock(Address::class);
$this->eventManagerMock = $this->createMock(Manager::class);

$this->paymentHelper = $this->createPartialMock(\Magento\Payment\Helper\Data::class, ['getInfoBlockHtml']);
$this->paymentHelper = $this->createPartialMock(Data::class, ['getInfoBlockHtml']);
$this->paymentHelper->expects($this->any())
->method('getInfoBlockHtml')
->will($this->returnValue('payment'));

$this->globalConfig = $this->createPartialMock(\Magento\Framework\App\Config::class, ['getValue']);
$this->globalConfig = $this->createPartialMock(Config::class, ['getValue']);

$this->loggerMock = $this->createMock(\Psr\Log\LoggerInterface::class);
$this->loggerMock = $this->createMock(LoggerInterface::class);
}

/**
Expand Down Expand Up @@ -168,14 +184,14 @@ public function stepIdentityContainerInit($identityMockClassName)
}

/**
* @param \PHPUnit_Framework_MockObject_Matcher_InvokedCount $sendExpects
* @param \PHPUnit_Framework_MockObject_Matcher_InvokedCount $sendCopyToExpects
* @param InvokedCount $sendExpects
* @param InvokedCount $sendCopyToExpects
*/
protected function stepSend(
\PHPUnit\Framework\MockObject\Matcher\InvokedCount $sendExpects,
\PHPUnit\Framework\MockObject\Matcher\InvokedCount $sendCopyToExpects
InvokedCount $sendExpects,
InvokedCount $sendCopyToExpects
) {
$senderMock = $this->createPartialMock(\Magento\Sales\Model\Order\Email\Sender::class, ['send', 'sendCopyTo']);
$senderMock = $this->createPartialMock(Sender::class, ['send', 'sendCopyTo']);
$senderMock->expects($sendExpects)
->method('send');
$senderMock->expects($sendCopyToExpects)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,14 @@
*/
namespace Magento\Sales\Test\Unit\Model\Order\Email\Sender;

use Magento\Sales\Api\Data\OrderInterface;
use Magento\Sales\Model\Order\Address;
use Magento\Sales\Model\Order\Creditmemo;
use Magento\Sales\Model\ResourceModel\Order\Creditmemo as CreditmemoResource;
use Magento\Sales\Model\Order\Email\Container\CreditmemoIdentity;
use Magento\Sales\Model\Order\Email\Sender\CreditmemoSender;
use Magento\Sales\Model\ResourceModel\EntityAbstract;
use PHPUnit\Framework\MockObject\MockObject;

/**
* Test for Magento\Sales\Model\Order\Email\Sender\CreditmemoSender class.
Expand All @@ -17,17 +24,17 @@ class CreditmemoSenderTest extends AbstractSenderTest
private const ORDER_ID = 1;

/**
* @var \Magento\Sales\Model\Order\Email\Sender\CreditmemoSender
* @var CreditmemoSender
*/
protected $sender;

/**
* @var \Magento\Sales\Model\Order\Creditmemo|\PHPUnit_Framework_MockObject_MockObject
* @var Creditmemo|MockObject
*/
protected $creditmemoMock;

/**
* @var \Magento\Sales\Model\ResourceModel\EntityAbstract|\PHPUnit_Framework_MockObject_MockObject
* @var EntityAbstract|MockObject
*/
protected $creditmemoResourceMock;

Expand All @@ -36,12 +43,12 @@ protected function setUp()
$this->stepMockSetup();

$this->creditmemoResourceMock = $this->createPartialMock(
\Magento\Sales\Model\ResourceModel\Order\Creditmemo::class,
CreditmemoResource::class,
['saveAttribute']
);

$this->creditmemoMock = $this->createPartialMock(
\Magento\Sales\Model\Order\Creditmemo::class,
Creditmemo::class,
[
'getStore',
'getId',
Expand All @@ -65,7 +72,7 @@ protected function setUp()
->willReturn(self::ORDER_ID);

$this->identityContainerMock = $this->createPartialMock(
\Magento\Sales\Model\Order\Email\Container\CreditmemoIdentity::class,
CreditmemoIdentity::class,
['getStore', 'isEnabled', 'getConfigValue', 'getTemplateId', 'getGuestTemplateId', 'getCopyMethod']
);
$this->identityContainerMock->expects($this->any())
Expand Down Expand Up @@ -113,7 +120,7 @@ public function testSend($configValue, $forceSyncMode, $customerNoteNotify, $ema
->willReturn($configValue);

if (!$configValue || $forceSyncMode) {
$addressMock = $this->createMock(\Magento\Sales\Model\Order\Address::class);
$addressMock = $this->createMock(Address::class);

$this->addressRenderer->expects($this->exactly(2))
->method('format')
Expand Down Expand Up @@ -251,7 +258,7 @@ public function testSendVirtualOrder($isVirtualOrder, $formatCallCount, $expecte
$frontendStatusLabel = 'Complete';
$isNotVirtual = false;

$this->orderMock->setData(\Magento\Sales\Api\Data\OrderInterface::IS_VIRTUAL, $isVirtualOrder);
$this->orderMock->setData(OrderInterface::IS_VIRTUAL, $isVirtualOrder);

$this->orderMock->expects($this->any())
->method('getCustomerName')
Expand All @@ -278,7 +285,7 @@ public function testSendVirtualOrder($isVirtualOrder, $formatCallCount, $expecte
->with('sales_email/general/async_sending')
->willReturn(false);

$addressMock = $this->createMock(\Magento\Sales\Model\Order\Address::class);
$addressMock = $this->createMock(Address::class);

$this->addressRenderer->expects($this->exactly($formatCallCount))
->method('format')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,14 @@
*/
namespace Magento\Sales\Test\Unit\Model\Order\Email\Sender;

use Magento\Sales\Api\Data\OrderInterface;
use Magento\Sales\Model\Order\Address;
use Magento\Sales\Model\Order\Email\Container\InvoiceIdentity;
use Magento\Sales\Model\Order\Email\Sender\InvoiceSender;
use Magento\Sales\Model\Order\Invoice;
use Magento\Sales\Model\ResourceModel\Order\Invoice as InvoiceResource;
use Magento\Sales\Model\ResourceModel\EntityAbstract;
use PHPUnit\Framework\MockObject\MockObject;

/**
* Test for Magento\Sales\Model\Order\Email\Sender\InvoiceSender class.
Expand All @@ -17,17 +24,17 @@ class InvoiceSenderTest extends AbstractSenderTest
private const ORDER_ID = 1;

/**
* @var \Magento\Sales\Model\Order\Email\Sender\InvoiceSender
* @var InvoiceSender
*/
protected $sender;

/**
* @var \Magento\Sales\Model\Order\Invoice|\PHPUnit_Framework_MockObject_MockObject
* @var Invoice|MockObject
*/
protected $invoiceMock;

/**
* @var \Magento\Sales\Model\ResourceModel\EntityAbstract|\PHPUnit_Framework_MockObject_MockObject
* @var EntityAbstract|MockObject
*/
protected $invoiceResourceMock;

Expand All @@ -36,12 +43,12 @@ protected function setUp()
$this->stepMockSetup();

$this->invoiceResourceMock = $this->createPartialMock(
\Magento\Sales\Model\ResourceModel\Order\Invoice::class,
InvoiceResource::class,
['saveAttribute']
);

$this->invoiceMock = $this->createPartialMock(
\Magento\Sales\Model\Order\Invoice::class,
Invoice::class,
[
'getStore',
'getId',
Expand All @@ -66,7 +73,7 @@ protected function setUp()
->willReturn(self::ORDER_ID);

$this->identityContainerMock = $this->createPartialMock(
\Magento\Sales\Model\Order\Email\Container\InvoiceIdentity::class,
InvoiceIdentity::class,
['getStore', 'isEnabled', 'getConfigValue', 'getTemplateId', 'getGuestTemplateId', 'getCopyMethod']
);
$this->identityContainerMock->expects($this->any())
Expand Down Expand Up @@ -114,7 +121,7 @@ public function testSend($configValue, $forceSyncMode, $customerNoteNotify, $ema
->willReturn($configValue);

if (!$configValue || $forceSyncMode) {
$addressMock = $this->createMock(\Magento\Sales\Model\Order\Address::class);
$addressMock = $this->createMock(Address::class);

$this->addressRenderer->expects($this->any())
->method('format')
Expand Down Expand Up @@ -252,7 +259,7 @@ public function sendDataProvider()
public function testSendVirtualOrder($isVirtualOrder, $formatCallCount, $expectedShippingAddress)
{
$billingAddress = 'address_test';
$this->orderMock->setData(\Magento\Sales\Api\Data\OrderInterface::IS_VIRTUAL, $isVirtualOrder);
$this->orderMock->setData(OrderInterface::IS_VIRTUAL, $isVirtualOrder);
$customerName = 'Test Customer';
$frontendStatusLabel = 'Complete';
$isNotVirtual = false;
Expand All @@ -266,7 +273,7 @@ public function testSendVirtualOrder($isVirtualOrder, $formatCallCount, $expecte
->with('sales_email/general/async_sending')
->willReturn(false);

$addressMock = $this->createMock(\Magento\Sales\Model\Order\Address::class);
$addressMock = $this->createMock(Address::class);

$this->addressRenderer->expects($this->exactly($formatCallCount))
->method('format')
Expand Down
Loading

0 comments on commit c0ddaff

Please sign in to comment.