summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2014-11-06 22:30:39 +0100
committerBernhard Posselt <dev@bernhard-posselt.com>2014-11-06 22:30:39 +0100
commit143272b1743109aab016fc0e02705176aab1e18d (patch)
tree111bd7278275716044c3051f1d8bc7df0166d9c3 /tests
parent06812535593cdbf38f1e10ab412c61f326f8ba4f (diff)
more integration tests
Diffstat (limited to 'tests')
-rw-r--r--tests/integration/bootstrap.php10
-rw-r--r--tests/integration/db/FeedMapperTest.php46
-rw-r--r--tests/integration/db/FolderMapperTest.php42
-rw-r--r--tests/integration/db/ItemMapperTest.php151
-rw-r--r--tests/integration/fixtures/items.json28
5 files changed, 273 insertions, 4 deletions
diff --git a/tests/integration/bootstrap.php b/tests/integration/bootstrap.php
index c8d7cc719..1fa6d08b8 100644
--- a/tests/integration/bootstrap.php
+++ b/tests/integration/bootstrap.php
@@ -86,10 +86,12 @@ class NewsIntegrationTest extends \PHPUnit_Framework_TestCase {
}
// feeds in no folders
- if (array_key_exists('no feed', $feeds)) {
- foreach ($feeds['no feed'] as $feed) {
+ if (array_key_exists('no folder', $feeds)) {
+ foreach ($feeds['no folder'] as $feed) {
+
$feed['folderId'] = 0;
- $this->feeds[] = $this->createFeed($feed);
+ $newFeed = $this->createFeed($feed);
+ $this->feeds[] = $newFeed;
if (array_key_exists($feed['title'], $items)) {
foreach ($items[$feed['title']] as $item) {
@@ -186,7 +188,7 @@ class NewsIntegrationTest extends \PHPUnit_Framework_TestCase {
protected function tearDown() {
- $this->cleanUp();
+ //$this->cleanUp();
}
diff --git a/tests/integration/db/FeedMapperTest.php b/tests/integration/db/FeedMapperTest.php
new file mode 100644
index 000000000..c8de68281
--- /dev/null
+++ b/tests/integration/db/FeedMapperTest.php
@@ -0,0 +1,46 @@
+<?php
+
+namespace OCA\News\Db;
+
+use \OCA\News\Tests\Integration\NewsIntegrationTest;
+
+class FeedMapperTest extends NewsIntegrationTest {
+
+
+ public function testFind () {
+
+ }
+
+
+ /* TBD
+ public function testFindAll () {
+
+ }
+
+
+ public function testFindAllFromUser () {
+
+ }
+
+
+ public function testFindByUrlHash () {
+
+ }
+
+
+ public function testDelete () {
+
+ }
+
+
+ public function testGetToDelete () {
+
+ }
+
+
+ public function testDeleteUser () {
+
+ }*/
+
+
+} \ No newline at end of file
diff --git a/tests/integration/db/FolderMapperTest.php b/tests/integration/db/FolderMapperTest.php
new file mode 100644
index 000000000..1af862340
--- /dev/null
+++ b/tests/integration/db/FolderMapperTest.php
@@ -0,0 +1,42 @@
+<?php
+
+namespace OCA\News\Db;
+
+use \OCA\News\Tests\Integration\NewsIntegrationTest;
+
+class FolderMapperTest extends NewsIntegrationTest {
+
+
+ public function testFind () {
+
+ }
+
+
+ /* TBD
+ public function testFindByName () {
+
+ }
+
+
+ public function testFindAllFromUser () {
+
+ }
+
+
+ public function testDelete () {
+
+ }
+
+
+ public function testGetToDelete () {
+
+ }
+
+
+ public function testDeleteUser () {
+
+ }*/
+
+
+
+} \ No newline at end of file
diff --git a/tests/integration/db/ItemMapperTest.php b/tests/integration/db/ItemMapperTest.php
index b0b979f8f..20ded2ead 100644
--- a/tests/integration/db/ItemMapperTest.php
+++ b/tests/integration/db/ItemMapperTest.php
@@ -79,4 +79,155 @@ class ItemMapperTest extends NewsIntegrationTest {
}
+ public function testStarredCount () {
+ $count = $this->itemMapper->starredCount($this->userId);
+ $this->assertEquals(2, $count);
+ }
+
+
+ public function testReadAll () {
+ $this->itemMapper->readAll(PHP_INT_MAX, 10, $this->userId);
+
+ $status = StatusFlag::UNREAD;
+ $items = $this->itemMapper->findAll(
+ 30, 0, $status, false, $this->userId
+ );
+
+ $this->assertEquals(0, count($items));
+
+ $item = $this->items['a title1'];
+ $item = $this->itemMapper->find($item->getId(), $this->userId);
+
+ $this->assertEquals(10, $item->getLastModified());
+
+ $item = $this->items['a title3'];
+ $item = $this->itemMapper->find($item->getId(), $this->userId);
+
+ $this->assertEquals(10, $item->getLastModified());
+
+ $item = $this->items['a title9'];
+ $item = $this->itemMapper->find($item->getId(), $this->userId);
+
+ $this->assertEquals(10, $item->getLastModified());
+ }
+
+
+ public function testReadFolder () {
+ $folderId = $this->folders['first folder']->getId();
+ $this->itemMapper->readFolder(
+ $folderId, PHP_INT_MAX, 10, $this->userId
+ );
+
+ $status = StatusFlag::UNREAD;
+ $items = $this->itemMapper->findAll(
+ 30, 0, $status, false, $this->userId
+ );
+
+ $this->assertEquals(1, count($items));
+
+ $item = $this->items['a title1'];
+ $item = $this->itemMapper->find($item->getId(), $this->userId);
+
+ $this->assertEquals(10, $item->getLastModified());
+
+ $item = $this->items['a title3'];
+ $item = $this->itemMapper->find($item->getId(), $this->userId);
+
+ $this->assertEquals(10, $item->getLastModified());
+
+ $item = $this->items['a title9'];
+ $item = $this->itemMapper->find($item->getId(), $this->userId);
+
+ $this->assertTrue($item->isUnread());
+ }
+
+
+ public function testReadFeed () {
+ $feedId = $this->feeds['third feed']->getId();
+ $this->itemMapper->readFeed(
+ $feedId, PHP_INT_MAX, 10, $this->userId
+ );
+
+ $status = StatusFlag::UNREAD;
+ $items = $this->itemMapper->findAll(
+ 30, 0, $status, false, $this->userId
+ );
+
+ $this->assertEquals(2, count($items));
+
+ $item = $this->items['a title9'];
+ $item = $this->itemMapper->find($item->getId(), $this->userId);
+
+ $this->assertEquals(10, $item->getLastModified());
+
+ $item = $this->items['a title3'];
+ $item = $this->itemMapper->find($item->getId(), $this->userId);
+ $this->assertTrue($item->isUnread());
+
+
+ $item = $this->items['a title1'];
+ $item = $this->itemMapper->find($item->getId(), $this->userId);
+ $this->assertTrue($item->isUnread());
+ }
+
+
+ public function testDeleteUser () {
+ $this->itemMapper->deleteUser($this->userId);
+ $id = $this->itemMapper->getNewestItemId();
+
+ $this->assertEquals(0, $id);
+ }
+
+
+ public function testGetNewestItemId () {
+ $id = $this->itemMapper->getNewestItemId($this->userId);
+
+ $item = $this->items['no folder'];
+ $this->assertEquals($item->getId(), $id);
+ }
+
+
+ public function testFindByGuidHash () {
+ $item = $this->items['no folder'];
+
+ $fetchedItem = $this->itemMapper->findByGuidHash(
+ 'no folder', $item->getFeedId(), $this->userId
+ );
+
+ $this->assertEquals($item->getId(), $fetchedItem->getId());
+ }
+
+
+ public function testFindAllUnreadOrStarred () {
+ $items = $this->itemMapper->findAllUnreadOrStarred($this->userId);
+ $this->assertEquals(4, count($items));
+ }
+
+
+ /* TBD
+ public function testFindAllFolder () {
+
+ }
+
+
+ public function testFindAllFeed () {
+
+ }
+
+
+ public function testFindAllNew () {
+
+ }
+
+
+ public function testFindAllNewFolder () {
+
+ }
+
+
+ public function testFindAllNewFeed () {
+
+ }
+
+ */
} \ No newline at end of file
diff --git a/tests/integration/fixtures/items.json b/tests/integration/fixtures/items.json
index 7f6b6c9c4..5396fde9b 100644
--- a/tests/integration/fixtures/items.json
+++ b/tests/integration/fixtures/items.json
@@ -85,6 +85,34 @@
"enclosureLink": "http://google.de/web.webm"
}
],
+ "third feed": [
+ {
+ "status": 2,
+ "body": "this is a body",
+ "title": "a title9",
+ "author": "my author",
+ "guid": "a title9",
+ "url": "http://google.de",
+ "pubDate": 2323,
+ "lastModified": 113,
+ "enclosureMime": "video/mpeg",
+ "enclosureLink": "http://google.de/web.webm"
+ }
+ ],
+ "fourth feed": [
+ {
+ "status": 0,
+ "body": "this is a body",
+ "title": "no folder",
+ "author": "my author",
+ "guid": "no folder",
+ "url": "http://google.de",
+ "pubDate": 2323,
+ "lastModified": 113,
+ "enclosureMime": "video/mpeg",
+ "enclosureLink": "http://google.de/web.webm"
+ }
+ ],
"fifth feed": [
{
"status": 2,