Aleksander Machniak
2016-03-28 46f7b7096450939fe03c95aa81ce06ae4bfca89d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
 
class Selenium_Mail_List extends Selenium_Test
{
    protected function setUp()
    {
        parent::setUp();
 
        bootstrap::init_imap();
        bootstrap::purge_mailbox('INBOX');
 
        // import email messages
        foreach (glob(TESTS_DIR . 'Selenium/data/mail/list_00.eml') as $f) {
            bootstrap::import_message($f, 'INBOX');
        }
    }
 
    public function testList()
    {
        $this->go('mail');
 
        $res = $this->ajaxResponse('list', "rcmail.command('list')");
 
        $this->assertEquals('list', $res['action']);
        $this->assertRegExp('/this\.set_pagetitle/', $res['exec']);
        $this->assertRegExp('/this\.set_unread_count/', $res['exec']);
        $this->assertRegExp('/this\.set_rowcount/', $res['exec']);
        $this->assertRegExp('/this\.set_message_coltypes/', $res['exec']);
 
        $this->assertContains('current_page', $res['env']);
        $this->assertContains('exists', $res['env']);
        $this->assertContains('pagecount', $res['env']);
        $this->assertContains('pagesize', $res['env']);
        $this->assertContains('messagecount', $res['env']);
        $this->assertContains('mailbox', $res['env']);
 
        $this->assertEquals($res['env']['mailbox'], 'INBOX');
        $this->assertEquals($res['env']['messagecount'], 1);
 
        // check message list
        $row = $this->byCssSelector('.messagelist tbody tr:first-child');
        $this->assertHasClass('unread', $row);
 
        $subject = $this->byCssSelector('.messagelist tbody tr:first-child td.subject');
        $this->assertEquals('Lines', $this->getText($subject));
 
        $icon = $this->byCssSelector('.messagelist tbody tr:first-child td.status span');
        $this->assertHasClass('unread', $icon);
    }
}