Add locator for apps list

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
This commit is contained in:
Daniel Calviño Sánchez 2021-03-05 21:33:29 +01:00 committed by backportbot[bot]
parent 4c98d2949f
commit 270db2f523
1 changed files with 16 additions and 4 deletions

View File

@ -28,6 +28,14 @@ use Behat\Behat\Context\Context;
class AppsManagementContext implements Context, ActorAwareInterface { class AppsManagementContext implements Context, ActorAwareInterface {
use ActorAware; use ActorAware;
/**
* @return Locator
*/
public static function appsList() {
return Locator::forThe()->xpath("//main[@id='app-content' or contains(@class, 'app-content')]//div[@id='apps-list']")->
describedAs("Apps list in Apps Management");
}
/** /**
* @return Locator * @return Locator
*/ */
@ -59,7 +67,8 @@ class AppsManagementContext implements Context, ActorAwareInterface {
* @return Locator * @return Locator
*/ */
public static function bundleButton($bundle) { public static function bundleButton($bundle) {
return Locator::forThe()->xpath("//main[@id='app-content' or contains(@class, 'app-content')]//div[@class='apps-header']/h2[normalize-space() = '$bundle']/input")-> return Locator::forThe()->xpath("//div[@class='apps-header']/h2[normalize-space() = '$bundle']/input")->
descendantOf(self::appsList())->
describedAs("Button to enable / disable bundles"); describedAs("Button to enable / disable bundles");
} }
@ -67,7 +76,8 @@ class AppsManagementContext implements Context, ActorAwareInterface {
* @return Locator * @return Locator
*/ */
public static function rowForApp($app) { public static function rowForApp($app) {
return Locator::forThe()->xpath("//main[@id='app-content' or contains(@class, 'app-content')]//div[@class='app-name'][normalize-space() = '$app']/..")-> return Locator::forThe()->xpath("//div[@class='app-name'][normalize-space() = '$app']/..")->
descendantOf(self::appsList())->
describedAs("Row for app $app in Apps Management"); describedAs("Row for app $app in Apps Management");
} }
@ -75,7 +85,8 @@ class AppsManagementContext implements Context, ActorAwareInterface {
* @return Locator * @return Locator
*/ */
public static function emptyAppList() { public static function emptyAppList() {
return Locator::forThe()->xpath("//main[@id='app-content' or contains(@class, 'app-content')]//div[@id='apps-list-empty']")-> return Locator::forThe()->xpath("//div[@id='apps-list-empty']")->
descendantOf(self::appsList())->
describedAs("Empty apps list view"); describedAs("Empty apps list view");
} }
@ -83,7 +94,8 @@ class AppsManagementContext implements Context, ActorAwareInterface {
* @return Locator * @return Locator
*/ */
public static function appEntries() { public static function appEntries() {
return Locator::forThe()->xpath("//main[@id='app-content' or contains(@class, 'app-content')]//div[@class='section']")-> return Locator::forThe()->xpath("//div[@class='section']")->
descendantOf(self::appsList())->
describedAs("Entries in apps list"); describedAs("Entries in apps list");
} }