diff options
author | Bernhard Posselt <nukeawhale@gmail.com> | 2013-03-20 19:30:05 +0100 |
---|---|---|
committer | Bernhard Posselt <nukeawhale@gmail.com> | 2013-03-20 19:30:05 +0100 |
commit | c26baa1eb7803f2291612c866d7610679f51f6d6 (patch) | |
tree | fa638a20832c7fac247ceb354b39fdcacc8b0b10 | |
parent | 9c78fd8295f8e27cdb8fe8c4e10ffae650bc14d0 (diff) |
finished feedmapper
-rw-r--r-- | db/feedmapper.php | 14 | ||||
-rw-r--r-- | doc/mapper spec.md | 7 | ||||
-rw-r--r-- | 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 |