From cf8277ea3e5785d2b7f6172903f9913dab72ab37 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Sat, 4 Jan 2020 14:30:57 +0100 Subject: [PATCH] Tests: Try to fix test that fails on Travis, but not on my setup --- tests/Browser/Components/Toolbarmenu.php | 6 +++++- tests/Browser/Mail/List.php | 25 ++++++++++++------------ 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/tests/Browser/Components/Toolbarmenu.php b/tests/Browser/Components/Toolbarmenu.php index 39b0e3c80..376e162be 100644 --- a/tests/Browser/Components/Toolbarmenu.php +++ b/tests/Browser/Components/Toolbarmenu.php @@ -48,7 +48,7 @@ class Toolbarmenu extends BaseComponent /** * Assert toolbar menu state */ - public function assertMenuState($browser, $active, $disabled) + public function assertMenuState($browser, $active, $disabled = [], $missing = []) { // On phone the menu is invisible, open it if ($browser->isPhone()) { @@ -77,6 +77,10 @@ class Toolbarmenu extends BaseComponent } } + foreach ($missing as $option) { + $browser->assertMissing("a.{$option}"); + } + $this->closeMenu($browser); } diff --git a/tests/Browser/Mail/List.php b/tests/Browser/Mail/List.php index f56985d97..4d27b9806 100644 --- a/tests/Browser/Mail/List.php +++ b/tests/Browser/Mail/List.php @@ -2,6 +2,8 @@ namespace Tests\Browser\Mail; +use Tests\Browser\Components\Toolbarmenu; + class MailList extends \Tests\Browser\TestCase { protected function setUp() @@ -69,22 +71,20 @@ class MailList extends \Tests\Browser\TestCase } else { // phone // On phones list options are in the toolbar menu - $browser->click('.toolbar-menu-button'); - - $browser->with('#toolbar-menu', function ($browser) { - $browser->assertVisible('a.select:not(.disabled)'); - $browser->assertVisible('a.options:not(.disabled)'); - + $browser->with(new Toolbarmenu(), function ($browser) { + $active = ['select', 'options']; + $missing = []; $imap = \bootstrap::get_storage(); + if ($imap->get_threading()) { - $browser->assertVisible('a.threads:not(.disabled)'); + $active[] = 'threads'; } else { - $browser->assertMissing('a.threads'); + $missing[] = 'threads'; } - }); - $browser->closeToolbarMenu(); + $browser->assertMenuState($active, [], $missing); + }); } }); } @@ -96,8 +96,9 @@ class MailList extends \Tests\Browser\TestCase { $this->browse(function ($browser) { if ($browser->isPhone()) { - $browser->click('.toolbar-menu-button'); - $browser->click('#toolbar-menu a.select'); + $browser->with(new Toolbarmenu(), function ($browser) { + $browser->clickMenuItem('select'); + }); } else if ($browser->isTablet()) { $browser->click('.toolbar-list-button');