8 use Braintree\Transaction;
13 use PHPUnit_Framework_MockObject_MockObject as MockObject;
25 private $paymentHandler;
35 private $subjectReaderMock;
39 $this->paymentMock = $this->getMockBuilder(Payment::class)
40 ->disableOriginalConstructor()
44 'setAdditionalInformation',
47 $this->subjectReaderMock = $this->getMockBuilder(SubjectReader::class)
48 ->disableOriginalConstructor()
51 $this->paymentMock->expects(static::once())
52 ->method(
'setCcTransId');
53 $this->paymentMock->expects(static::once())
54 ->method(
'setLastTransId');
55 $this->paymentMock->expects(static::any())
56 ->method(
'setAdditionalInformation');
66 $paymentDataMock = $this->getPaymentDataObjectMock();
69 $subject = [
'payment' => $paymentDataMock];
72 $this->subjectReaderMock->expects(self::once())
73 ->method(
'readPayment')
75 ->willReturn($paymentDataMock);
76 $this->subjectReaderMock->expects(self::once())
77 ->method(
'readTransaction')
81 $this->paymentHandler->handle($subject,
$response);
88 private function getPaymentDataObjectMock()
90 $mock = $this->getMockBuilder(PaymentDataObject::class)
91 ->setMethods([
'getPayment'])
92 ->disableOriginalConstructor()
95 $mock->expects(static::once())
96 ->method(
'getPayment')
97 ->willReturn($this->paymentMock);
106 private function getBraintreeTransaction()
110 'avsPostalCodeResponseCode' =>
'M',
111 'avsStreetAddressResponseCode' =>
'M',
112 'cvvResponseCode' =>
'M',
113 'processorAuthorizationCode' =>
'W1V8XK',
114 'processorResponseCode' =>
'1000',
115 'processorResponseText' =>
'Approved',