Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
StoredPayments.php
Go to the documentation of this file.
1 <?php
7 
8 use Magento\Mtf\Block\Block;
9 use Magento\Mtf\Client\ElementInterface;
10 use Magento\Mtf\Client\Locator;
11 
12 class StoredPayments extends Block
13 {
19  private $deleteButton = './/*[@data-type="popup"]//span[text()="Delete"]';
20 
26  private $deleteStoredPayment = '.delete';
27 
33  public function deleteCreditCard(ElementInterface $creditCard)
34  {
35  $creditCard->click();
36  $this->browser->selectWindow();
37  $this->browser->find($this->deleteButton, Locator::SELECTOR_XPATH)->click();
38  $this->browser->selectWindow();
39  }
40 
44  public function deleteStoredPayment()
45  {
46  $this->browser->find($this->deleteStoredPayment)->click();
47  $this->browser->selectWindow();
48  $this->browser->find($this->deleteButton, Locator::SELECTOR_XPATH)->click();
49  $this->browser->selectWindow();
50  }
51 
57  public function getCreditCards()
58  {
59  $result = [];
60  $elements = $this->_rootElement->getElements('./tbody/tr', Locator::SELECTOR_XPATH);
61  foreach ($elements as $row) {
62  $card = substr($row->find('./td[@data-th="Card Number"]', Locator::SELECTOR_XPATH)->getText(), -4, 4);
63  $deleteButton = $row->find(
64  "./td[text()[contains(.,'{$card}')]]/following-sibling::td[@data-th='Actions']//span[text()='Delete']",
65  Locator::SELECTOR_XPATH
66  );
67  $result[$card] = $deleteButton;
68  }
69  return $result;
70  }
71 }
deleteCreditCard(ElementInterface $creditCard)