X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=tests%2Fphpunit%2FWebTest%2FContact%2FTagSetSearchTest.php;h=69aa3bc607c0b106f6f61e7f25bca3a48e483757;hb=c6e262c51134924a9cc023dcb0613238fd1d0451;hp=b57b71ac27bec3347840c3faacb431f7dca115b6;hpb=4c95b949e863281d990ffa2a3104415079e6352d;p=civicrm-core.git diff --git a/tests/phpunit/WebTest/Contact/TagSetSearchTest.php b/tests/phpunit/WebTest/Contact/TagSetSearchTest.php index b57b71ac27..69aa3bc607 100644 --- a/tests/phpunit/WebTest/Contact/TagSetSearchTest.php +++ b/tests/phpunit/WebTest/Contact/TagSetSearchTest.php @@ -1,7 +1,7 @@ webtestLogin(); $tagSet1 = $this->_testAddTagSet(); @@ -42,30 +46,30 @@ class WebTest_Contact_TagSetSearchTest extends CiviSeleniumTestCase { $this->webtestAddContact($contact1, "Anderson", "{$contact1}@example.com"); $this->click('css=li#tab_tag a'); - $this->waitForElementPresent("token-input-contact_taglist_{$tagSet1}"); + $this->waitForElementPresent("xpath=//*[@id='contact_taglist_{$tagSet1}']/../div/ul/li[1]/input"); // Add tag1 for Individual 1 $tag1 = substr(sha1(rand()), 0, 5); - $this->click("css=input#token-input-contact_taglist_{$tagSet1}"); - $this->type("css=input#token-input-contact_taglist_{$tagSet1}", $tag1); - $this->typeKeys("css=input#token-input-contact_taglist_{$tagSet1}", $tag1); + $this->click("xpath=//*[@id='contact_taglist_{$tagSet1}']/../div/ul/li[1]/input"); + $this->keyDown("xpath=//*[@id='contact_taglist_{$tagSet1}']/../div/ul/li[1]/input", " "); + $this->type("xpath=//*[@id='contact_taglist_{$tagSet1}']/../div/ul/li[1]/input", $tag1); + $this->typeKeys("xpath=//*[@id='contact_taglist_{$tagSet1}']/../div/ul/li[1]/input", $tag1); // ...waiting for drop down with results to show up... - $this->waitForElementPresent("css=div.token-input-dropdown-facebook"); - $this->waitForElementPresent("css=li.token-input-dropdown-item2-facebook"); + $this->waitForElementPresent("xpath=//div[@class='select2-result-label']"); // ...need to use mouseDownAt on first result (which is a li element), click does not work - $this->mouseDownAt("css=li.token-input-dropdown-item2-facebook"); + $this->clickAt("xpath=//div[@class='select2-result-label']"); $this->waitForTextPresent($tag1); // Add tag2 for Individual 1 $tag2 = substr(sha1(rand()), 0, 5); - $this->click("css=input#token-input-contact_taglist_{$tagSet2}"); - $this->type("css=input#token-input-contact_taglist_{$tagSet2}", $tag2); - $this->typeKeys("css=input#token-input-contact_taglist_{$tagSet2}", $tag2); + $this->click("xpath=//*[@id='contact_taglist_{$tagSet2}']/../div/ul/li[1]/input"); + $this->keyDown("xpath=//*[@id='contact_taglist_{$tagSet2}']/../div/ul/li[1]/input", " "); + $this->type("xpath=//*[@id='contact_taglist_{$tagSet2}']/../div/ul/li[1]/input", $tag2); + $this->typeKeys("xpath=//*[@id='contact_taglist_{$tagSet2}']/../div/ul/li[1]/input", $tag2); // ...waiting for drop down with results to show up... - $this->waitForElementPresent("css=div.token-input-dropdown-facebook"); - $this->waitForElementPresent("css=li.token-input-dropdown-item2-facebook"); + $this->waitForElementPresent("xpath=//div[@class='select2-result-label']"); // ...need to use mouseDownAt on first result (which is a li element), click does not work - $this->mouseDownAt("css=li.token-input-dropdown-item2-facebook"); + $this->clickAt("xpath=//div[@class='select2-result-label']"); $this->waitForTextPresent($tag2); // Individual 2 @@ -73,51 +77,31 @@ class WebTest_Contact_TagSetSearchTest extends CiviSeleniumTestCase { $this->webtestAddContact($contact2, "Anderson", "{$contact2}@example.com"); $this->click('css=li#tab_tag a'); - $this->waitForElementPresent("token-input-contact_taglist_{$tagSet1}"); + $this->waitForElementPresent("xpath=//*[@id='contact_taglist_{$tagSet1}']/../div/ul/li[1]/input"); // Add tag1 for Individual 2 - $this->click("css=input#token-input-contact_taglist_{$tagSet1}"); - $this->type("css=input#token-input-contact_taglist_{$tagSet1}", $tag1); - $this->typeKeys("css=input#token-input-contact_taglist_{$tagSet1}", $tag1); + $this->click("xpath=//*[@id='contact_taglist_{$tagSet1}']/../div/ul/li[1]/input"); + $this->keyDown("xpath=//*[@id='contact_taglist_{$tagSet1}']/../div/ul/li[1]/input", " "); + $this->type("xpath=//*[@id='contact_taglist_{$tagSet1}']/../div/ul/li[1]/input", $tag1); + $this->typeKeys("xpath=//*[@id='contact_taglist_{$tagSet1}']/../div/ul/li[1]/input", $tag1); // ...waiting for drop down with results to show up... - $this->waitForElementPresent("css=div.token-input-dropdown-facebook"); - $this->waitForElementPresent("css=li.token-input-dropdown-item2-facebook"); + $this->waitForElementPresent("xpath=//div[@class='select2-result-label']"); // ...need to use mouseDownAt on first result (which is a li element), click does not work - $this->mouseDownAt("css=li.token-input-dropdown-item2-facebook"); + $this->clickAt("xpath=//div[@class='select2-result-label']"); $this->waitForTextPresent($tag1); // Go to Advance search. $this->openCiviPage('contact/search/advanced', 'reset=1'); // Check both the tagset. - $this->assertTrue($this->isElementPresent("token-input-contact_taglist_{$tagSet1}")); - $this->assertTrue($this->isElementPresent("token-input-contact_taglist_{$tagSet2}")); + $this->assertTrue($this->isElementPresent("contact_taglist_{$tagSet1}")); + $this->assertTrue($this->isElementPresent("contact_taglist_{$tagSet2}")); // Search contact using tags. - $this->click("css=input#token-input-contact_taglist_{$tagSet1}"); - $this->type("css=input#token-input-contact_taglist_{$tagSet1}", $tag1); - $this->typeKeys("css=input#token-input-contact_taglist_{$tagSet1}", $tag1); - - // ...waiting for drop down with results to show up... - $this->waitForElementPresent("css=div.token-input-dropdown-facebook"); - $this->waitForElementPresent("css=li.token-input-dropdown-item2-facebook"); - - // ...need to use mouseDownAt on first result (which is a li element), click does not work - $this->mouseDownAt("css=li.token-input-dropdown-item2-facebook"); + $this->select2("contact_taglist_{$tagSet1}", $tag1, TRUE); $this->waitForTextPresent($tag1); - $this->click("css=input#token-input-contact_taglist_{$tagSet2}"); - $this->type("css=input#token-input-contact_taglist_{$tagSet2}", $tag2); - $this->click("css=input#token-input-contact_taglist_{$tagSet2}"); - $this->type("css=input#token-input-contact_taglist_{$tagSet2}", $tag2); - $this->typeKeys("css=input#token-input-contact_taglist_{$tagSet2}", $tag2); - - // ...waiting for drop down with results to show up... - $this->waitForElementPresent("css=div.token-input-dropdown-facebook"); - $this->waitForElementPresent("css=li.token-input-dropdown-item2-facebook"); - - // ...need to use mouseDownAt on first result (which is a li element), click does not work - $this->mouseDownAt("css=li.token-input-dropdown-item2-facebook"); + $this->select2("contact_taglist_{$tagSet2}", $tag2, TRUE); $this->waitForTextPresent($tag2); @@ -130,7 +114,10 @@ class WebTest_Contact_TagSetSearchTest extends CiviSeleniumTestCase { $this->assertElementContainsText('css=.crm-search-results table.selector', "Anderson, $contact2"); } - function _testAddTagSet() { + /** + * @return array + */ + public function _testAddTagSet() { // Go to add tag set url. $this->openCiviPage('admin/tag', 'action=add&reset=1&tagset=1'); @@ -161,13 +148,12 @@ class WebTest_Contact_TagSetSearchTest extends CiviSeleniumTestCase { $this->waitForElementPresent("css=table.display tbody tr td"); // verify text - $this->waitForElementPresent("xpath=//table//tbody/tr/td[1][text()= '$tagSetName']"); + $this->assertTrue($this->isTextPresent($tagSetName), 'Missing text: ' . $tagSetName); - $tagid = explode('&id=', $this->getAttribute("xpath=//table//tbody/tr/td[1][text()= '$tagSetName']/following-sibling::td[7]/span/a[text()= 'Edit']@href")); + $tagid = explode('&id=', $this->getAttribute("xpath=//table[@class='display dataTable no-footer']/tbody//tr/td[1]/div[text()= '$tagSetName']/../../td[8]/span/a[text()= 'Edit']@href")); $tagid = explode('&', $tagid[1]); $tagid = $tagid[0]; return $tagid; } } -