diff options
author | Morris Jobke <hey@morrisjobke.de> | 2015-12-02 14:35:38 +0100 |
---|---|---|
committer | Morris Jobke <hey@morrisjobke.de> | 2015-12-02 14:35:38 +0100 |
commit | 0a6db3ada6b35b59db86d1950681724fdc627b5c (patch) | |
tree | 035e936bebd53a4cce4a7879545d150b6da06826 | |
parent | 8d218bf3ef842d76c2b97a175b28e13054497952 (diff) | |
download | nextcloud-server-0a6db3ada6b35b59db86d1950681724fdc627b5c.tar.gz nextcloud-server-0a6db3ada6b35b59db86d1950681724fdc627b5c.zip |
Remove OC_Config from app management template
* add unit test for this case
-rw-r--r-- | settings/controller/appsettingscontroller.php | 1 | ||||
-rw-r--r-- | settings/templates/apps.php | 2 | ||||
-rw-r--r-- | tests/settings/controller/AppSettingsControllerTest.php | 42 |
3 files changed, 40 insertions, 5 deletions
diff --git a/settings/controller/appsettingscontroller.php b/settings/controller/appsettingscontroller.php index bde00df062f..d0e465bfa9c 100644 --- a/settings/controller/appsettingscontroller.php +++ b/settings/controller/appsettingscontroller.php @@ -132,6 +132,7 @@ class AppSettingsController extends Controller { $params = []; $params['experimentalEnabled'] = $this->config->getSystemValue('appstore.experimental.enabled', false); $params['category'] = $category; + $params['appstoreEnabled'] = $this->config->getSystemValue('appstoreenabled', true) === true; $this->navigationManager->setActiveEntry('core_apps'); $templateResponse = new TemplateResponse($this->appName, 'apps', $params, 'user'); diff --git a/settings/templates/apps.php b/settings/templates/apps.php index 3168fd8beeb..7213d552c08 100644 --- a/settings/templates/apps.php +++ b/settings/templates/apps.php @@ -29,7 +29,7 @@ script( </li> {{/each}} -<?php if(OC_Config::getValue('appstoreenabled', true) === true): ?> +<?php if($_['appstoreEnabled']): ?> <li> <a class="app-external" target="_blank" href="https://owncloud.org/dev"><?php p($l->t('Developer documentation'));?> ↗</a> </li> diff --git a/tests/settings/controller/AppSettingsControllerTest.php b/tests/settings/controller/AppSettingsControllerTest.php index 09595d05661..dba5728ca4b 100644 --- a/tests/settings/controller/AppSettingsControllerTest.php +++ b/tests/settings/controller/AppSettingsControllerTest.php @@ -220,9 +220,14 @@ class AppSettingsControllerTest extends TestCase { public function testViewApps() { $this->config - ->expects($this->once()) + ->expects($this->at(0)) ->method('getSystemValue') ->with('appstore.experimental.enabled', false); + $this->config + ->expects($this->at(1)) + ->method('getSystemValue') + ->with('appstoreenabled', true) + ->will($this->returnValue(true)); $this->navigationManager ->expects($this->once()) ->method('setActiveEntry') @@ -231,7 +236,7 @@ class AppSettingsControllerTest extends TestCase { $policy = new ContentSecurityPolicy(); $policy->addAllowedImageDomain('https://apps.owncloud.com'); - $expected = new TemplateResponse('settings', 'apps', ['experimentalEnabled' => false, 'category' => 'enabled'], 'user'); + $expected = new TemplateResponse('settings', 'apps', ['experimentalEnabled' => false, 'category' => 'enabled', 'appstoreEnabled' => true], 'user'); $expected->setContentSecurityPolicy($policy); $this->assertEquals($expected, $this->appSettingsController->viewApps()); @@ -239,9 +244,14 @@ class AppSettingsControllerTest extends TestCase { public function testViewAppsNotEnabled() { $this->config - ->expects($this->once()) + ->expects($this->at(0)) ->method('getSystemValue') ->with('appstore.experimental.enabled', false); + $this->config + ->expects($this->at(1)) + ->method('getSystemValue') + ->with('appstoreenabled', true) + ->will($this->returnValue(true)); $this->navigationManager ->expects($this->once()) ->method('setActiveEntry') @@ -250,9 +260,33 @@ class AppSettingsControllerTest extends TestCase { $policy = new ContentSecurityPolicy(); $policy->addAllowedImageDomain('https://apps.owncloud.com'); - $expected = new TemplateResponse('settings', 'apps', ['experimentalEnabled' => false, 'category' => 'disabled'], 'user'); + $expected = new TemplateResponse('settings', 'apps', ['experimentalEnabled' => false, 'category' => 'disabled', 'appstoreEnabled' => true], 'user'); $expected->setContentSecurityPolicy($policy); $this->assertEquals($expected, $this->appSettingsController->viewApps('disabled')); } + + public function testViewAppsAppstoreNotEnabled() { + $this->config + ->expects($this->at(0)) + ->method('getSystemValue') + ->with('appstore.experimental.enabled', false); + $this->config + ->expects($this->at(1)) + ->method('getSystemValue') + ->with('appstoreenabled', true) + ->will($this->returnValue(false)); + $this->navigationManager + ->expects($this->once()) + ->method('setActiveEntry') + ->with('core_apps'); + + $policy = new ContentSecurityPolicy(); + $policy->addAllowedImageDomain('https://apps.owncloud.com'); + + $expected = new TemplateResponse('settings', 'apps', ['experimentalEnabled' => false, 'category' => 'enabled', 'appstoreEnabled' => false], 'user'); + $expected->setContentSecurityPolicy($policy); + + $this->assertEquals($expected, $this->appSettingsController->viewApps()); + } } |