diff options
author | pravussum <pravussum@users.noreply.github.com> | 2022-01-24 19:30:39 +0300 |
---|---|---|
committer | Christoph Wurst <christoph@winzerhof-wurst.at> | 2022-04-07 16:16:06 +0300 |
commit | 871227e749c3e7e1e4c2fc7580f3417eee32ba09 (patch) | |
tree | 4c78676f5b5524e1b9baa162c043a1899f3f9b87 /tests | |
parent | cfd2571b7edac29866b42b4a7aa65dee4329e757 (diff) |
Fix message account sync error if uidCandites list is empty after filtering
Signed-off-by: pravussum <pravussum@users.noreply.github.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Unit/IMAP/MessageMapperTest.php | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/Unit/IMAP/MessageMapperTest.php b/tests/Unit/IMAP/MessageMapperTest.php index 334cc33aa..74bef763c 100644 --- a/tests/Unit/IMAP/MessageMapperTest.php +++ b/tests/Unit/IMAP/MessageMapperTest.php @@ -322,6 +322,44 @@ class MessageMapperTest extends TestCase { self::assertFalse($result['all']); } + public function testFindAllNoUidCandidates(): void { + /** @var Horde_Imap_Client_Socket|MockObject $client */ + $client = $this->createMock(Horde_Imap_Client_Socket::class); + $mailbox = 'inbox'; + $client->expects(self::once()) + ->method('search') + ->with( + $mailbox, + null, + [ + 'results' => [ + Horde_Imap_Client::SEARCH_RESULTS_MIN, + Horde_Imap_Client::SEARCH_RESULTS_MAX, + Horde_Imap_Client::SEARCH_RESULTS_COUNT, + ] + ] + ) + ->willReturn([ + 'min' => 1, + 'max' => 35791, + 'count' => 32122, + ]); + $query = new Horde_Imap_Client_Fetch_Query(); + $query->uid(); + $client->expects(self::never()) + ->method('fetch'); + + $result = $this->mapper->findAll( + $client, + $mailbox, + 5000, + 99999 + ); + + self::assertTrue($result['all']); + self::assertEmpty($result['messages']); + } + public function testGetFlagged() { /** @var Horde_Imap_Client_Socket|MockObject $imapClient */ $imapClient = $this->createMock(Horde_Imap_Client_Socket::class); |