summaryrefslogtreecommitdiffstats
path: root/tests/unit/controller/FeedControllerTest.php
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2016-07-23 21:24:54 +0200
committerBernhard Posselt <dev@bernhard-posselt.com>2016-07-23 21:24:54 +0200
commit004fcbbcc7609ca83807f2e38967ef54f469bf72 (patch)
tree49eb99b4ea92b2045793fc567f719b31ec7f9042 /tests/unit/controller/FeedControllerTest.php
parent60abc0ed4438c9b6fda245b0dc33cb483bc2aeaf (diff)
Move to new directory structure
Diffstat (limited to 'tests/unit/controller/FeedControllerTest.php')
-rw-r--r--tests/unit/controller/FeedControllerTest.php484
1 files changed, 0 insertions, 484 deletions
diff --git a/tests/unit/controller/FeedControllerTest.php b/tests/unit/controller/FeedControllerTest.php
deleted file mode 100644
index 3630ad2f8..000000000
--- a/tests/unit/controller/FeedControllerTest.php
+++ /dev/null
@@ -1,484 +0,0 @@
-<?php
-/**
- * ownCloud - News
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later. See the COPYING file.
- *
- * @author Alessandro Cosentino <cosenal@gmail.com>
- * @author Bernhard Posselt <dev@bernhard-posselt.com>
- * @copyright Alessandro Cosentino 2012
- * @copyright Bernhard Posselt 2012, 2014
- */
-
-namespace OCA\News\Controller;
-
-use OCP\AppFramework\Http;
-
-use OCA\News\Db\Feed;
-use OCA\News\Db\FeedType;
-use OCA\News\Service\ServiceNotFoundException;
-use OCA\News\Service\ServiceConflictException;
-
-
-class FeedControllerTest extends \PHPUnit_Framework_TestCase {
-
- private $appName;
- private $feedService;
- private $request;
- private $controller;
- private $folderService;
- private $itemService;
- private $settings;
- private $exampleResult;
-
-
- /**
- * Gets run before each test
- */
- public function setUp(){
- $this->appName = 'news';
- $this->user = 'jack';
- $this->settings = $this->getMockBuilder(
- '\OCP\IConfig')
- ->disableOriginalConstructor()
- ->getMock();
- $this->itemService = $this
- ->getMockBuilder('\OCA\News\Service\ItemService')
- ->disableOriginalConstructor()
- ->getMock();
- $this->feedService = $this
- ->getMockBuilder('\OCA\News\Service\FeedService')
- ->disableOriginalConstructor()
- ->getMock();
- $this->folderService = $this
- ->getMockBuilder('\OCA\News\Service\FolderService')
- ->disableOriginalConstructor()
- ->getMock();
- $this->request = $this->getMockBuilder(
- '\OCP\IRequest')
- ->disableOriginalConstructor()
- ->getMock();
- $this->controller = new FeedController($this->appName, $this->request,
- $this->folderService,
- $this->feedService,
- $this->itemService,
- $this->settings,
- $this->user);
- $this->exampleResult = [
- 'activeFeed' => [
- 'id' => 0,
- 'type' => FeedType::SUBSCRIPTIONS
- ]
- ];
- }
-
-
- public function testIndex(){
- $result = [
- 'feeds' => [
- ['a feed'],
- ],
- 'starred' => 13
- ];
- $this->feedService->expects($this->once())
- ->method('findAll')
- ->with($this->equalTo($this->user))
- ->will($this->returnValue($result['feeds']));
- $this->itemService->expects($this->once())
- ->method('getNewestItemId')
- ->with($this->equalTo($this->user))
- ->will($this->throwException(new ServiceNotFoundException('')));
- $this->itemService->expects($this->once())
- ->method('starredCount')
- ->with($this->equalTo($this->user))
- ->will($this->returnValue($result['starred']));
-
- $response = $this->controller->index();
-
- $this->assertEquals($result, $response);
- }
-
-
- public function testIndexHighestItemIdExists(){
- $result = [
- 'feeds' => [
- ['a feed'],
- ],
- 'starred' => 13,
- 'newestItemId' => 5
- ];
- $this->feedService->expects($this->once())
- ->method('findAll')
- ->with($this->equalTo($this->user))
- ->will($this->returnValue($result['feeds']));
- $this->itemService->expects($this->once())
- ->method('getNewestItemId')
- ->with($this->equalTo($this->user))
- ->will($this->returnValue($result['newestItemId']));
- $this->itemService->expects($this->once())
- ->method('starredCount')
- ->with($this->equalTo($this->user))
- ->will($this->returnValue($result['starred']));
-
- $response = $this->controller->index();
-
- $this->assertEquals($result, $response);
- }
-
-
-
- private function activeInitMocks($id, $type){
- $this->settings->expects($this->at(0))
- ->method('getUserValue')
- ->with($this->equalTo($this->user),
- $this->equalTo($this->appName),
- $this->equalTo('lastViewedFeedId'))
- ->will($this->returnValue($id));
- $this->settings->expects($this->at(1))
- ->method('getUserValue')
- ->with($this->equalTo($this->user),
- $this->equalTo($this->appName),
- $this->equalTo('lastViewedFeedType'))
- ->will($this->returnValue($type));
- }
-
-
- public function testActive(){
- $id = 3;
- $type = FeedType::STARRED;
- $result = [
- 'activeFeed' => [
- 'id' => $id,
- 'type' => $type
- ]
- ];
-
- $this->activeInitMocks($id, $type);
-
- $response = $this->controller->active();
-
- $this->assertEquals($result, $response);
- }
-
-
- public function testActiveFeedDoesNotExist(){
- $id = 3;
- $type = FeedType::FEED;
- $ex = new ServiceNotFoundException('hiu');
- $result = $this->exampleResult;
-
- $this->feedService->expects($this->once())
- ->method('find')
- ->with($this->equalTo($id), $this->equalTo($this->user))
- ->will($this->throwException($ex));
-
- $this->activeInitMocks($id, $type);
-
- $response = $this->controller->active();
-
- $this->assertEquals($result, $response);
- }
-
-
- public function testActiveFolderDoesNotExist(){
- $id = 3;
- $type = FeedType::FOLDER;
- $ex = new ServiceNotFoundException('hiu');
- $result = $this->exampleResult;
-
- $this->folderService->expects($this->once())
- ->method('find')
- ->with($this->equalTo($id), $this->equalTo($this->user))
- ->will($this->throwException($ex));
-
- $this->activeInitMocks($id, $type);
-
- $response = $this->controller->active();
-
- $this->assertEquals($result, $response);
- }
-
-
- public function testActiveActiveIsNull(){
- $id = 3;
- $type = null;
- $result = $this->exampleResult;
-
-
- $this->activeInitMocks($id, $type);
-
- $response = $this->controller->active();
-
- $this->assertEquals($result, $response);
- }
-
-
- public function testCreate(){
- $result = [
- 'feeds' => [new Feed()],
- 'newestItemId' => 3
- ];
-
- $this->itemService->expects($this->once())
- ->method('getNewestItemId')
- ->will($this->returnValue($result['newestItemId']));
- $this->feedService->expects($this->once())
- ->method('purgeDeleted')
- ->with($this->equalTo($this->user), $this->equalTo(false));
- $this->feedService->expects($this->once())
- ->method('create')
- ->with($this->equalTo('hi'),
- $this->equalTo(4),
- $this->equalTo($this->user),
- $this->equalTo('yo'))
- ->will($this->returnValue($result['feeds'][0]));
-
- $response = $this->controller->create('hi', 4, 'yo');
-
- $this->assertEquals($result, $response);
- }
-
-
- public function testCreateNoItems(){
- $result = ['feeds' => [new Feed()]];
-
- $this->feedService->expects($this->once())
- ->method('purgeDeleted')
- ->with($this->equalTo($this->user), $this->equalTo(false));
-
- $this->itemService->expects($this->once())
- ->method('getNewestItemId')
- ->will($this->throwException(new ServiceNotFoundException('')));
-
- $this->feedService->expects($this->once())
- ->method('create')
- ->with($this->equalTo('hi'),
- $this->equalTo(4),
- $this->equalTo($this->user),
- $this->equalTo('yo'))
- ->will($this->returnValue($result['feeds'][0]));
-
- $response = $this->controller->create('hi', 4, 'yo');
-
- $this->assertEquals($result, $response);
- }
-
-
- public function testCreateReturnsErrorForInvalidCreate(){
- $msg = 'except';
- $ex = new ServiceNotFoundException($msg);
- $this->feedService->expects($this->once())
- ->method('purgeDeleted')
- ->with($this->equalTo($this->user), $this->equalTo(false));
- $this->feedService->expects($this->once())
- ->method('create')
- ->will($this->throwException($ex));
-
- $response = $this->controller->create('hi', 4, 'test');
- $params = json_decode($response->render(), true);
-
- $this->assertEquals($msg, $params['message']);
- $this->assertEquals(
- $response->getStatus(), Http::STATUS_UNPROCESSABLE_ENTITY
- );
- }
-
-
- public function testCreateReturnsErrorForDuplicateCreate(){
- $msg = 'except';
- $ex = new ServiceConflictException($msg);
- $this->feedService->expects($this->once())
- ->method('purgeDeleted')
- ->with($this->equalTo($this->user), $this->equalTo(false));
- $this->feedService->expects($this->once())
- ->method('create')
- ->will($this->throwException($ex));
-
- $response = $this->controller->create('hi', 4, 'test');
- $params = json_decode($response->render(), true);
-
- $this->assertEquals($msg, $params['message']);
- $this->assertEquals($response->getStatus(), Http::STATUS_CONFLICT);
- }
-
-
- public function testDelete(){
- $this->feedService->expects($this->once())
- ->method('markDeleted')
- ->with($this->equalTo(4));
-
- $this->controller->delete(4);
- }
-
-
- public function testDeleteDoesNotExist(){
- $msg = 'hehe';
-
- $this->feedService->expects($this->once())
- ->method('markDeleted')
- ->will($this->throwException(new ServiceNotFoundException($msg)));
-
- $response = $this->controller->delete(4);
- $params = json_decode($response->render(), true);
-
- $this->assertEquals($msg, $params['message']);
- $this->assertEquals($response->getStatus(), Http::STATUS_NOT_FOUND);
- }
-
-
- public function testUpdate(){
- $feed = new Feed();
- $feed->setId(3);
- $feed->setUnreadCount(44);
- $result = [
- 'feeds' => [
- [
- 'id' => $feed->getId(),
- 'unreadCount' => $feed->getUnreadCount()
- ]
- ]
- ];
-
- $this->feedService->expects($this->once())
- ->method('update')
- ->with($this->equalTo(4), $this->equalTo($this->user))
- ->will($this->returnValue($feed));
-
- $response = $this->controller->update(4);
-
- $this->assertEquals($result, $response);
- }
-
-
- public function testUpdateReturnsJSONError(){
- $this->feedService->expects($this->once())
- ->method('update')
- ->with($this->equalTo(4), $this->equalTo($this->user))
- ->will($this->throwException(new ServiceNotFoundException('NO!')));
-
- $response = $this->controller->update(4);
- $render = $response->render();
-
- $this->assertEquals('{"message":"NO!"}', $render);
- $this->assertEquals($response->getStatus(), Http::STATUS_NOT_FOUND);
- }
-
-
- public function testImport() {
- $feed = new Feed();
-
- $expected = [
- 'starred' => 3,
- 'feeds' => [$feed]
- ];
-
- $this->feedService->expects($this->once())
- ->method('importArticles')
- ->with($this->equalTo(['json']),
- $this->equalTo($this->user))
- ->will($this->returnValue($feed));
-
- $this->itemService->expects($this->once())
- ->method('starredCount')
- ->with($this->equalTo($this->user))
- ->will($this->returnValue(3));
-
- $response = $this->controller->import(['json']);
-
- $this->assertEquals($expected, $response);
- }
-
-
- public function testImportCreatesNoAdditionalFeed() {
- $this->feedService->expects($this->once())
- ->method('importArticles')
- ->with($this->equalTo(['json']),
- $this->equalTo($this->user))
- ->will($this->returnValue(null));
-
- $this->itemService->expects($this->once())
- ->method('starredCount')
- ->with($this->equalTo($this->user))
- ->will($this->returnValue(3));
-
- $response = $this->controller->import(['json']);
-
- $this->assertEquals(['starred' => 3], $response);
- }
-
-
- public function testReadFeed(){
- $expected = [
- 'feeds' => [
- [
- 'id' => 4,
- 'unreadCount' => 0
- ]
- ]
- ];
-
- $this->itemService->expects($this->once())
- ->method('readFeed')
- ->with($this->equalTo(4), $this->equalTo(5), $this->user);
-
- $response = $this->controller->read(4, 5);
- $this->assertEquals($expected, $response);
- }
-
-
- public function testRestore() {
- $this->feedService->expects($this->once())
- ->method('unmarkDeleted')
- ->with($this->equalTo(4));
-
- $this->controller->restore(4);
- }
-
-
- public function testRestoreDoesNotExist(){
- $msg = 'hehe';
-
- $this->feedService->expects($this->once())
- ->method('unmarkDeleted')
- ->will($this->throwException(new ServiceNotFoundException($msg)));
-
- $response = $this->controller->restore(4);
- $params = json_decode($response->render(), true);
-
- $this->assertEquals($msg, $params['message']);
- $this->assertEquals($response->getStatus(), Http::STATUS_NOT_FOUND);
- }
-
- public function testPatch() {
- $expected = [
- 'pinned' => true,
- 'fullTextEnabled' => true,
- 'updateMode' => 1
- ];
- $this->feedService->expects($this->once())
- ->method('patch')
- ->with($this->equalTo(4),
- $this->equalTo($this->user),
- $this->equalTo($expected))
- ->will($this->returnValue(1));
-
- $this->controller->patch(4, true, true, 1);
- }
-
- public function testPatchDoesNotExist(){
- $msg = 'hehe';
-
- $this->feedService->expects($this->once())
- ->method('patch')
- ->will($this->throwException(new ServiceNotFoundException($msg)));
-
- $response = $this->controller->patch(4, 2);
- $params = json_decode($response->render(), true);
-
- $this->assertEquals($msg, $params['message']);
- $this->assertEquals($response->getStatus(), Http::STATUS_NOT_FOUND);
- }
-
-
-}