diff options
author | Christoph Wurst <ChristophWurst@users.noreply.github.com> | 2022-04-07 19:41:43 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-07 19:41:43 +0300 |
commit | a30b96ec17f9103e7544100a5a5e5c7bcf51a112 (patch) | |
tree | ea63bc00a3bce125c6426bf8051f3bb33b629b45 /tests | |
parent | 9f44d148df8de354ba21c128dec66b2de92d5ad0 (diff) | |
parent | 871227e749c3e7e1e4c2fc7580f3417eee32ba09 (diff) |
Merge pull request #5976 from pravussum/fix-account-sync-error-in-message-mapper
Fix message account sync error if uidCandidates list is empty
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); |