Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
CheckPaymentsAdvancedConfigStep.php
Go to the documentation of this file.
1 <?php
8 
9 use Magento\Backend\Test\Page\Adminhtml\SystemConfigEditSectionPayment;
10 use Magento\Mtf\TestStep\TestStepInterface;
15 
19 class CheckPaymentsAdvancedConfigStep implements TestStepInterface
20 {
26  private $systemConfigEditSectionPayment;
27 
31  private $assertFieldsAreDisabled;
32 
36  private $assertFieldsArePresent;
37 
41  private $assertFieldsAreActive;
42 
46  private $assertFieldsAreEnabled;
47 
53  private $countryCode;
54 
60  private $sections;
61 
65  private $paymentsAdvancedConfigBlock;
66 
76  public function __construct(
77  SystemConfigEditSectionPayment $systemConfigEditSectionPayment,
78  AssertFieldsAreDisabled $assertFieldsAreDisabled,
79  AssertFieldsArePresent $assertFieldsArePresent,
80  AssertFieldsAreActive $assertFieldsAreActive,
81  AssertFieldsAreEnabled $assertFieldsAreEnabled,
82  $countryCode,
83  array $sections
84  ) {
85  $this->systemConfigEditSectionPayment = $systemConfigEditSectionPayment;
86  $this->assertFieldsAreDisabled = $assertFieldsAreDisabled;
87  $this->assertFieldsArePresent = $assertFieldsArePresent;
88  $this->assertFieldsAreActive = $assertFieldsAreActive;
89  $this->assertFieldsAreEnabled = $assertFieldsAreEnabled;
90  $this->countryCode = $countryCode;
91  $this->sections = $sections;
92  $this->paymentsAdvancedConfigBlock = $this->systemConfigEditSectionPayment->getPaymentsAdvancedConfigBlock();
93  }
94 
100  public function run()
101  {
102  $this->systemConfigEditSectionPayment->getPaymentsConfigBlock()->expandPaymentSections($this->sections);
103  $this->enablePaymentsAdvanced();
104  $this->disablePaymentsAdvanced();
105  }
106 
112  private function enablePaymentsAdvanced()
113  {
114  $this->paymentsAdvancedConfigBlock->clickConfigureButton();
115  $this->paymentsAdvancedConfigBlock->clearCredentials();
116  $enablers = $this->paymentsAdvancedConfigBlock->getEnablerFields();
117  $this->assertFieldsAreDisabled->processAssert($this->systemConfigEditSectionPayment, $enablers);
118  $this->paymentsAdvancedConfigBlock->specifyCredentials();
119  $this->assertFieldsAreActive->processAssert(
120  $this->systemConfigEditSectionPayment,
121  [$enablers['Enable this Solution']]
122  );
123  $this->paymentsAdvancedConfigBlock->enablePaymentsAdvanced();
124  $this->assertFieldsAreActive->processAssert(
125  $this->systemConfigEditSectionPayment,
126  [$enablers['Enable this Solution'], $enablers['Enable PayPal Credit']]
127  );
128  $this->assertFieldsAreEnabled->processAssert(
129  $this->systemConfigEditSectionPayment,
130  [$enablers['Enable this Solution'], $enablers['Enable PayPal Credit']]
131  );
132  $this->systemConfigEditSectionPayment->getPageActions()->save();
133  $this->systemConfigEditSectionPayment->getMessagesBlock()->waitSuccessMessage();
134  }
135 
141  private function disablePaymentsAdvanced()
142  {
143  $enablers = $this->paymentsAdvancedConfigBlock->getEnablerFields();
144  $this->paymentsAdvancedConfigBlock->clickConfigureButton();
145  $this->assertFieldsAreActive->processAssert($this->systemConfigEditSectionPayment, $enablers);
146  $this->assertFieldsAreEnabled->processAssert($this->systemConfigEditSectionPayment, $enablers);
147  $this->paymentsAdvancedConfigBlock->disablePaymentsAdvanced();
148  $this->assertFieldsAreDisabled->processAssert(
149  $this->systemConfigEditSectionPayment,
150  [$enablers['Enable PayPal Credit']]
151  );
152  $this->systemConfigEditSectionPayment->getPageActions()->save();
153  $this->systemConfigEditSectionPayment->getMessagesBlock()->waitSuccessMessage();
154  }
155 }
__construct(SystemConfigEditSectionPayment $systemConfigEditSectionPayment, AssertFieldsAreDisabled $assertFieldsAreDisabled, AssertFieldsArePresent $assertFieldsArePresent, AssertFieldsAreActive $assertFieldsAreActive, AssertFieldsAreEnabled $assertFieldsAreEnabled, $countryCode, array $sections)