Skip to content

Commit 043b52f

Browse files
committed
ENGCOM-3357: MTF tests fix.
1 parent e2c86b9 commit 043b52f

File tree

2 files changed

+25
-9
lines changed

2 files changed

+25
-9
lines changed

dev/tests/functional/lib/Magento/Mtf/Client/Element/ConditionsElement.php

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66

77
namespace Magento\Mtf\Client\Element;
88

9-
use Magento\Mtf\ObjectManager;
10-
use Magento\Mtf\Client\Locator;
119
use Magento\Mtf\Client\ElementInterface;
10+
use Magento\Mtf\Client\Locator;
11+
use Magento\Mtf\ObjectManager;
1212

1313
/**
1414
* Typified element class for conditions.
@@ -135,6 +135,13 @@ class ConditionsElement extends SimpleElement
135135
*/
136136
protected $chooserGridLocator = 'div[id*=chooser]';
137137

138+
/**
139+
* Datepicker xpath.
140+
*
141+
* @var string
142+
*/
143+
private $datepicker = './/*[contains(@class,"ui-datepicker-trigger")]';
144+
138145
/**
139146
* Key of last find param.
140147
*
@@ -189,10 +196,7 @@ class ConditionsElement extends SimpleElement
189196
protected $exception;
190197

191198
/**
192-
* Set value to conditions.
193-
*
194-
* @param string $value
195-
* @return void
199+
* @inheritdoc
196200
*/
197201
public function setValue($value)
198202
{
@@ -411,7 +415,16 @@ protected function fillText($rule, ElementInterface $param)
411415
{
412416
$value = $param->find('input', Locator::SELECTOR_TAG_NAME);
413417
if ($value->isVisible()) {
414-
$value->setValue($rule);
418+
if (!$value->getAttribute('readonly')) {
419+
$value->setValue($rule);
420+
} else {
421+
$datepicker = $param->find(
422+
$this->datepicker,
423+
Locator::SELECTOR_XPATH,
424+
DatepickerElement::class
425+
);
426+
$datepicker->setValue($rule);
427+
}
415428

416429
$apply = $param->find('.//*[@class="rule-param-apply"]', Locator::SELECTOR_XPATH);
417430
if ($apply->isVisible()) {

dev/tests/functional/lib/Magento/Mtf/Client/Element/DatepickerElement.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,13 +66,16 @@ public function setValue($value)
6666
$date = $this->parseDate($value);
6767
$date[1] = ltrim($date[1], '0');
6868
$this->click();
69-
$this->find($this->datePickerButton, Locator::SELECTOR_XPATH)->click();
7069
$datapicker = $this->find($this->datePickerBlock, Locator::SELECTOR_XPATH);
70+
$datepickerClose = $datapicker->find($this->datePickerButtonClose, Locator::SELECTOR_XPATH);
71+
if (!$datepickerClose->isVisible()) {
72+
$this->find($this->datePickerButton, Locator::SELECTOR_XPATH)->click();
73+
}
7174
$datapicker->find($this->datePickerYear, Locator::SELECTOR_XPATH, 'select')->setValue($date[2]);
7275
$datapicker->find($this->datePickerMonth, Locator::SELECTOR_XPATH, 'select')->setValue($date[0]);
7376
$datapicker->find(sprintf($this->datePickerCalendar, $date[1]), Locator::SELECTOR_XPATH)->click();
7477
if ($datapicker->isVisible()) {
75-
$datapicker->find($this->datePickerButtonClose, Locator::SELECTOR_XPATH)->click();
78+
$datepickerClose->click();
7679
}
7780
}
7881

0 commit comments

Comments
 (0)