summaryrefslogtreecommitdiffstats
path: root/tests/Unit/Db/ItemMapperTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/Unit/Db/ItemMapperTest.php')
-rw-r--r--tests/Unit/Db/ItemMapperTest.php1303
1 files changed, 0 insertions, 1303 deletions
diff --git a/tests/Unit/Db/ItemMapperTest.php b/tests/Unit/Db/ItemMapperTest.php
index c1e946d2b..490f13e71 100644
--- a/tests/Unit/Db/ItemMapperTest.php
+++ b/tests/Unit/Db/ItemMapperTest.php
@@ -470,1309 +470,6 @@ class ItemMapperTest extends MapperTestUtility
$this->assertEquals(Item::fromRow(['id' => 4]), $result);
}
- public function testFindAllInFeedAfter()
- {
- $this->db->expects($this->once())
- ->method('getQueryBuilder')
- ->willReturn($this->builder);
-
- $this->builder->expects($this->once())
- ->method('select')
- ->with('items.*')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('from')
- ->with('news_items', 'items')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('innerJoin')
- ->with('items', 'news_feeds', 'feeds', 'items.feed_id = feeds.id')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(3))
- ->method('andWhere')
- ->withConsecutive(
- ['items.last_modified >= :updatedSince'],
- ['feeds.user_id = :userId'],
- ['feeds.id = :feedId']
- )
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(1))
- ->method('setParameters')
- ->with([
- 'updatedSince' => 1610903351,
- 'feedId' => 4,
- 'userId' => 'jack',
- ])
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('orderBy')
- ->with('items.last_modified', 'DESC')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('addOrderBy')
- ->with('items.id', 'DESC')
- ->willReturnSelf();
-
- $this->builder->expects($this->once())
- ->method('execute')
- ->will($this->returnValue($this->cursor));
-
- $this->cursor->expects($this->exactly(2))
- ->method('fetch')
- ->willReturnOnConsecutiveCalls(
- ['id' => 4],
- false
- );
-
- $result = $this->class->findAllInFeedAfter('jack', 4, 1610903351, false);
- $this->assertEquals([Item::fromRow(['id' => 4])], $result);
- }
-
- public function testFindAllInFeedAfterHideRead()
- {
- $this->db->expects($this->once())
- ->method('getQueryBuilder')
- ->willReturn($this->builder);
-
- $this->builder->expects($this->once())
- ->method('select')
- ->with('items.*')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('from')
- ->with('news_items', 'items')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('innerJoin')
- ->with('items', 'news_feeds', 'feeds', 'items.feed_id = feeds.id')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(4))
- ->method('andWhere')
- ->withConsecutive(
- ['items.last_modified >= :updatedSince'],
- ['feeds.user_id = :userId'],
- ['feeds.id = :feedId'],
- ['items.unread = 1']
- )
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(1))
- ->method('setParameters')
- ->with([
- 'updatedSince' => 1610903351,
- 'feedId' => 4,
- 'userId' => 'jack',
- ])
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('orderBy')
- ->with('items.last_modified', 'DESC')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('addOrderBy')
- ->with('items.id', 'DESC')
- ->willReturnSelf();
-
- $this->builder->expects($this->once())
- ->method('execute')
- ->will($this->returnValue($this->cursor));
-
- $this->cursor->expects($this->exactly(2))
- ->method('fetch')
- ->willReturnOnConsecutiveCalls(
- ['id' => 4],
- false
- );
-
- $result = $this->class->findAllInFeedAfter('jack', 4, 1610903351, true);
- $this->assertEquals([Item::fromRow(['id' => 4])], $result);
- }
-
- public function testFindAllInFolderAfter()
- {
- $this->db->expects($this->once())
- ->method('getQueryBuilder')
- ->willReturn($this->builder);
-
- $this->builder->expects($this->once())
- ->method('select')
- ->with('items.*')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('from')
- ->with('news_items', 'items')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(2))
- ->method('innerJoin')
- ->withConsecutive(
- ['items', 'news_feeds', 'feeds', 'items.feed_id = feeds.id'],
- ['feeds', 'news_folders', 'folders', 'feeds.folder_id = folders.id']
- )
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(3))
- ->method('andWhere')
- ->withConsecutive(
- ['items.last_modified >= :updatedSince'],
- ['feeds.user_id = :userId'],
- ['folders.id = :folderId']
- )
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(1))
- ->method('setParameters')
- ->with([
- 'updatedSince' => 1610903351,
- 'folderId' => 4,
- 'userId' => 'jack',
- ])
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('orderBy')
- ->with('items.last_modified', 'DESC')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('addOrderBy')
- ->with('items.id', 'DESC')
- ->willReturnSelf();
-
- $this->builder->expects($this->once())
- ->method('execute')
- ->will($this->returnValue($this->cursor));
-
- $this->cursor->expects($this->exactly(2))
- ->method('fetch')
- ->willReturnOnConsecutiveCalls(
- ['id' => 4],
- false
- );
-
- $result = $this->class->findAllInFolderAfter('jack', 4, 1610903351, false);
- $this->assertEquals([Item::fromRow(['id' => 4])], $result);
- }
-
- public function testFindAllInFolderAfterHideRead()
- {
- $this->db->expects($this->once())
- ->method('getQueryBuilder')
- ->willReturn($this->builder);
-
- $this->builder->expects($this->once())
- ->method('select')
- ->with('items.*')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('from')
- ->with('news_items', 'items')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(2))
- ->method('innerJoin')
- ->withConsecutive(
- ['items', 'news_feeds', 'feeds', 'items.feed_id = feeds.id'],
- ['feeds', 'news_folders', 'folders', 'feeds.folder_id = folders.id']
- )
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(4))
- ->method('andWhere')
- ->withConsecutive(
- ['items.last_modified >= :updatedSince'],
- ['feeds.user_id = :userId'],
- ['folders.id = :folderId'],
- ['items.unread = 1']
- )
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(1))
- ->method('setParameters')
- ->with([
- 'updatedSince' => 1610903351,
- 'folderId' => 4,
- 'userId' => 'jack',
- ])
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('orderBy')
- ->with('items.last_modified', 'DESC')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('addOrderBy')
- ->with('items.id', 'DESC')
- ->willReturnSelf();
-
- $this->builder->expects($this->once())
- ->method('execute')
- ->will($this->returnValue($this->cursor));
-
- $this->cursor->expects($this->exactly(2))
- ->method('fetch')
- ->willReturnOnConsecutiveCalls(
- ['id' => 4],
- false
- );
-
- $result = $this->class->findAllInFolderAfter('jack', 4, 1610903351, true);
- $this->assertEquals([Item::fromRow(['id' => 4])], $result);
- }
-
- public function testFindAllAfterUnread()
- {
- $this->db->expects($this->once())
- ->method('getQueryBuilder')
- ->willReturn($this->builder);
-
- $this->builder->expects($this->once())
- ->method('select')
- ->with('items.*')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('from')
- ->with('news_items', 'items')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(1))
- ->method('innerJoin')
- ->withConsecutive(['items', 'news_feeds', 'feeds', 'items.feed_id = feeds.id'])
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(3))
- ->method('andWhere')
- ->withConsecutive(
- ['items.last_modified >= :updatedSince'],
- ['feeds.user_id = :userId'],
- ['items.unread = 1']
- )
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(1))
- ->method('setParameters')
- ->with([
- 'updatedSince' => 1610903351,
- 'userId' => 'jack',
- ])
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('orderBy')
- ->with('items.last_modified', 'DESC')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('addOrderBy')
- ->with('items.id', 'DESC')
- ->willReturnSelf();
-
- $this->builder->expects($this->once())
- ->method('execute')
- ->will($this->returnValue($this->cursor));
-
- $this->cursor->expects($this->exactly(2))
- ->method('fetch')
- ->willReturnOnConsecutiveCalls(
- ['id' => 4],
- false
- );
-
- $result = $this->class->findAllAfter('jack', 6, 1610903351);
- $this->assertEquals([Item::fromRow(['id' => 4])], $result);
- }
-
- public function testFindAllAfterStarred()
- {
- $this->db->expects($this->once())
- ->method('getQueryBuilder')
- ->willReturn($this->builder);
-
- $this->builder->expects($this->once())
- ->method('select')
- ->with('items.*')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('from')
- ->with('news_items', 'items')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(1))
- ->method('innerJoin')
- ->withConsecutive(['items', 'news_feeds', 'feeds', 'items.feed_id = feeds.id'])
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(3))
- ->method('andWhere')
- ->withConsecutive(
- ['items.last_modified >= :updatedSince'],
- ['feeds.user_id = :userId'],
- ['items.starred = 1']
- )
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(1))
- ->method('setParameters')
- ->with([
- 'updatedSince' => 1610903351,
- 'userId' => 'jack',
- ])
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('orderBy')
- ->with('items.last_modified', 'DESC')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('addOrderBy')
- ->with('items.id', 'DESC')
- ->willReturnSelf();
-
- $this->builder->expects($this->once())
- ->method('execute')
- ->will($this->returnValue($this->cursor));
-
- $this->cursor->expects($this->exactly(2))
- ->method('fetch')
- ->willReturnOnConsecutiveCalls(
- ['id' => 4],
- false
- );
-
- $result = $this->class->findAllAfter('jack', 2, 1610903351);
- $this->assertEquals([Item::fromRow(['id' => 4])], $result);
- }
-
- public function testFindAllAfterInvalid()
- {
- $this->expectException(ServiceValidationException::class);
- $this->expectExceptionMessage('Unexpected Feed type in call');
-
- $this->db->expects($this->once())
- ->method('getQueryBuilder')
- ->willReturn($this->builder);
-
- $this->builder->expects($this->once())
- ->method('select')
- ->with('items.*')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('from')
- ->with('news_items', 'items')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(1))
- ->method('innerJoin')
- ->withConsecutive(['items', 'news_feeds', 'feeds', 'items.feed_id = feeds.id'])
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(2))
- ->method('andWhere')
- ->withConsecutive(
- ['items.last_modified >= :updatedSince'],
- ['feeds.user_id = :userId']
- )
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(1))
- ->method('setParameters')
- ->with([
- 'updatedSince' => 1610903351,
- 'userId' => 'jack',
- ])
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('orderBy')
- ->with('items.last_modified', 'DESC')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('addOrderBy')
- ->with('items.id', 'DESC')
- ->willReturnSelf();
-
- $this->builder->expects($this->never())
- ->method('execute')
- ->will($this->returnValue($this->cursor));
-
- $this->cursor->expects($this->never())
- ->method('fetch')
- ->willReturnOnConsecutiveCalls(
- ['id' => 4],
- false
- );
-
- $result = $this->class->findAllAfter('jack', 232, 1610903351);
- $this->assertEquals([Item::fromRow(['id' => 4])], $result);
- }
-
- public function testFindAllItemsInvalid()
- {
- $this->expectException(ServiceValidationException::class);
- $this->expectExceptionMessage('Unexpected Feed type in call');
-
- $this->db->expects($this->once())
- ->method('getQueryBuilder')
- ->willReturn($this->builder);
-
- $this->builder->expects($this->once())
- ->method('select')
- ->with('items.*')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('from')
- ->with('news_items', 'items')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(1))
- ->method('innerJoin')
- ->withConsecutive(['items', 'news_feeds', 'feeds', 'items.feed_id = feeds.id'])
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(1))
- ->method('andWhere')
- ->withConsecutive(
- ['feeds.user_id = :userId']
- )
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(1))
- ->method('setParameter')
- ->with('userId', 'jack')
- ->will($this->returnSelf());
-
-
- $this->builder->expects($this->exactly(1))
- ->method('setMaxResults')
- ->with(10)
- ->will($this->returnSelf());
-
-
- $this->builder->expects($this->exactly(1))
- ->method('setFirstResult')
- ->with(10)
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('orderBy')
- ->with('items.last_modified', 'DESC')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('addOrderBy')
- ->with('items.id', 'DESC')
- ->willReturnSelf();
-
- $this->builder->expects($this->never())
- ->method('execute')
- ->will($this->returnValue($this->cursor));
-
- $this->cursor->expects($this->never())
- ->method('fetch')
- ->willReturnOnConsecutiveCalls(
- ['id' => 4],
- false
- );
-
- $this->class->findAllItems('jack', 232, 10, 10, false, []);
- }
-
- public function testFindAllItemsUnread()
- {
- $this->db->expects($this->once())
- ->method('getQueryBuilder')
- ->willReturn($this->builder);
-
- $this->builder->expects($this->once())
- ->method('select')
- ->with('items.*')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('from')
- ->with('news_items', 'items')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(1))
- ->method('innerJoin')
- ->withConsecutive(['items', 'news_feeds', 'feeds', 'items.feed_id = feeds.id'])
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(2))
- ->method('andWhere')
- ->withConsecutive(
- ['feeds.user_id = :userId'],
- ['items.unread = 1']
- )
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(1))
- ->method('setParameter')
- ->with('userId', 'jack')
- ->will($this->returnSelf());
-
-
- $this->builder->expects($this->exactly(1))
- ->method('setMaxResults')
- ->with(10)
- ->will($this->returnSelf());
-
-
- $this->builder->expects($this->exactly(1))
- ->method('setFirstResult')
- ->with(10)
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('orderBy')
- ->with('items.last_modified', 'DESC')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('addOrderBy')
- ->with('items.id', 'DESC')
- ->willReturnSelf();
-
- $this->builder->expects($this->exactly(1))
- ->method('execute')
- ->will($this->returnValue($this->cursor));
-
- $this->cursor->expects($this->exactly(2))
- ->method('fetch')
- ->willReturnOnConsecutiveCalls(
- ['id' => 4],
- false
- );
-
- $result = $this->class->findAllItems('jack', 6, 10, 10, false, []);
- $this->assertEquals([Item::fromRow(['id' => 4])], $result);
- }
-
- public function testFindAllItemsStarred()
- {
- $this->db->expects($this->once())
- ->method('getQueryBuilder')
- ->willReturn($this->builder);
-
- $this->builder->expects($this->once())
- ->method('select')
- ->with('items.*')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('from')
- ->with('news_items', 'items')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(1))
- ->method('innerJoin')
- ->withConsecutive(['items', 'news_feeds', 'feeds', 'items.feed_id = feeds.id'])
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(2))
- ->method('andWhere')
- ->withConsecutive(
- ['feeds.user_id = :userId'],
- ['items.starred = 1']
- )
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(1))
- ->method('setParameter')
- ->with('userId', 'jack')
- ->will($this->returnSelf());
-
-
- $this->builder->expects($this->exactly(1))
- ->method('setMaxResults')
- ->with(10)
- ->will($this->returnSelf());
-
-
- $this->builder->expects($this->exactly(1))
- ->method('setFirstResult')
- ->with(10)
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('orderBy')
- ->with('items.last_modified', 'DESC')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('addOrderBy')
- ->with('items.id', 'DESC')
- ->willReturnSelf();
-
- $this->builder->expects($this->exactly(1))
- ->method('execute')
- ->will($this->returnValue($this->cursor));
-
- $this->cursor->expects($this->exactly(2))
- ->method('fetch')
- ->willReturnOnConsecutiveCalls(
- ['id' => 4],
- false
- );
-
- $result = $this->class->findAllItems('jack', 2, 10, 10, false, []);
- $this->assertEquals([Item::fromRow(['id' => 4])], $result);
- }
-
- public function testFindAllItemsStarredSearch()
- {
- $this->db->expects($this->once())
- ->method('getQueryBuilder')
- ->willReturn($this->builder);
- $this->db->expects($this->exactly(2))
- ->method('escapeLikeParameter')
- ->will($this->returnArgument(0));
-
- $this->builder->expects($this->once())
- ->method('select')
- ->with('items.*')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('from')
- ->with('news_items', 'items')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(1))
- ->method('innerJoin')
- ->withConsecutive(['items', 'news_feeds', 'feeds', 'items.feed_id = feeds.id'])
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(4))
- ->method('andWhere')
- ->withConsecutive(
- ['feeds.user_id = :userId'],
- ['items.search_index LIKE :term0'],
- ['items.search_index LIKE :term1'],
- ['items.starred = 1']
- )
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(3))
- ->method('setParameter')
- ->withConsecutive(['userId', 'jack'], ['term0', '%key%'], ['term1', '%word%'])
- ->will($this->returnSelf());
-
-
- $this->builder->expects($this->exactly(1))
- ->method('setMaxResults')
- ->with(10)
- ->will($this->returnSelf());
-
-
- $this->builder->expects($this->exactly(1))
- ->method('setFirstResult')
- ->with(10)
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('orderBy')
- ->with('items.last_modified', 'DESC')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('addOrderBy')
- ->with('items.id', 'DESC')
- ->willReturnSelf();
-
- $this->builder->expects($this->exactly(1))
- ->method('execute')
- ->will($this->returnValue($this->cursor));
-
- $this->cursor->expects($this->exactly(2))
- ->method('fetch')
- ->willReturnOnConsecutiveCalls(
- ['id' => 4],
- false
- );
-
- $result = $this->class->findAllItems('jack', 2, 10, 10, false, ['key', 'word']);
- $this->assertEquals([Item::fromRow(['id' => 4])], $result);
- }
-
- public function testFindAllFeed()
- {
- $this->db->expects($this->once())
- ->method('getQueryBuilder')
- ->willReturn($this->builder);
-
- $this->builder->expects($this->once())
- ->method('select')
- ->with('items.*')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('from')
- ->with('news_items', 'items')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(1))
- ->method('innerJoin')
- ->withConsecutive(['items', 'news_feeds', 'feeds', 'items.feed_id = feeds.id'])
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(2))
- ->method('andWhere')
- ->withConsecutive(
- ['feeds.user_id = :userId'],
- ['items.feed_id = :feedId']
- )
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(2))
- ->method('setParameter')
- ->withConsecutive(['userId', 'jack'], ['feedId', 2])
- ->will($this->returnSelf());
-
-
- $this->builder->expects($this->exactly(1))
- ->method('setMaxResults')
- ->with(10)
- ->will($this->returnSelf());
-
-
- $this->builder->expects($this->exactly(1))
- ->method('setFirstResult')
- ->with(10)
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('orderBy')
- ->with('items.last_modified', 'DESC')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('addOrderBy')
- ->with('items.id', 'DESC')
- ->willReturnSelf();
-
- $this->builder->expects($this->exactly(1))
- ->method('execute')
- ->will($this->returnValue($this->cursor));
-
- $this->cursor->expects($this->exactly(2))
- ->method('fetch')
- ->willReturnOnConsecutiveCalls(
- ['id' => 4],
- false
- );
-
- $result = $this->class->findAllFeed('jack', 2, 10, 10, false, false, []);
- $this->assertEquals([Item::fromRow(['id' => 4])], $result);
- }
-
- public function testFindAllFeedHideRead()
- {
- $this->db->expects($this->once())
- ->method('getQueryBuilder')
- ->willReturn($this->builder);
-
- $this->builder->expects($this->once())
- ->method('select')
- ->with('items.*')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('from')
- ->with('news_items', 'items')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(1))
- ->method('innerJoin')
- ->withConsecutive(['items', 'news_feeds', 'feeds', 'items.feed_id = feeds.id'])
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(3))
- ->method('andWhere')
- ->withConsecutive(
- ['feeds.user_id = :userId'],
- ['items.feed_id = :feedId'],
- ['items.unread = 1']
- )
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(2))
- ->method('setParameter')
- ->withConsecutive(['userId', 'jack'], ['feedId', 2])
- ->will($this->returnSelf());
-
-
- $this->builder->expects($this->exactly(1))
- ->method('setMaxResults')
- ->with(10)
- ->will($this->returnSelf());
-
-
- $this->builder->expects($this->exactly(1))
- ->method('setFirstResult')
- ->with(10)
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('orderBy')
- ->with('items.last_modified', 'DESC')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('addOrderBy')
- ->with('items.id', 'DESC')
- ->willReturnSelf();
-
- $this->builder->expects($this->exactly(1))
- ->method('execute')
- ->will($this->returnValue($this->cursor));
-
- $this->cursor->expects($this->exactly(2))
- ->method('fetch')
- ->willReturnOnConsecutiveCalls(
- ['id' => 4],
- false
- );
-
- $result = $this->class->findAllFeed('jack', 2, 10, 10, true, false, []);
- $this->assertEquals([Item::fromRow(['id' => 4])], $result);
- }
-
- public function testFindAllFeedSearch()
- {
- $this->db->expects($this->once())
- ->method('getQueryBuilder')
- ->willReturn($this->builder);
- $this->db->expects($this->exactly(2))
- ->method('escapeLikeParameter')
- ->will($this->returnArgument(0));
-
- $this->builder->expects($this->once())
- ->method('select')
- ->with('items.*')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('from')
- ->with('news_items', 'items')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(1))
- ->method('innerJoin')
- ->withConsecutive(['items', 'news_feeds', 'feeds', 'items.feed_id = feeds.id'])
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(4))
- ->method('andWhere')
- ->withConsecutive(
- ['feeds.user_id = :userId'],
- ['items.feed_id = :feedId'],
- ['items.search_index LIKE :term0'],
- ['items.search_index LIKE :term1']
- )
- ->will($this->returnSelf());
-
- $this->builder->expects($this->exactly(4))
- ->method('setParameter')
- ->withConsecutive(['userId', 'jack'], ['feedId', 2], ['term0', '%key%'], ['term1', '%word%'])
- ->will($this->returnSelf());
-
-
- $this->builder->expects($this->exactly(1))
- ->method('setMaxResults')
- ->with(10)
- ->will($this->returnSelf());
-
-
- $this->builder->expects($this->exactly(1))
- ->method('setFirstResult')
- ->with(10)
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('orderBy')
- ->with('items.last_modified', 'DESC')
- ->will($this->returnSelf());
-
- $this->builder->expects($this->once())
- ->method('addOrderBy')
- ->with('items.id', 'DESC')
- ->willReturnSelf();
-
- $this->builder->expects($this->exactly(1))
- ->method('execute')
- ->will($this->returnValue($this->cursor));
-
- $this->cursor->expects($this->exactly(2))