11 use Magento\Sales\Api\Data\OrderPaymentExtension;
14 use PHPUnit_Framework_MockObject_MockObject as MockObject;
29 private $paymentDOMock;
39 private $subjectReaderMock;
46 $this->paymentDOMock = $this->createMock(PaymentDataObjectInterface::class);
47 $this->paymentMock = $this->getMockBuilder(Payment::class)
48 ->disableOriginalConstructor()
50 $this->paymentDOMock->expects(static::once())
51 ->method(
'getPayment')
52 ->willReturn($this->paymentMock);
54 $this->subjectReaderMock = $this->getMockBuilder(SubjectReader::class)
55 ->disableOriginalConstructor()
69 'payment' => $this->paymentDOMock,
75 'paymentMethodToken' =>
$token,
78 $this->subjectReaderMock->expects(self::once())
79 ->method(
'readPayment')
81 ->willReturn($this->paymentDOMock);
82 $this->subjectReaderMock->expects(self::once())
83 ->method(
'readAmount')
87 $paymentExtensionMock = $this->getMockBuilder(OrderPaymentExtension::class)
88 ->setMethods([
'getVaultPaymentToken'])
89 ->disableOriginalConstructor()
90 ->getMockForAbstractClass();
92 $paymentTokenMock = $this->getMockBuilder(PaymentToken::class)
93 ->disableOriginalConstructor()
96 $paymentExtensionMock->expects(static::once())
97 ->method(
'getVaultPaymentToken')
98 ->willReturn($paymentTokenMock);
99 $this->paymentMock->expects(static::once())
100 ->method(
'getExtensionAttributes')
101 ->willReturn($paymentExtensionMock);
103 $paymentTokenMock->expects(static::once())
104 ->method(
'getGatewayToken')
107 $result = $this->builder->build($buildSubject);
108 self::assertEquals($expected,
$result);