123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Payment\Test\Unit\Gateway\Data;
- use Magento\Payment\Gateway\Data\PaymentDataObjectFactory;
- use Magento\Framework\ObjectManagerInterface;
- use Magento\Sales\Model\Order\Payment;
- use Magento\Payment\Gateway\Data\Order\OrderAdapter;
- use Magento\Sales\Model\Order;
- /**
- * Class PaymentDataObjectFactoryTest
- */
- class PaymentDataObjectFactoryTest extends \PHPUnit\Framework\TestCase
- {
- /** @var PaymentDataObjectFactory */
- protected $model;
- /**
- * @var ObjectManagerInterface|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $objectManagerMock;
- /**
- * @var \Magento\Payment\Gateway\Data\Order\OrderAdapterFactory|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $orderAdapterFactoryMock;
- /**
- * @var \Magento\Payment\Gateway\Data\Quote\QuoteAdapterFactory|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $quoteAdapterFactoryMock;
- /**
- * @var \Magento\Payment\Gateway\Data\PaymentDataObject|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $paymentDataObjectMock;
- protected function setUp()
- {
- $this->objectManagerMock = $this->getMockBuilder(\Magento\Framework\ObjectManagerInterface::class)
- ->getMockForAbstractClass();
- $this->orderAdapterFactoryMock =
- $this->getMockBuilder(\Magento\Payment\Gateway\Data\Order\OrderAdapterFactory::class)
- ->setMethods(['create'])
- ->disableOriginalConstructor()
- ->getMock();
- $this->quoteAdapterFactoryMock =
- $this->getMockBuilder(\Magento\Payment\Gateway\Data\Quote\QuoteAdapterFactory::class)
- ->setMethods(['create'])
- ->disableOriginalConstructor()
- ->getMock();
- $this->paymentDataObjectMock =
- $this->createMock(\Magento\Payment\Gateway\Data\PaymentDataObjectInterface::class);
- $this->model = new PaymentDataObjectFactory(
- $this->objectManagerMock,
- $this->orderAdapterFactoryMock,
- $this->quoteAdapterFactoryMock
- );
- }
- public function testCreatePaymentDataObjectFromOrder()
- {
- /** @var Order $orderMock */
- $orderMock = $this->getMockBuilder(\Magento\Sales\Model\Order::class)
- ->disableOriginalConstructor()
- ->getMock();
- /** @var OrderAdapter $orderAdapterMock */
- $orderAdapterMock = $this->getMockBuilder(\Magento\Payment\Gateway\Data\Order\OrderAdapter::class)
- ->disableOriginalConstructor()
- ->getMock();
- /** @var \Magento\Sales\Model\Order\Payment $paymentInfoMock */
- $paymentInfoMock = $this->getMockBuilder(\Magento\Sales\Model\Order\Payment::class)
- ->disableOriginalConstructor()
- ->getMock();
- $paymentInfoMock->expects($this->once())
- ->method('getOrder')
- ->willReturn($orderMock);
- $this->orderAdapterFactoryMock->expects($this->once())
- ->method('create')
- ->with(['order' => $orderMock])
- ->willReturn($orderAdapterMock);
- $this->objectManagerMock->expects($this->once())
- ->method('create')
- ->with(
- \Magento\Payment\Gateway\Data\PaymentDataObject::class,
- [
- 'order' => $orderAdapterMock,
- 'payment' => $paymentInfoMock
- ]
- )->willReturn($this->paymentDataObjectMock);
- $this->assertSame($this->paymentDataObjectMock, $this->model->create($paymentInfoMock));
- }
- public function testCreatePaymentDataObjectFromQuote()
- {
- /** @var \Magento\Quote\Model\Quote $quoteMock */
- $quoteMock = $this->getMockBuilder(\Magento\Quote\Model\Quote::class)
- ->disableOriginalConstructor()
- ->getMock();
- /** @var OrderAdapter $orderAdapterMock */
- $quoteAdapterMock = $this->getMockBuilder(\Magento\Payment\Gateway\Data\Quote\QuoteAdapter::class)
- ->disableOriginalConstructor()
- ->getMock();
- /** @var \Magento\Quote\Model\Quote\Payment $paymentInfoMock */
- $paymentInfoMock = $this->getMockBuilder(\Magento\Quote\Model\Quote\Payment::class)
- ->disableOriginalConstructor()
- ->getMock();
- $paymentInfoMock->expects($this->once())
- ->method('getQuote')
- ->willReturn($quoteMock);
- $this->quoteAdapterFactoryMock->expects($this->once())
- ->method('create')
- ->with(['quote' => $quoteMock])
- ->willReturn($quoteAdapterMock);
- $this->objectManagerMock->expects($this->once())
- ->method('create')
- ->with(
- \Magento\Payment\Gateway\Data\PaymentDataObject::class,
- [
- 'order' => $quoteAdapterMock,
- 'payment' => $paymentInfoMock
- ]
- )->willReturn($this->paymentDataObjectMock);
- $this->assertSame($this->paymentDataObjectMock, $this->model->create($paymentInfoMock));
- }
- }
|