summaryrefslogtreecommitdiffstats
path: root/tests/integration/db/ItemMapperTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/integration/db/ItemMapperTest.php')
-rw-r--r--tests/integration/db/ItemMapperTest.php297
1 files changed, 0 insertions, 297 deletions
diff --git a/tests/integration/db/ItemMapperTest.php b/tests/integration/db/ItemMapperTest.php
deleted file mode 100644
index 14c989cbf..000000000
--- a/tests/integration/db/ItemMapperTest.php
+++ /dev/null
@@ -1,297 +0,0 @@
-<?php
-/**
- * ownCloud - News
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Bernhard Posselt <dev@bernhard-posselt.com>
- * @copyright Bernhard Posselt 2015
- */
-
-namespace OCA\News\Db;
-
-use OCA\News\Tests\Integration\Fixtures\FeedFixture;
-use OCA\News\Tests\Integration\Fixtures\ItemFixture;
-use OCA\News\Tests\Integration\IntegrationTest;
-
-class ItemMapperTest extends IntegrationTest {
-
- public function testFind() {
- $feed = new FeedFixture();
- $feed = $this->feedMapper->insert($feed);
-
- $item = new ItemFixture(['feedId' => $feed->getId()]);
-
- $item = $this->itemMapper->insert($item);
-
- $fetched = $this->itemMapper->find($item->getId(), $this->user);
-
- $this->assertEquals($item->getTitle(), $fetched->getTitle());
- }
-
- /**
- * Same as whereId with easier title search
- * @param $title
- * @return mixed
- */
- private function whereTitleId($title) {
- return $this->findItemByTitle($title)->getId();
- }
-
- /**
- * @expectedException OCP\AppFramework\Db\DoesNotExistException
- */
- public function testFindNotFoundWhenDeletedFeed() {
- $this->loadFixtures('default');
-
- $id = $this->whereTitleId('not found feed');
- $this->itemMapper->find($id, $this->user);
- }
-
-
- /**
- * @expectedException OCP\AppFramework\Db\DoesNotExistException
- */
- public function testFindNotFoundWhenDeletedFolder() {
- $this->loadFixtures('default');
-
-
- $id = $this->whereTitleId('not found folder');
- $this->itemMapper->find($id, $this->user);
- }
-
-
- private function deleteReadOlderThanThreshold() {
- $this->loadFixtures('default');
-
- $this->itemMapper->deleteReadOlderThanThreshold(1);
-
- $this->itemMapper->find($this->whereTitleId('a title1'), $this->user);
- $this->itemMapper->find($this->whereTitleId('a title2'), $this->user);
- $this->itemMapper->find($this->whereTitleId('a title3'), $this->user);
- $this->itemMapper->find($this->whereTitleId('del3'), $this->user);
- $this->itemMapper->find($this->whereTitleId('del4'), $this->user);
- }
-
- /**
- * @expectedException OCP\AppFramework\Db\DoesNotExistException
- */
- public function testDeleteOlderThanThresholdOne() {
- $this->loadFixtures('default');
- $id = $this->whereTitleId('del1');
-
- $this->deleteReadOlderThanThreshold();
-
- $this->itemMapper->find($id, $this->user);
- }
-
- /**
- * @expectedException OCP\AppFramework\Db\DoesNotExistException
- */
- public function testDeleteOlderThanThresholdTwo() {
- $this->loadFixtures('default');
- $id = $this->whereTitleId('del2');
-
- $this->deleteReadOlderThanThreshold();
-
- $this->itemMapper->find($id, $this->user);
- }
-
-
- public function testStarredCount () {
- $this->loadFixtures('default');
-
- $count = $this->itemMapper->starredCount($this->user);
- $this->assertEquals(2, $count);
- }
-
-
- public function testReadAll () {
- $this->loadFixtures('default');
-
- $this->itemMapper->readAll(PHP_INT_MAX, 10, $this->user);
-
- $status = StatusFlag::UNREAD;
- $items = $this->itemMapper->findAll(
- 30, 0, $status, false, $this->user
- );
-
- $this->assertEquals(0, count($items));
-
- $itemId = $this->whereTitleId('a title1');
- $item = $this->itemMapper->find($itemId, $this->user);
-
- $this->assertEquals(10, $item->getLastModified());
-
- $itemId = $this->whereTitleId('a title3');
- $item = $this->itemMapper->find($itemId, $this->user);
-
- $this->assertEquals(10, $item->getLastModified());
-
- $itemId = $this->whereTitleId('a title9');
- $item = $this->itemMapper->find($itemId, $this->user);
-
- $this->assertEquals(10, $item->getLastModified());
- }
-
-
- public function testReadFolder () {
- $this->loadFixtures('default');
-
- $folderId = $this->findFolderByName('first folder')->getId();
- $this->itemMapper->readFolder(
- $folderId, PHP_INT_MAX, 10, $this->user
- );
-
- $status = StatusFlag::UNREAD;
- $items = $this->itemMapper->findAll(
- 30, 0, $status, false, $this->user
- );
-
- $this->assertEquals(1, count($items));
-
- $item = $this->findItemByTitle('a title1');
- $item = $this->itemMapper->find($item->getId(), $this->user);
-
- $this->assertEquals(10, $item->getLastModified());
-
- $item = $this->findItemByTitle('a title3');
- $item = $this->itemMapper->find($item->getId(), $this->user);
-
- $this->assertEquals(10, $item->getLastModified());
-
- $item = $this->findItemByTitle('a title9');
- $item = $this->itemMapper->find($item->getId(), $this->user);
-
- $this->assertTrue($item->isUnread());
- }
-
-
- public function testReadFeed () {
- $this->loadFixtures('default');
-
- $feedId = $this->findFeedByTitle('third feed')->getId();
- $this->itemMapper->readFeed(
- $feedId, PHP_INT_MAX, 10, $this->user
- );
-
- $status = StatusFlag::UNREAD;
- $items = $this->itemMapper->findAll(
- 30, 0, $status, false, $this->user
- );
-
- $this->assertEquals(2, count($items));
-
- $item = $this->findItemByTitle('a title9');
- $item = $this->itemMapper->find($item->getId(), $this->user);
-
- $this->assertEquals(10, $item->getLastModified());
-
- $item = $this->findItemByTitle('a title3');
- $item = $this->itemMapper->find($item->getId(), $this->user);
- $this->assertTrue($item->isUnread());
-
-
- $item = $this->findItemByTitle('a title1');
- $item = $this->itemMapper->find($item->getId(), $this->user);
- $this->assertTrue($item->isUnread());
- }
-
-
- public function testDeleteUser () {
- $this->loadFixtures('default');
-
- $this->itemMapper->deleteUser($this->user);
- $id = $this->itemMapper->getNewestItemId($this->user);
-
- $this->assertEquals(0, $id);
- }
-
- public function testGetNewestItemId () {
- $this->loadFixtures('default');
-
- $id = $this->itemMapper->getNewestItemId($this->user);
-
- $itemId = $this->whereTitleId('no folder');
- $this->assertEquals($itemId, $id);
- }
-
- public function testFindAllUnreadOrStarred () {
- $this->loadFixtures('default');
-
- $items = $this->itemMapper->findAllUnreadOrStarred($this->user);
- $this->assertEquals(4, count($items));
- }
-
-
- public function testReadItem() {
- $this->loadFixtures('readitem');
- // assert that all items are unread
- $feed = $this->feedMapper->where(['userId' => 'john'])[0];
- $items = $this->itemMapper->where(['feedId' => $feed->getId()]);
- foreach ($items as $item) {
- $this->assertTrue($item->isUnread());
- }
- $feed = $this->feedMapper->where(['userId' => 'test'])[0];
- $items = $this->itemMapper->where(['feedId' => $feed->getId()]);
- foreach ($items as $item) {
- $this->assertTrue($item->isUnread());
- }
-
- // read an item
- $duplicateItem = $this->itemMapper->where(['feedId' => $feed->getId()])[0];
- $this->itemMapper->readItem($duplicateItem->getId(), true, 1000, $this->user);
-
- // assert that all test user's same items are read
- $items = $this->itemMapper->where(['feedId' => $feed->getId(), 'title' => 'blubb']);
- foreach ($items as $item) {
- $this->assertTrue($item->isRead());
- }
-
- // assert that a different item is not read
- $items = $this->itemMapper->where(['feedId' => $feed->getId(), 'title' => 'blubbs']);
- foreach ($items as $item) {
- $this->assertTrue($item->isUnread());
- }
-
- // assert that other user's same items stayed the same
- $johnsFeed = $this->feedMapper->where(['userId' => 'john'])[0];
- $items = $this->itemMapper->where(['feedId' => $johnsFeed->getId()]);
- foreach ($items as $item) {
- $this->assertTrue($item->isUnread());
- }
- }
-
- public function testUnreadItem() {
- $this->loadFixtures('readitem');
- // unread an item
- $feed = $this->feedMapper->where(['userId' => 'test'])[0];
- $duplicateItem = $this->itemMapper->where(['feedId' => $feed->getId()])[0];
- $this->itemMapper->readItem($duplicateItem->getId(), true, 1000, $this->user);
- $this->itemMapper->readItem($duplicateItem->getId(), false, 1000, $this->user);
-
- // assert that only one item is now unread
- $items = $this->itemMapper->where(['feedId' => $feed->getId(), 'title' => 'blubb']);
- foreach ($items as $item) {
- if ($item->getId() === $duplicateItem->getId()) {
- $this->assertTrue($item->isUnread());
- } else {
- $this->assertTrue($item->isRead());
- }
- }
-
- // assert that other user's same items stayed the same
- $johnsFeed = $this->feedMapper->where(['userId' => 'john'])[0];
- $items = $this->itemMapper->where(['feedId' => $johnsFeed->getId()]);
- foreach ($items as $item) {
- $this->assertTrue($item->isUnread());
- }
- }
-
- protected function tearDown() {
- parent::tearDown();
- $this->clearUserNewsDatabase('john');
- }
-
-}