Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
PaymentTokenTest.php
Go to the documentation of this file.
1 <?php
7 
8 use Magento\Braintree\Model\Ui\PayPal\ConfigProvider as PayPalConfigProvider;
15 use Magento\Vault\Setup\InstallSchema;
16 
17 class PaymentTokenTest extends \PHPUnit\Framework\TestCase
18 {
19  const CUSTOMER_ID = 1;
20  const TOKEN = 'mx29vk';
21  const ORDER_INCREMENT_ID = '100000001';
22 
26  private $objectManager;
27 
31  private $paymentToken;
32 
36  private $resource;
37 
41  private $connection;
42 
46  private $paymentTokenManagement;
47 
51  private $order;
52 
53  protected function setUp()
54  {
55  $this->objectManager = Bootstrap::getObjectManager();
56  $this->order = $this->objectManager->create(Order::class);
57  $this->paymentToken = $this->objectManager->create(PaymentToken::class);
58  $this->paymentTokenManagement = $this->objectManager->get(PaymentTokenManagement::class);
59 
60  $this->resource = $this->objectManager->get(ResourceConnection::class);
61  $this->connection = $this->resource->getConnection();
62  }
63 
69  {
70  $this->order->loadByIncrementId(self::ORDER_INCREMENT_ID);
71  $paymentToken = $this->paymentTokenManagement
72  ->getByGatewayToken(self::TOKEN, PayPalConfigProvider::PAYPAL_CODE, self::CUSTOMER_ID);
73 
74  $this->connection->insert(
75  $this->resource->getTableName('vault_payment_token_order_payment_link'),
76  [
77  'order_payment_id' => $this->order->getPayment()->getEntityId(),
78  'payment_token_id' => $paymentToken->getEntityId()
79  ]
80  );
81 
82  static::assertTrue(
83  $this->paymentToken->addLinkToOrderPayment(
84  $paymentToken->getEntityId(),
85  $this->order->getPayment()->getEntityId()
86  )
87  );
88  }
89 
95  {
96  $this->order->loadByIncrementId(self::ORDER_INCREMENT_ID);
97  $paymentToken = $this->paymentTokenManagement
98  ->getByGatewayToken(self::TOKEN, PayPalConfigProvider::PAYPAL_CODE, self::CUSTOMER_ID);
99 
100  $select = $this->connection->select()
101  ->from($this->resource->getTableName('vault_payment_token_order_payment_link'))
102  ->where('order_payment_id = ?', (int) $this->order->getPayment()->getEntityId())
103  ->where('payment_token_id =?', (int) $paymentToken->getEntityId());
104 
105  static::assertEmpty($this->connection->fetchRow($select));
106  static::assertTrue(
107  $this->paymentToken->addLinkToOrderPayment(
108  $paymentToken->getEntityId(),
109  $this->order->getPayment()->getEntityId()
110  )
111  );
112  static::assertNotEmpty($this->connection->fetchRow($select));
113  }
114 }