diff options
author | Bernhard Posselt <dev@bernhard-posselt.com> | 2016-07-23 21:24:54 +0200 |
---|---|---|
committer | Bernhard Posselt <dev@bernhard-posselt.com> | 2016-07-23 21:24:54 +0200 |
commit | 004fcbbcc7609ca83807f2e38967ef54f469bf72 (patch) | |
tree | 49eb99b4ea92b2045793fc567f719b31ec7f9042 /tests/unit/controller/FeedControllerTest.php | |
parent | 60abc0ed4438c9b6fda245b0dc33cb483bc2aeaf (diff) |
Move to new directory structure
Diffstat (limited to 'tests/unit/controller/FeedControllerTest.php')
-rw-r--r-- | tests/unit/controller/FeedControllerTest.php | 484 |
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); - } - - -} |