|
71 | 71 |
|
72 | 72 | test('it can set mailbox', function () { |
73 | 73 | $folder = new FakeFolder('INBOX'); |
| 74 | + |
74 | 75 | $mailbox = new FakeMailbox(['host' => 'imap.example.com']); |
75 | 76 |
|
76 | 77 | $folder->setMailbox($mailbox); |
|
80 | 81 |
|
81 | 82 | test('it can set messages', function () { |
82 | 83 | $folder = new FakeFolder('INBOX'); |
83 | | - $messages = [new FakeMessage(1), new FakeMessage(2)]; |
84 | 84 |
|
85 | | - $folder->setMessages($messages); |
| 85 | + $folder->setMessages([ |
| 86 | + new FakeMessage(1), |
| 87 | + new FakeMessage(2), |
| 88 | + ]); |
86 | 89 |
|
87 | 90 | expect($folder->messages()->count())->toBe(2); |
88 | 91 | }); |
|
94 | 97 |
|
95 | 98 | expect($folder->delimiter())->toBe('.'); |
96 | 99 | }); |
| 100 | + |
| 101 | +test('it can query messages from a fake mailbox folder', function () { |
| 102 | + $folder = new FakeFolder('inbox', ['\\HasNoChildren'], [ |
| 103 | + new FakeMessage(1, [''], 'Message 1'), |
| 104 | + new FakeMessage(2, [''], 'Message 2'), |
| 105 | + new FakeMessage(3, ['\\Seen'], 'Message 3'), |
| 106 | + ]); |
| 107 | + |
| 108 | + // These should all have the same count because |
| 109 | + // no filtering should actually take place |
| 110 | + expect($folder->messages()->count())->toBe(3); |
| 111 | + expect($folder->messages()->where('Unseen')->count())->toBe(3); |
| 112 | + expect($folder->messages()->where('Seen')->count())->toBe(3); |
| 113 | +}); |
0 commit comments