diff options
author | Morris Jobke <hey@morrisjobke.de> | 2019-02-11 11:13:55 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-11 11:13:55 +0100 |
commit | 34dc165132a06211e2ba10dcb9826cf6ed5096f6 (patch) | |
tree | 51bd0513064597ba6ea9af402381d91bce85db50 /tests | |
parent | 2e7eb344c8a65ab02a8704405d929fd60356a0ea (diff) | |
parent | 587a140c8a75e9a3a0a98ccd37675f785d37f5ab (diff) | |
download | nextcloud-server-34dc165132a06211e2ba10dcb9826cf6ed5096f6.tar.gz nextcloud-server-34dc165132a06211e2ba10dcb9826cf6ed5096f6.zip |
Merge pull request #13097 from nextcloud/feature/11319/where-is-your-data
Where is your data?
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Settings/Controller/ServerInfoSettingsControllerTest.php | 94 | ||||
-rw-r--r-- | tests/lib/Settings/ManagerTest.php | 12 |
2 files changed, 103 insertions, 3 deletions
diff --git a/tests/Settings/Controller/ServerInfoSettingsControllerTest.php b/tests/Settings/Controller/ServerInfoSettingsControllerTest.php new file mode 100644 index 00000000000..8d2083d0acb --- /dev/null +++ b/tests/Settings/Controller/ServerInfoSettingsControllerTest.php @@ -0,0 +1,94 @@ +<?php +/** + * @copyright Copyright (c) 2018 Michael Weimann <mail@michael-weimann.eu> + * + * @author Michael Weimann <mail@michael-weimann.eu> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +namespace Settings\Controller; + +use OC\Settings\Theming\ServerInfo; +use OC\Settings\Controller\ServerInfoSettingsController; +use OCP\IConfig; +use OCP\IRequest; +use PHPUnit\Framework\MockObject\MockObject; +use Test\TestCase; + +/** + * This class provides tests for the server info settings controller. + */ +class ServerInfoSettingsControllerTest extends TestCase { + + /** + * @var IConfig|MockObject + */ + private $config; + + /** + * @var ServerInfoSettingsController + */ + private $controller; + + /** + * Does the test setup. + */ + protected function setUp() { + parent::setUp(); + + $request = $this->getMockBuilder(IRequest::class)->getMock(); + /* @var IRequest|MockObject $request */ + $this->config = $this->getMockBuilder(IConfig::class)->getMock(); + $this->controller = new ServerInfoSettingsController( + 'settings', + $request, + $this->config + ); + } + + /** + * Tests that the handler passes the params to the config. + */ + public function testStoreServerInfo() { + + $location = 'test-location'; + $provider = 'test-provider'; + $providerWebsite = 'https://example.com/'; + $providerPrivacyLink = 'https://example.com/privacy'; + $adminContact = 'testuser'; + + $this->config->expects($this->once()) + ->method('setSystemValues') + ->with([ + ServerInfo::SETTING_LOCATION => $location, + ServerInfo::SETTING_PROVIDER => $provider, + ServerInfo::SETTING_PROVIDER_WEBSITE => $providerWebsite, + ServerInfo::SETTING_PROVIDER_PRIVACY_LINK => $providerPrivacyLink, + ServerInfo::SETTING_PROVIDER_ADMIN_CONTACT => $adminContact, + ]); + + $this->controller->storeServerInfo( + $location, + $provider, + $providerWebsite, + $providerPrivacyLink, + $adminContact + ); + + } + +} diff --git a/tests/lib/Settings/ManagerTest.php b/tests/lib/Settings/ManagerTest.php index b82fb5bc3ca..8323452934f 100644 --- a/tests/lib/Settings/ManagerTest.php +++ b/tests/lib/Settings/ManagerTest.php @@ -72,13 +72,14 @@ class ManagerTest extends TestCase { $this->manager->registerSection('admin', \OCA\WorkflowEngine\Settings\Section::class); - $this->url->expects($this->exactly(6)) + $this->url->expects($this->exactly(7)) ->method('imagePath') ->willReturnMap([ ['settings', 'admin.svg', '0'], ['core', 'actions/settings-dark.svg', '1'], ['core', 'actions/share.svg', '2'], ['core', 'actions/password.svg', '3'], + ['settings', 'theming-dark.svg', '6'], ['core', 'places/contacts.svg', '5'], ['settings', 'help.svg', '4'], ]); @@ -88,6 +89,7 @@ class ManagerTest extends TestCase { 1 => [new Section('server', 'Basic settings', 0, '1')], 5 => [new Section('sharing', 'Sharing', 0, '2')], 10 => [new Section('security', 'Security', 0, '3')], + 30 => [new Section('theming', 'Theming', 0, '6')], 50 => [new Section('groupware', 'Groupware', 0, '5')], 55 => [\OC::$server->query(\OCA\WorkflowEngine\Settings\Section::class)], 98 => [new Section('additional', 'Additional settings', 0, '1')], @@ -124,13 +126,14 @@ class ManagerTest extends TestCase { ->method('t') ->will($this->returnArgument(0)); - $this->url->expects($this->exactly(6)) + $this->url->expects($this->exactly(7)) ->method('imagePath') ->willReturnMap([ ['settings', 'admin.svg', '0'], ['core', 'actions/settings-dark.svg', '1'], ['core', 'actions/share.svg', '2'], ['core', 'actions/password.svg', '3'], + ['settings', 'theming-dark.svg', '6'], ['core', 'places/contacts.svg', '5'], ['settings', 'help.svg', '4'], ]); @@ -140,6 +143,7 @@ class ManagerTest extends TestCase { 1 => [new Section('server', 'Basic settings', 0, '1')], 5 => [new Section('sharing', 'Sharing', 0, '2')], 10 => [new Section('security', 'Security', 0, '3')], + 30 => [new Section('theming', 'Theming', 0, '6')], 50 => [new Section('groupware', 'Groupware', 0, '5')], 98 => [new Section('additional', 'Additional settings', 0, '1')], ], $this->manager->getAdminSections()); @@ -209,7 +213,7 @@ class ManagerTest extends TestCase { $this->manager->registerSection('personal', \OCA\WorkflowEngine\Settings\Section::class); $this->manager->registerSection('admin', \OCA\WorkflowEngine\Settings\Section::class); - $this->url->expects($this->exactly(9)) + $this->url->expects($this->exactly(10)) ->method('imagePath') ->willReturnMap([ ['core', 'actions/info.svg', '1'], @@ -219,6 +223,7 @@ class ManagerTest extends TestCase { ['core', 'actions/settings-dark.svg', '1'], ['core', 'actions/share.svg', '2'], ['core', 'actions/password.svg', '3'], + ['settings', 'theming-dark.svg', '6'], ['core', 'places/contacts.svg', '5'], ['settings', 'help.svg', '4'], ]); @@ -235,6 +240,7 @@ class ManagerTest extends TestCase { 1 => [new Section('server', 'Basic settings', 0, '1')], 5 => [new Section('sharing', 'Sharing', 0, '2')], 10 => [new Section('security', 'Security', 0, '3')], + 30 => [new Section('theming', 'Theming', 0, '6')], 50 => [new Section('groupware', 'Groupware', 0, '5')], 55 => [\OC::$server->query(\OCA\WorkflowEngine\Settings\Section::class)], 98 => [new Section('additional', 'Additional settings', 0, '1')], |