9 use Magento\Backend\Test\Page\Adminhtml\SystemConfigEditSectionPayment;
10 use Magento\Mtf\TestStep\TestStepInterface;
26 private $systemConfigEditSectionPayment;
31 private $assertFieldsAreDisabled;
36 private $assertFieldsArePresent;
41 private $assertFieldsAreActive;
46 private $assertFieldsAreEnabled;
65 private $expressCheckoutConfigBlock;
77 SystemConfigEditSectionPayment $systemConfigEditSectionPayment,
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->expressCheckoutConfigBlock = $this->systemConfigEditSectionPayment->getExpressCheckoutConfigBlock();
102 $this->systemConfigEditSectionPayment->open();
103 $this->systemConfigEditSectionPayment->getPaymentsConfigBlock()->switchMerchantCountry($this->countryCode);
104 $this->systemConfigEditSectionPayment->getPaymentsConfigBlock()->expandPaymentSections($this->sections);
105 $this->enableExpressCheckout();
106 $this->disableExpressCheckout();
114 private function enableExpressCheckout()
116 $this->expressCheckoutConfigBlock->clickConfigureButton();
117 $this->expressCheckoutConfigBlock->clearCredentials();
118 $enablers = $this->expressCheckoutConfigBlock->getEnablerFields();
119 $this->assertFieldsAreDisabled->processAssert($this->systemConfigEditSectionPayment, $enablers);
120 $this->expressCheckoutConfigBlock->specifyCredentials();
121 $this->expressCheckoutConfigBlock->enableExpressCheckout();
122 $expressFields = $this->expressCheckoutConfigBlock->getFields();
123 $this->assertFieldsArePresent->processAssert(
124 $this->systemConfigEditSectionPayment,
125 [$expressFields[
'Merchant Account ID'], $expressFields[
'Sort Order PayPal Credit']]
127 $this->assertFieldsAreActive->processAssert(
128 $this->systemConfigEditSectionPayment,
129 [$enablers[
'Enable In-Context Checkout Experience'], $enablers[
'Enable PayPal Credit']]
131 $this->assertFieldsAreEnabled->processAssert(
132 $this->systemConfigEditSectionPayment,
133 [$enablers[
'Enable In-Context Checkout Experience'], $enablers[
'Enable PayPal Credit']]
135 $this->expressCheckoutConfigBlock->specifyMerchantAccountId();
136 $this->systemConfigEditSectionPayment->getPageActions()->save();
137 $this->systemConfigEditSectionPayment->getMessagesBlock()->waitSuccessMessage();
145 private function disableExpressCheckout()
147 $enablers = $this->expressCheckoutConfigBlock->getEnablerFields();
148 $this->expressCheckoutConfigBlock->clickConfigureButton();
149 $this->assertFieldsAreActive->processAssert($this->systemConfigEditSectionPayment, $enablers);
150 $this->assertFieldsAreEnabled->processAssert($this->systemConfigEditSectionPayment, $enablers);
151 $this->expressCheckoutConfigBlock->disableExpressCheckout();
152 $this->assertFieldsAreDisabled->processAssert(
153 $this->systemConfigEditSectionPayment,
154 [$enablers[
'Enable In-Context Checkout Experience'], $enablers[
'Enable PayPal Credit']]
156 $this->systemConfigEditSectionPayment->getPageActions()->save();
157 $this->systemConfigEditSectionPayment->getMessagesBlock()->waitSuccessMessage();
__construct(SystemConfigEditSectionPayment $systemConfigEditSectionPayment, AssertFieldsAreDisabled $assertFieldsAreDisabled, AssertFieldsArePresent $assertFieldsArePresent, AssertFieldsAreActive $assertFieldsAreActive, AssertFieldsAreEnabled $assertFieldsAreEnabled, $countryCode, array $sections)