9 use Magento\Customer\Test\Page\CustomerAccountIndex;
10 use Magento\Mtf\ObjectManager;
11 use Magento\Mtf\TestStep\TestStepInterface;
12 use Magento\Payment\Test\Fixture\CreditCard;
14 use Magento\Vault\Test\Page\StoredPaymentMethods;
35 private $objectManager;
42 private $customerAccountIndex;
56 private $assertStoredPaymentDeletedMessage;
63 private $storedPaymentMethodsPage;
74 StoredPaymentMethods $storedPaymentMethodsPage,
76 ObjectManager $objectManager,
77 CustomerAccountIndex $customerAccountIndex,
79 CreditCard $creditCard
81 $this->storedPaymentMethodsPage = $storedPaymentMethodsPage;
84 $this->customerAccountIndex = $customerAccountIndex;
85 $this->assertStoredPaymentDeletedMessage = $assertStoredPaymentDeletedMessage;
86 $this->creditCard = $creditCard;
96 $this->objectManager->create(
97 \
Magento\Customer\Test\TestStep\LoginCustomerOnFrontendStep::class,
98 [
'customer' => $this->customer]
100 $this->customerAccountIndex->getAccountMenuBlock()->openMenuItem(
'Stored Payment Methods');
101 $storedPaymentsBlock = $this->storedPaymentMethodsPage->getStoredPaymentsBlock();
103 $creditCardData = $this->creditCard->getData();
104 $creditCardNumber = preg_grep(
'/([a-z]+)_number/', array_flip($creditCardData));
105 $lastFourDigits = substr(key($creditCardNumber), -4, 4);
107 $availableCreditCards = $storedPaymentsBlock->getCreditCards();
108 if (key_exists($lastFourDigits, $availableCreditCards)) {
109 $storedPaymentsBlock->deleteCreditCard($availableCreditCards[$lastFourDigits]);
111 $this->assertStoredPaymentDeletedMessage->processAssert($this->storedPaymentMethodsPage);
113 return [
'deletedCreditCard' => $lastFourDigits];
__construct(StoredPaymentMethods $storedPaymentMethodsPage, Customer $customer, ObjectManager $objectManager, CustomerAccountIndex $customerAccountIndex, AssertStoredPaymentDeletedMessage $assertStoredPaymentDeletedMessage, CreditCard $creditCard)