123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Vault\Model\ResourceModel;
- use Magento\Braintree\Model\Ui\PayPal\ConfigProvider as PayPalConfigProvider;
- use Magento\Framework\App\ResourceConnection;
- use Magento\Framework\DB\Adapter\AdapterInterface;
- use Magento\Framework\ObjectManagerInterface;
- use Magento\Sales\Model\Order;
- use Magento\TestFramework\Helper\Bootstrap;
- use Magento\Vault\Model\PaymentTokenManagement;
- use Magento\Vault\Setup\InstallSchema;
- class PaymentTokenTest extends \PHPUnit\Framework\TestCase
- {
- const CUSTOMER_ID = 1;
- const TOKEN = 'mx29vk';
- const ORDER_INCREMENT_ID = '100000001';
- /**
- * @var ObjectManagerInterface
- */
- private $objectManager;
- /**
- * @var PaymentToken
- */
- private $paymentToken;
- /**
- * @var ResourceConnection
- */
- private $resource;
- /**
- * @var AdapterInterface
- */
- private $connection;
- /**
- * @var PaymentTokenManagement
- */
- private $paymentTokenManagement;
- /**
- * @var Order
- */
- private $order;
- protected function setUp()
- {
- $this->objectManager = Bootstrap::getObjectManager();
- $this->order = $this->objectManager->create(Order::class);
- $this->paymentToken = $this->objectManager->create(PaymentToken::class);
- $this->paymentTokenManagement = $this->objectManager->get(PaymentTokenManagement::class);
- $this->resource = $this->objectManager->get(ResourceConnection::class);
- $this->connection = $this->resource->getConnection();
- }
- /**
- * @magentoDataFixture Magento/Sales/_files/order.php
- * @magentoDataFixture Magento/Braintree/_files/paypal_vault_token.php
- */
- public function testAddLinkToOrderPaymentExists()
- {
- $this->order->loadByIncrementId(self::ORDER_INCREMENT_ID);
- $paymentToken = $this->paymentTokenManagement
- ->getByGatewayToken(self::TOKEN, PayPalConfigProvider::PAYPAL_CODE, self::CUSTOMER_ID);
- $this->connection->insert(
- $this->resource->getTableName('vault_payment_token_order_payment_link'),
- [
- 'order_payment_id' => $this->order->getPayment()->getEntityId(),
- 'payment_token_id' => $paymentToken->getEntityId()
- ]
- );
- static::assertTrue(
- $this->paymentToken->addLinkToOrderPayment(
- $paymentToken->getEntityId(),
- $this->order->getPayment()->getEntityId()
- )
- );
- }
- /**
- * @magentoDataFixture Magento/Sales/_files/order.php
- * @magentoDataFixture Magento/Braintree/_files/paypal_vault_token.php
- */
- public function testAddLinkToOrderPaymentCreate()
- {
- $this->order->loadByIncrementId(self::ORDER_INCREMENT_ID);
- $paymentToken = $this->paymentTokenManagement
- ->getByGatewayToken(self::TOKEN, PayPalConfigProvider::PAYPAL_CODE, self::CUSTOMER_ID);
- $select = $this->connection->select()
- ->from($this->resource->getTableName('vault_payment_token_order_payment_link'))
- ->where('order_payment_id = ?', (int) $this->order->getPayment()->getEntityId())
- ->where('payment_token_id =?', (int) $paymentToken->getEntityId());
- static::assertEmpty($this->connection->fetchRow($select));
- static::assertTrue(
- $this->paymentToken->addLinkToOrderPayment(
- $paymentToken->getEntityId(),
- $this->order->getPayment()->getEntityId()
- )
- );
- static::assertNotEmpty($this->connection->fetchRow($select));
- }
- }
|