summaryrefslogtreecommitdiffstats
path: root/tests/unit/controller/PageControllerTest.php
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2014-04-09 16:36:09 +0200
committerBernhard Posselt <dev@bernhard-posselt.com>2014-04-09 22:52:27 +0200
commit6e0de4208c06a3c95cbe274a93476b6b7eacafa0 (patch)
tree42221fb4d981de4b4fd6fbe2b81b47fac08c4207 /tests/unit/controller/PageControllerTest.php
parent673f26829d0badb4e2e8094df69bb7db45707761 (diff)
remove usersettingscontroller in favor of pagecontroller, simplify settings requests
Diffstat (limited to 'tests/unit/controller/PageControllerTest.php')
-rw-r--r--tests/unit/controller/PageControllerTest.php63
1 files changed, 62 insertions, 1 deletions
diff --git a/tests/unit/controller/PageControllerTest.php b/tests/unit/controller/PageControllerTest.php
index 86534e861..a2b9b6e16 100644
--- a/tests/unit/controller/PageControllerTest.php
+++ b/tests/unit/controller/PageControllerTest.php
@@ -27,6 +27,7 @@ namespace OCA\News\Controller;
use \OCP\IRequest;
use \OCP\AppFramework\Http\TemplateResponse;
+use \OCP\AppFramework\Http\JSONResponse;
use \OCA\News\Utility\ControllerTestUtility;
@@ -38,6 +39,7 @@ class PageControllerTest extends ControllerTestUtility {
private $api;
private $request;
private $controller;
+ private $user;
/**
@@ -47,14 +49,25 @@ class PageControllerTest extends ControllerTestUtility {
$this->api = $this->getAPIMock();
$this->request = $this->getRequest();
$this->controller = new PageController($this->api, $this->request);
+ $this->user = 'becka';
}
- public function testOpmlAnnotations(){
+ public function testIndexAnnotations(){
$annotations = array('NoAdminRequired', 'NoCSRFRequired');
$this->assertAnnotations($this->controller, 'index', $annotations);
}
+ public function testSettingsAnnotations(){
+ $annotations = array('NoAdminRequired');
+ $this->assertAnnotations($this->controller, 'settings', $annotations);
+ }
+
+ public function testUpdateSettingsAnnotations(){
+ $annotations = array('NoAdminRequired');
+ $this->assertAnnotations($this->controller, 'updateSettings', $annotations);
+ }
+
public function testIndex(){
$response = $this->controller->index();
$this->assertEquals('main', $response->getTemplateName());
@@ -62,4 +75,52 @@ class PageControllerTest extends ControllerTestUtility {
}
+ public function testSettings() {
+ $result = array(
+ 'showAll' => true,
+ 'compact' => true,
+ 'language' => 'de'
+ );
+
+ $lang = $this->getMock('Lang', array('findLanguage'));
+ $lang->expects($this->once())
+ ->method('findLanguage')
+ ->will($this->returnValue('de'));
+ $this->api->expects($this->once())
+ ->method('getTrans')
+ ->will($this->returnValue($lang));
+ $this->api->expects($this->at(0))
+ ->method('getUserValue')
+ ->with($this->equalTo('showAll'))
+ ->will($this->returnValue('1'));
+ $this->api->expects($this->at(1))
+ ->method('getUserValue')
+ ->with($this->equalTo('compact'))
+ ->will($this->returnValue('1'));
+
+ $response = $this->controller->settings();
+ $this->assertEquals($result, $response->getData());
+ $this->assertTrue($response instanceof JSONResponse);
+ }
+
+
+ public function testUpdateSettings() {
+ $request = $this->getRequest(array('post' => array(
+ 'showAll' => true,
+ 'compact' => true
+ )));
+ $this->controller = new PageController($this->api, $request);
+
+ $this->api->expects($this->at(0))
+ ->method('setUserValue')
+ ->with($this->equalTo('showAll'),
+ $this->equalTo(true));
+ $this->api->expects($this->at(1))
+ ->method('setUserValue')
+ ->with($this->equalTo('compact'),
+ $this->equalTo(true));
+ $response = $this->controller->updateSettings();
+
+ $this->assertTrue($response instanceof JSONResponse);
+ }
} \ No newline at end of file