summaryrefslogtreecommitdiffstats
path: root/tests/unit/controller
diff options
context:
space:
mode:
authorBernhard Posselt <nukeawhale@gmail.com>2013-04-29 13:25:04 +0200
committerBernhard Posselt <nukeawhale@gmail.com>2013-04-29 13:30:01 +0200
commit3fc18156ae0b586e8de0c82949acfa6291317536 (patch)
tree201e97511bea44c58b5e9d78d8cf36ae2e2b54f9 /tests/unit/controller
parenta03b54c6a59837d0045c140ea7aef3fae95daa95 (diff)
go back to order by id, fix #138, use a newest item id to prevent marking items as read that the user didnt see yet fix #141, also update the starred count periodically
Diffstat (limited to 'tests/unit/controller')
-rw-r--r--tests/unit/controller/FeedControllerTest.php55
-rw-r--r--tests/unit/controller/ItemControllerTest.php35
2 files changed, 58 insertions, 32 deletions
diff --git a/tests/unit/controller/FeedControllerTest.php b/tests/unit/controller/FeedControllerTest.php
index b41977962..14c31b545 100644
--- a/tests/unit/controller/FeedControllerTest.php
+++ b/tests/unit/controller/FeedControllerTest.php
@@ -46,6 +46,7 @@ class FeedControllerTest extends ControllerTestUtility {
private $request;
private $controller;
private $folderBusinessLayer;
+ private $itemBusinessLayer;
/**
@@ -53,6 +54,9 @@ class FeedControllerTest extends ControllerTestUtility {
*/
public function setUp(){
$this->api = $this->getAPIMock();
+ $this->itemBusinessLayer = $this->getMockBuilder('\OCA\News\BusinessLayer\ItemBusinessLayer')
+ ->disableOriginalConstructor()
+ ->getMock();
$this->feedBusinessLayer = $this->getMockBuilder('\OCA\News\BusinessLayer\FeedBusinessLayer')
->disableOriginalConstructor()
->getMock();
@@ -61,7 +65,8 @@ class FeedControllerTest extends ControllerTestUtility {
->getMock();
$this->request = new Request();
$this->controller = new FeedController($this->api, $this->request,
- $this->feedBusinessLayer, $this->folderBusinessLayer);
+ $this->feedBusinessLayer, $this->folderBusinessLayer,
+ $this->itemBusinessLayer);
$this->user = 'jack';
}
@@ -78,7 +83,8 @@ class FeedControllerTest extends ControllerTestUtility {
);
$request = $this->getRequest($post);
- return new FeedController($this->api, $request, $this->feedBusinessLayer, $this->folderBusinessLayer);
+ return new FeedController($this->api, $request, $this->feedBusinessLayer,
+ $this->folderBusinessLayer, $this->itemBusinessLayer);
}
@@ -119,8 +125,40 @@ class FeedControllerTest extends ControllerTestUtility {
public function testFeeds(){
$result = array(
'feeds' => array(
- array('a feed')
- )
+ array('a feed'),
+ ),
+ 'starred' => 13
+ );
+ $this->api->expects($this->once())
+ ->method('getUserId')
+ ->will($this->returnValue($this->user));
+ $this->feedBusinessLayer->expects($this->once())
+ ->method('findAll')
+ ->with($this->equalTo($this->user))
+ ->will($this->returnValue($result['feeds']));
+ $this->itemBusinessLayer->expects($this->once())
+ ->method('getNewestItemId')
+ ->with($this->equalTo($this->user))
+ ->will($this->throwException(new BusinessLayerException('')));
+ $this->itemBusinessLayer->expects($this->once())
+ ->method('starredCount')
+ ->with($this->equalTo($this->user))
+ ->will($this->returnValue($result['starred']));
+
+ $response = $this->controller->feeds();
+
+ $this->assertEquals($result, $response->getParams());
+ $this->assertTrue($response instanceof JSONResponse);
+ }
+
+
+ public function testFeedsHighestItemIdExists(){
+ $result = array(
+ 'feeds' => array(
+ array('a feed'),
+ ),
+ 'starred' => 13,
+ 'newestItemId' => 5
);
$this->api->expects($this->once())
->method('getUserId')
@@ -129,6 +167,14 @@ class FeedControllerTest extends ControllerTestUtility {
->method('findAll')
->with($this->equalTo($this->user))
->will($this->returnValue($result['feeds']));
+ $this->itemBusinessLayer->expects($this->once())
+ ->method('getNewestItemId')
+ ->with($this->equalTo($this->user))
+ ->will($this->returnValue($result['newestItemId']));
+ $this->itemBusinessLayer->expects($this->once())
+ ->method('starredCount')
+ ->with($this->equalTo($this->user))
+ ->will($this->returnValue($result['starred']));
$response = $this->controller->feeds();
@@ -137,6 +183,7 @@ class FeedControllerTest extends ControllerTestUtility {
}
+
private function activeInitMocks($id, $type){
$this->api->expects($this->at(0))
->method('getUserId')
diff --git a/tests/unit/controller/ItemControllerTest.php b/tests/unit/controller/ItemControllerTest.php
index 451053317..b0d2a52bc 100644
--- a/tests/unit/controller/ItemControllerTest.php
+++ b/tests/unit/controller/ItemControllerTest.php
@@ -89,11 +89,6 @@ class ItemControllerTest extends ControllerTestUtility {
}
- public function testStarredAnnotations(){
- $this->assertItemControllerAnnotations('starred');
- }
-
-
public function testStarAnnotations(){
$this->assertItemControllerAnnotations('star');
}
@@ -230,24 +225,6 @@ class ItemControllerTest extends ControllerTestUtility {
}
- public function testStarred(){
- $result = array(
- 'starred' => 3
- );
- $this->api->expects($this->once())
- ->method('getUserId')
- ->will($this->returnValue($this->user));
- $this->itemBusinessLayer->expects($this->once())
- ->method('starredCount')
- ->with($this->user)
- ->will($this->returnValue($result['starred']));
- $response = $this->controller->starred();
-
- $this->assertEquals($result, $response->getParams());
- $this->assertTrue($response instanceof JSONResponse);
- }
-
-
private function itemsApiExpects($id, $type){
$this->api->expects($this->once())
@@ -273,14 +250,14 @@ class ItemControllerTest extends ControllerTestUtility {
$result = array(
'items' => array(new Item()),
'feeds' => $feeds,
- 'newestItemId' => $this->newestItemId
+ 'newestItemId' => $this->newestItemId,
+ 'starred' => 3111
);
$post = array(
'limit' => 3,
'type' => FeedType::FEED,
'id' => 2,
'offset' => 0,
- 'newestItemId' => 3
);
$this->controller = $this->getPostController($post);
@@ -297,13 +274,17 @@ class ItemControllerTest extends ControllerTestUtility {
->will($this->returnValue($this->newestItemId));
$this->itemBusinessLayer->expects($this->once())
+ ->method('starredCount')
+ ->with($this->equalTo($this->user))
+ ->will($this->returnValue(3111));
+
+ $this->itemBusinessLayer->expects($this->once())
->method('findAll')
->with(
$this->equalTo($post['id']),
$this->equalTo($post['type']),
$this->equalTo($post['limit']),
$this->equalTo($post['offset']),
- $this->equalTo($this->newestItemId),
$this->equalTo(true),
$this->equalTo($this->user))
->will($this->returnValue($result['items']));
@@ -323,7 +304,6 @@ class ItemControllerTest extends ControllerTestUtility {
'type' => FeedType::FEED,
'id' => 2,
'offset' => 10,
- 'newestItemId' => 3
);
$this->controller = $this->getPostController($post);
@@ -335,7 +315,6 @@ class ItemControllerTest extends ControllerTestUtility {
$this->equalTo($post['type']),
$this->equalTo($post['limit']),
$this->equalTo($post['offset']),
- $this->equalTo($post['newestItemId']),
$this->equalTo(true),
$this->equalTo($this->user))
->will($this->returnValue($result['items']));