Fix behat tree dropdown trigger

This commit is contained in:
Damian Mooyman 2017-07-28 13:34:49 +12:00
parent 4e222fc189
commit a85bc86fd3
No known key found for this signature in database
GPG Key ID: 78B823A10DE27D1A

View File

@ -267,17 +267,22 @@ JS;
public function iSelectValueInTreeDropdown($text, $selector)
{
$page = $this->getSession()->getPage();
$parentElement = null;
$this->retryThrowable(function () use (&$parentElement, &$page, $selector) {
$parentElement = $page->find('css', $selector);
assertNotNull($parentElement, sprintf('"%s" element not found', $selector));
$page = $this->getSession()->getPage();
});
$dropdown = $parentElement->find('css', '.Select');
$this->retryThrowable(function () use ($parentElement, $selector) {
$dropdown = $parentElement->find('css', '.Select-arrow');
assertNotNull($dropdown, sprintf('Unable to find the dropdown in "%s"', $selector));
$dropdown->click();
});
$this->retryThrowable(function () use ($text, $parentElement, $selector) {
$element = $parentElement->find('xpath', sprintf('//*[count(*)=0 and contains(.,"%s")]', $text));
assertNotNull($element, sprintf('"%s" not found in "%s"', $text, $selector));
$element->click();
});
}