From c26baa1eb7803f2291612c866d7610679f51f6d6 Mon Sep 17 00:00:00 2001 From: Bernhard Posselt Date: Wed, 20 Mar 2013 19:30:05 +0100 Subject: finished feedmapper --- db/feedmapper.php | 14 +++++++++++++- doc/mapper spec.md | 7 ------- tests/db/FeedMapperTest.php | 17 +++++++++++++++++ 3 files changed, 30 insertions(+), 8 deletions(-) diff --git a/db/feedmapper.php b/db/feedmapper.php index 2a84574df..a2d0f8fc7 100644 --- a/db/feedmapper.php +++ b/db/feedmapper.php @@ -57,7 +57,7 @@ class FeedMapper extends NewsMapper { $feed = new Feed(); $feed->fromRow($row); array_push($feeds, $feed); - } + } return $feeds; } @@ -78,4 +78,16 @@ class FeedMapper extends NewsMapper { return $this->findAllRows($sql); } + + public function getStarredCount($userId){ + $sql = 'SELECT COUNT(*) AS size FROM `*dbprefix*news_feeds` ' . + 'AND `user_id` = ? ' . + 'AND ((`status` & ?) > 0)'; + $params = array($userId, StatusFlag::STARRED); + + $result = $this->execute($sql, $params)->fetchRow(); + + return $result['size']; + } + } \ No newline at end of file diff --git a/doc/mapper spec.md b/doc/mapper spec.md index db77da5db..1080884db 100644 --- a/doc/mapper spec.md +++ b/doc/mapper spec.md @@ -43,10 +43,3 @@ foldermapper find($feedId, $userId) findAllFromUser($userId) - -feedmapper - -find($feedId, $userId) -findAll() -findAllFromUser($userId) -getStarredCount($userId) diff --git a/tests/db/FeedMapperTest.php b/tests/db/FeedMapperTest.php index c2dd6eced..90ad07626 100644 --- a/tests/db/FeedMapperTest.php +++ b/tests/db/FeedMapperTest.php @@ -129,4 +129,21 @@ class FeedMapperTest extends \OCA\AppFramework\Utility\MapperTestUtility { $this->assertEquals($this->feeds, $result); } + + + public function testGetStarredCount(){ + $userId = 'john'; + $row = array( + array('size' => 9) + ); + $sql = 'SELECT COUNT(*) AS size FROM `*dbprefix*news_feeds` ' . + 'AND `user_id` = ? ' . + 'AND ((`status` & ?) > 0)'; + + $this->setMapperResult($sql, array($userId, StatusFlag::STARRED), $row); + + $result = $this->feedMapper->getStarredCount($userId); + $this->assertEquals($row[0]['size'], $result); + } + } \ No newline at end of file -- cgit v1.2.3