Add explicit locator for "Enable all" bundle button

Instead of looking for the bundle button and then checking its value now
the expected value is included in the locator and the button is checked
similarly to other elements.

No "Disable all" locator was added as it was not currently needed
anywhere.

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:57:47 +01:00 committed by backportbot[bot]
parent 00b38db77f
commit 30c91a7303
1 changed files with 7 additions and 5 deletions

View File

@ -84,10 +84,10 @@ class AppsManagementContext implements Context, ActorAwareInterface {
/**
* @return Locator
*/
public static function bundleButton($bundle) {
return Locator::forThe()->xpath("//div[@class='apps-header']/h2[normalize-space() = '$bundle']/input")->
public static function enableAllBundleButton($bundle) {
return Locator::forThe()->xpath("//div[@class='apps-header']/h2[normalize-space() = '$bundle']/input[@value='Enable all']")->
descendantOf(self::appsList())->
describedAs("Button to enable / disable bundles");
describedAs("Button to enable bundles");
}
/**
@ -245,14 +245,16 @@ class AppsManagementContext implements Context, ActorAwareInterface {
* @When /^I enable all apps from the "([^"]*)"$/
*/
public function iEnableAllAppsFromThe($bundle) {
$this->actor->find(self::bundleButton($bundle), 2)->click();
$this->actor->find(self::enableAllBundleButton($bundle), 2)->click();
}
/**
* @Given /^I see that the "([^"]*)" is disabled$/
*/
public function iSeeThatTheIsDisabled($bundle) {
PHPUnit\Framework\Assert::assertEquals('Enable all', $this->actor->find(self::bundleButton($bundle), 2)->getValue());
PHPUnit_Framework_Assert::assertTrue(
$this->actor->find(self::enableAllBundleButton($bundle), 2)->isVisible()
);
}
/**