summaryrefslogtreecommitdiffstats
path: root/apps/federatedfilesharing/tests
diff options
context:
space:
mode:
authorLukas Reschke <lukas@statuscode.ch>2016-08-15 16:24:56 +0200
committerLukas Reschke <lukas@statuscode.ch>2016-08-15 16:25:34 +0200
commit8a7a0f328746230dd896ccc53b3ada271a91b930 (patch)
treeaaaaedf7167b74c48a91c90671f705edb71bc541 /apps/federatedfilesharing/tests
parent75a73a5a7301f203a962a17f6b2b8b90078c1884 (diff)
downloadnextcloud-server-8a7a0f328746230dd896ccc53b3ada271a91b930.tar.gz
nextcloud-server-8a7a0f328746230dd896ccc53b3ada271a91b930.zip
Add unit tests
Diffstat (limited to 'apps/federatedfilesharing/tests')
-rw-r--r--apps/federatedfilesharing/tests/Settings/AdminTest.php84
1 files changed, 84 insertions, 0 deletions
diff --git a/apps/federatedfilesharing/tests/Settings/AdminTest.php b/apps/federatedfilesharing/tests/Settings/AdminTest.php
new file mode 100644
index 00000000000..e082e7bff23
--- /dev/null
+++ b/apps/federatedfilesharing/tests/Settings/AdminTest.php
@@ -0,0 +1,84 @@
+<?php
+/**
+ * @copyright Copyright (c) 2016 Lukas Reschke <lukas@statuscode.ch>
+ *
+ * @author Lukas Reschke <lukas@statuscode.ch>
+ *
+ * @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 OCA\FederatedFileSharing\Tests\Settings;
+
+use OCA\FederatedFileSharing\Settings\Admin;
+use OCP\AppFramework\Http\TemplateResponse;
+use Test\TestCase;
+
+class AdminTest extends TestCase {
+ /** @var Admin */
+ private $admin;
+ /** @var \OCA\FederatedFileSharing\FederatedShareProvider */
+ private $federatedShareProvider;
+
+ public function setUp() {
+ parent::setUp();
+ $this->federatedShareProvider = $this->createMock('\OCA\FederatedFileSharing\FederatedShareProvider');
+ $this->admin = new Admin(
+ $this->federatedShareProvider
+ );
+ }
+
+ public function sharingStateProvider() {
+ return [
+ [
+ true,
+ ],
+ [
+ false,
+ ]
+ ];
+ }
+
+ /**
+ * @dataProvider sharingStateProvider
+ * @param bool $state
+ */
+ public function testGetForm($state) {
+ $this->federatedShareProvider
+ ->expects($this->once())
+ ->method('isOutgoingServer2serverShareEnabled')
+ ->willReturn($state);
+ $this->federatedShareProvider
+ ->expects($this->once())
+ ->method('isIncomingServer2serverShareEnabled')
+ ->willReturn($state);
+
+ $params = [
+ 'outgoingServer2serverShareEnabled' => $state,
+ 'incomingServer2serverShareEnabled' => $state,
+ ];
+ $expected = new TemplateResponse('federatedfilesharing', 'settings-admin', $params, '');
+ $this->assertEquals($expected, $this->admin->getForm());
+ }
+
+ public function testGetSection() {
+ $this->assertSame('sharing', $this->admin->getSection());
+ }
+
+ public function testGetPriority() {
+ $this->assertSame(20, $this->admin->getPriority());
+ }
+}