Wait for the link share menu to open in acceptance tests

In the acceptance tests the link share menu is automatically opened if
needed before interacting with an item in the menu; if the menu is not
open it is opened by clicking on its toggle.

However, since a recent change the link share menu is automatically
opened by the regular UI after the link share is created. This causes
that, sometimes, after the creation of a link share the acceptance tests
check whether the menu is shown or not before the menu was automatically
opened; as the menu is not open then the acceptance tests proceed to
click on the toggle, but in the meantime the link share was created and
the menu opened, so clicking on the toggle now closes it. As the menu is
closed it is not possible to interact with its items and the test fails.

To prevent that now the acceptance tests wait for the link share menu to
open after a link share is created before continuing with the other
steps.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
This commit is contained in:
Daniel Calviño Sánchez 2018-11-02 14:08:03 +01:00
parent 337cd25187
commit fec8d12fc5
1 changed files with 8 additions and 0 deletions

View File

@ -320,6 +320,14 @@ class FilesAppContext implements Context, ActorAwareInterface {
$this->actor->find(FileListContext::shareActionForFile(self::currentSectionMainView(), $fileName), 10)->click();
$this->actor->find(self::shareLinkAddNewButton(), 5)->click();
// Wait until the menu was opened after the share creation to continue.
if (!WaitFor::elementToBeEventuallyShown(
$this->actor,
self::shareLinkMenu(),
$timeout = 5 * $this->actor->getFindTimeoutMultiplier())) {
PHPUnit_Framework_Assert::fail("The share link menu is not open yet after $timeout seconds");
}
}
/**