summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBernhard Posselt <nukeawhale@gmail.com>2013-05-02 12:53:17 +0200
committerBernhard Posselt <nukeawhale@gmail.com>2013-05-02 12:53:17 +0200
commit2dfab0dbec8a1868c2287aee7f7a93a56d9a301c (patch)
tree7946f785be95c835472a4b9dc11af33158e37773
parent0da3c160df7f2af1b7800e70a2eba8c04126f3d4 (diff)
added toAPI methods for folder and feed
-rw-r--r--db/feed.php16
-rw-r--r--db/folder.php9
-rw-r--r--tests/unit/db/FeedTest.php57
-rw-r--r--tests/unit/db/FolderTest.php45
4 files changed, 125 insertions, 2 deletions
diff --git a/db/feed.php b/db/feed.php
index e2d3b87de..88879f8c4 100644
--- a/db/feed.php
+++ b/db/feed.php
@@ -28,7 +28,7 @@ namespace OCA\News\Db;
use \OCA\AppFramework\Db\Entity;
-class Feed extends Entity {
+class Feed extends Entity implements IAPI {
public $userId;
public $urlHash;
@@ -49,4 +49,18 @@ class Feed extends Entity {
$this->addType('preventUpdate', 'bool');
}
+
+ public function toAPI() {
+ return array(
+ 'id' => $this->getId(),
+ 'url' => $this->getUrl(),
+ 'title' => $this->getTitle(),
+ 'faviconLink' => $this->getFaviconLink(),
+ 'added' => $this->getAdded(),
+ 'folderId' => $this->getFolderId(),
+ 'unreadCount' => $this->getUnreadCount(),
+ 'link' => $this->getLink()
+ );
+ }
+
} \ No newline at end of file
diff --git a/db/folder.php b/db/folder.php
index adc4a8572..24fa80000 100644
--- a/db/folder.php
+++ b/db/folder.php
@@ -28,7 +28,7 @@ namespace OCA\News\Db;
use \OCA\AppFramework\Db\Entity;
-class Folder extends Entity {
+class Folder extends Entity implements IAPI {
public $parentId;
public $name;
@@ -40,4 +40,11 @@ class Folder extends Entity {
$this->addType('opened', 'bool');
}
+
+ public function toAPI() {
+ return array(
+ 'id' => $this->getId(),
+ 'name' => $this->getName()
+ );
+ }
} \ No newline at end of file
diff --git a/tests/unit/db/FeedTest.php b/tests/unit/db/FeedTest.php
new file mode 100644
index 000000000..57b739bfb
--- /dev/null
+++ b/tests/unit/db/FeedTest.php
@@ -0,0 +1,57 @@
+<?php
+
+/**
+* ownCloud - News
+*
+* @author Alessandro Cosentino
+* @author Bernhard Posselt
+* @copyright 2012 Alessandro Cosentino cosenal@gmail.com
+* @copyright 2012 Bernhard Posselt nukeawhale@gmail.com
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+* License as published by the Free Software Foundation; either
+* version 3 of the License, or any later version.
+*
+* This library is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+*
+* You should have received a copy of the GNU Affero General Public
+* License along with this library. If not, see <http://www.gnu.org/licenses/>.
+*
+*/
+
+namespace OCA\News\Db;
+
+require_once(__DIR__ . "/../../classloader.php");
+
+
+class FeedTest extends \PHPUnit_Framework_TestCase {
+
+
+ public function testToAPI() {
+ $feed = new Feed();
+ $feed->setId(3);
+ $feed->setUrl('url');
+ $feed->setTitle('title');
+ $feed->setFaviconLink('favicon');
+ $feed->setAdded(123);
+ $feed->setFolderId(1);
+ $feed->setUnreadCount(321);
+ $feed->setLink('link');
+
+ $this->assertEquals(array(
+ 'id' => 3,
+ 'url' => 'url',
+ 'title' => 'title',
+ 'faviconLink' => 'favicon',
+ 'added' => 123,
+ 'folderId' => 1,
+ 'unreadCount' => 321,
+ 'link' => 'link'
+ ), $feed->toAPI());
+ }
+
+} \ No newline at end of file
diff --git a/tests/unit/db/FolderTest.php b/tests/unit/db/FolderTest.php
new file mode 100644
index 000000000..6b6139c9b
--- /dev/null
+++ b/tests/unit/db/FolderTest.php
@@ -0,0 +1,45 @@
+<?php
+
+/**
+* ownCloud - News
+*
+* @author Alessandro Cosentino
+* @author Bernhard Posselt
+* @copyright 2012 Alessandro Cosentino cosenal@gmail.com
+* @copyright 2012 Bernhard Posselt nukeawhale@gmail.com
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+* License as published by the Free Software Foundation; either
+* version 3 of the License, or any later version.
+*
+* This library is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+*
+* You should have received a copy of the GNU Affero General Public
+* License along with this library. If not, see <http://www.gnu.org/licenses/>.
+*
+*/
+
+namespace OCA\News\Db;
+
+require_once(__DIR__ . "/../../classloader.php");
+
+
+class FolderTest extends \PHPUnit_Framework_TestCase {
+
+
+ public function testToAPI() {
+ $folder = new Folder();
+ $folder->setId(3);
+ $folder->setName('name');
+
+ $this->assertEquals(array(
+ 'id' => 3,
+ 'name' => 'name'
+ ), $folder->toAPI());
+ }
+
+} \ No newline at end of file