Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
PaymentAdditionalInformationProviderTest.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
14 
18 class PaymentAdditionalInformationProviderTest extends \PHPUnit\Framework\TestCase
19 {
25  private $paymentAdditionalInformationProvider;
26 
30  private $getPaymentNonceCommandMock;
31 
35  private $paymentTokenMock;
36 
40  private $arrayResultMock;
41 
47  protected function setUp()
48  {
49  $this->getPaymentNonceCommandMock = $this->createMock(GetPaymentNonceCommand::class);
50  $this->paymentTokenMock = $this->createMock(PaymentTokenInterface::class);
51  $this->arrayResultMock = $this->createMock(ArrayResult::class);
52  $this->paymentAdditionalInformationProvider = new PaymentAdditionalInformationProvider(
53  $this->getPaymentNonceCommandMock
54  );
55  }
56 
62  public function testGetAdditionalInformation()
63  {
64  $customerId = 15;
65  $publicHash = '3n4b7sn48g';
66  $paymentMethodNonce = 'test';
67 
68  $this->paymentTokenMock->expects($this->once())->method('getCustomerId')->willReturn($customerId);
69  $this->paymentTokenMock->expects($this->once())->method('getPublicHash')->willReturn($publicHash);
70  $this->getPaymentNonceCommandMock->expects($this->once())->method('execute')->with([
73  ])->willReturn($this->arrayResultMock);
74  $this->arrayResultMock->expects($this->once())->method('get')
75  ->willReturn(['paymentMethodNonce' => $paymentMethodNonce]);
76 
77  $expected = [
78  'payment_method_nonce' => $paymentMethodNonce,
79  ];
80  $actual = $this->paymentAdditionalInformationProvider->getAdditionalInformation($this->paymentTokenMock);
81  self::assertEquals($expected, $actual);
82  }
83 }