You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
roundcubemail/tests/Browser/Mail/MailTest.php

85 lines
2.4 KiB
PHP

<?php
namespace Tests\Browser\Mail;
use Tests\Browser\Components\App;
use Tests\Browser\Components\Popupmenu;
class MailTest extends \Tests\Browser\TestCase
{
public function testMailUI()
{
$this->browse(function ($browser) {
$browser->go('mail');
// check task
$browser->with(new App(), function ($browser) {
$browser->assertEnv('task', 'mail');
// these objects should be there always
$browser->assertObjects([
'qsearchbox',
'mailboxlist',
'messagelist',
'quotadisplay',
'search_filter',
'countdisplay',
]);
});
if (!$browser->isDesktop()) {
$browser->click('.back-sidebar-button');
}
$browser->assertSeeIn('#layout-sidebar .header', TESTS_USER);
// Folders list
$browser->assertVisible('#mailboxlist li.mailbox.inbox.selected');
if (!$browser->isDesktop()) {
$browser->click('.back-list-button');
}
// Mail preview frame
if (!$browser->isPhone()) {
$browser->assertVisible('#messagecontframe');
}
// Toolbar menu
$browser->assertToolbarMenu(
['more'], // active items
['reply', 'reply-all', 'forward', 'delete', 'markmessage'], // inactive items
);
// Task menu
$browser->assertTaskMenu('mail');
});
}
/**
* Test message menu
*/
public function testMessageMenu()
{
$this->browse(function ($browser) {
$browser->go('mail');
$browser->clickToolbarMenuItem('more');
$browser->with(new Popupmenu('message-menu'), function ($browser) {
// Note: These are button class names, not action names
$active = ['import'];
$disabled = ['print', 'download', 'edit.asnew', 'source', 'move', 'copy', 'extwin'];
$hidden = [];
if ($browser->isPhone()) {
$hidden = ['print', 'extwin'];
$disabled = array_diff($disabled, $hidden);
}
$browser->assertMenuState($active, $disabled, $hidden);
$browser->closeMenu();
});
});
}
}