diff --git a/app/code/Magento/Vault/Model/PaymentTokenRepository.php b/app/code/Magento/Vault/Model/PaymentTokenRepository.php index 0cc17c3011efcadfc65b6f2d84902641d8def0ef..2fc35d56388dc83ddf9603473216c0ebf03469aa 100644 --- a/app/code/Magento/Vault/Model/PaymentTokenRepository.php +++ b/app/code/Magento/Vault/Model/PaymentTokenRepository.php @@ -129,6 +129,7 @@ class PaymentTokenRepository implements PaymentTokenRepositoryInterface } $tokenModel->setIsActive(false); + $tokenModel->setIsVisible(false); $tokenModel->save(); return true; diff --git a/dev/tests/integration/testsuite/Magento/Vault/Model/PaymentTokenRepositoryTest.php b/dev/tests/integration/testsuite/Magento/Vault/Model/PaymentTokenRepositoryTest.php index cfb126fd9ee4ab53a1104681c929626911e3a249..121ecffa48a64751ff729f4235c5289a2bf0b11e 100644 --- a/dev/tests/integration/testsuite/Magento/Vault/Model/PaymentTokenRepositoryTest.php +++ b/dev/tests/integration/testsuite/Magento/Vault/Model/PaymentTokenRepositoryTest.php @@ -8,39 +8,48 @@ namespace Magento\Vault\Model; use Magento\Framework\Api\FilterBuilder; use Magento\Framework\Api\SearchCriteriaBuilder; use Magento\Framework\Api\SortOrderBuilder; +use Magento\TestFramework\Helper\Bootstrap; +use Magento\TestFramework\ObjectManager; /** - * Class PaymentTokenRepositoryTest - * @package Magento\Vault\Model + * PaymentTokenRepositoryTest contains tests for Vault token repository + * * @magentoDbIsolation enabled */ class PaymentTokenRepositoryTest extends \PHPUnit_Framework_TestCase { - /** @var PaymentTokenRepository */ + /** + * @var PaymentTokenRepository + */ private $repository; - /** @var SortOrderBuilder */ + /** + * @var SortOrderBuilder + */ private $sortOrderBuilder; - /** @var FilterBuilder */ + /** + * @var FilterBuilder + */ private $filterBuilder; - /** @var SearchCriteriaBuilder */ + /** + * @var SearchCriteriaBuilder + */ private $searchCriteriaBuilder; + /** + * @var ObjectManager + */ + private $objectManager; + public function setUp() { - $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); - $this->repository = $objectManager->create(PaymentTokenRepository::class); - $this->searchCriteriaBuilder = $objectManager->create( - \Magento\Framework\Api\SearchCriteriaBuilder::class - ); - $this->filterBuilder = $objectManager->get( - \Magento\Framework\Api\FilterBuilder::class - ); - $this->sortOrderBuilder = $objectManager->get( - \Magento\Framework\Api\SortOrderBuilder::class - ); + $this->objectManager = Bootstrap::getObjectManager(); + $this->repository = $this->objectManager->create(PaymentTokenRepository::class); + $this->searchCriteriaBuilder = $this->objectManager->create(SearchCriteriaBuilder::class); + $this->filterBuilder = $this->objectManager->get(FilterBuilder::class); + $this->sortOrderBuilder = $this->objectManager->get(SortOrderBuilder::class); } /** @@ -77,4 +86,26 @@ class PaymentTokenRepositoryTest extends \PHPUnit_Framework_TestCase $this->assertEquals('second', array_shift($items)->getPaymentMethodCode()); $this->assertEquals('first', array_shift($items)->getPaymentMethodCode()); } + + /** + * @covers \Magento\Vault\Model\PaymentTokenRepository::delete + * @magentoDataFixture Magento/Vault/_files/token.php + */ + public function testDelete() + { + /** @var PaymentTokenManagement $tokenManagement */ + $tokenManagement = $this->objectManager->get(PaymentTokenManagement::class); + + $token = $tokenManagement->getByPublicHash('public_hash', 0); + + /** @var PaymentTokenRepository $tokenRepository */ + $tokenRepository = $this->objectManager->get(PaymentTokenRepository::class); + $tokenRepository->delete($token); + + $deletedToken = $tokenRepository->getById($token->getEntityId()); + + static::assertEquals('public_hash', $deletedToken->getPublicHash()); + static::assertFalse($deletedToken->getIsActive()); + static::assertFalse($deletedToken->getIsVisible()); + } } diff --git a/dev/tests/integration/testsuite/Magento/Vault/_files/token.php b/dev/tests/integration/testsuite/Magento/Vault/_files/token.php new file mode 100644 index 0000000000000000000000000000000000000000..14cc2c73226ee5eb83d201b6c1da17512a6dc4cf --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Vault/_files/token.php @@ -0,0 +1,26 @@ +<?php +/** + * Copyright © 2016 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +use Magento\TestFramework\Helper\Bootstrap; +use Magento\Vault\Model\PaymentToken; +use Magento\Vault\Model\PaymentTokenRepository; + +$objectManager = Bootstrap::getObjectManager(); + +/** @var PaymentToken $token */ +$token = $objectManager->create(PaymentToken::class); + +$token->setGatewayToken('gateway_token') + ->setPublicHash('public_hash') + ->setPaymentMethodCode('vault_payment') + ->setType('card') + ->setExpiresAt(strtotime('+1 year')) + ->setIsVisible(true) + ->setIsActive(true); + +/** @var PaymentTokenRepository $tokenRepository */ +$tokenRepository = $objectManager->create(PaymentTokenRepository::class); +$tokenRepository->save($token);