summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2019-02-11 11:13:55 +0100
committerGitHub <noreply@github.com>2019-02-11 11:13:55 +0100
commit34dc165132a06211e2ba10dcb9826cf6ed5096f6 (patch)
tree51bd0513064597ba6ea9af402381d91bce85db50 /tests
parent2e7eb344c8a65ab02a8704405d929fd60356a0ea (diff)
parent587a140c8a75e9a3a0a98ccd37675f785d37f5ab (diff)
downloadnextcloud-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.php94
-rw-r--r--tests/lib/Settings/ManagerTest.php12
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')],