DeleteActionTest.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Braintree\Controller\Cards;
  7. use Magento\Customer\Model\Session;
  8. use Magento\Framework\Data\Form\FormKey;
  9. use Magento\TestFramework\TestCase\AbstractController;
  10. use Magento\Vault\Model\CustomerTokenManagement;
  11. use Zend\Http\Request;
  12. /**
  13. * Class DeleteActionTest
  14. */
  15. class DeleteActionTest extends AbstractController
  16. {
  17. /**
  18. * @covers \Magento\Vault\Controller\Cards\DeleteAction::execute
  19. * @magentoDataFixture Magento/Braintree/_files/paypal_vault_token.php
  20. */
  21. public function testExecute()
  22. {
  23. $customerId = 1;
  24. /** @var Session $session */
  25. $session = $this->_objectManager->get(Session::class);
  26. $session->setCustomerId($customerId);
  27. /** @var CustomerTokenManagement $tokenManagement */
  28. $tokenManagement = $this->_objectManager->get(CustomerTokenManagement::class);
  29. $tokens = $tokenManagement->getCustomerSessionTokens();
  30. static::assertCount(1, $tokens);
  31. $vaultToken = array_pop($tokens);
  32. /** @var FormKey $formKey */
  33. $formKey = $this->_objectManager->get(FormKey::class);
  34. $this->getRequest()
  35. ->setPostValue([
  36. 'public_hash' => $vaultToken->getPublicHash(),
  37. 'form_key' => $formKey->getFormKey()
  38. ])
  39. ->setMethod(Request::METHOD_POST);
  40. $this->dispatch('vault/cards/deleteaction');
  41. static::assertTrue($this->getResponse()->isRedirect());
  42. static::assertRedirect(static::stringContains('vault/cards/listaction'));
  43. static::assertSessionMessages(static::equalTo(['Stored Payment Method was successfully removed']));
  44. static::assertEmpty($tokenManagement->getCustomerSessionTokens());
  45. }
  46. }