From fec8d12fc568c70ebae86e4d8c22fc90df54d4de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Calvi=C3=B1o=20S=C3=A1nchez?= Date: Fri, 2 Nov 2018 14:08:03 +0100 Subject: [PATCH] Wait for the link share menu to open in acceptance tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- tests/acceptance/features/bootstrap/FilesAppContext.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/acceptance/features/bootstrap/FilesAppContext.php b/tests/acceptance/features/bootstrap/FilesAppContext.php index 459028813b..73fc04000e 100644 --- a/tests/acceptance/features/bootstrap/FilesAppContext.php +++ b/tests/acceptance/features/bootstrap/FilesAppContext.php @@ -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"); + } } /**