summaryrefslogtreecommitdiffstats
path: root/apps/files/tests/Settings
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/files/tests/Settings
parent75a73a5a7301f203a962a17f6b2b8b90078c1884 (diff)
downloadnextcloud-server-8a7a0f328746230dd896ccc53b3ada271a91b930.tar.gz
nextcloud-server-8a7a0f328746230dd896ccc53b3ada271a91b930.zip
Add unit tests
Diffstat (limited to 'apps/files/tests/Settings')
-rw-r--r--apps/files/tests/Settings/AdminTest.php83
1 files changed, 83 insertions, 0 deletions
diff --git a/apps/files/tests/Settings/AdminTest.php b/apps/files/tests/Settings/AdminTest.php
new file mode 100644
index 00000000000..c536377af93
--- /dev/null
+++ b/apps/files/tests/Settings/AdminTest.php
@@ -0,0 +1,83 @@
+<?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\Files\Tests\Settings;
+
+use bantu\IniGetWrapper\IniGetWrapper;
+use OCA\Files\Settings\Admin;
+use OCP\AppFramework\Http\TemplateResponse;
+use OCP\IRequest;
+use OCP\Util;
+use Test\TestCase;
+
+class AdminTest extends TestCase {
+ /** @var Admin */
+ private $admin;
+ /** @var IniGetWrapper */
+ private $iniGetWrapper;
+ /** @var IRequest */
+ private $request;
+
+ public function setUp() {
+ parent::setUp();
+ $this->iniGetWrapper = $this->createMock('\bantu\IniGetWrapper\IniGetWrapper');
+ $this->request = $this->createMock('\OCP\IRequest');
+ $this->admin = new Admin(
+ $this->iniGetWrapper,
+ $this->request
+ );
+ }
+
+ public function testGetForm() {
+ $htaccessWorking = (getenv('htaccessWorking') == 'true');
+ $htaccessWritable = is_writable(\OC::$SERVERROOT.'/.htaccess');
+ $userIniWritable = is_writable(\OC::$SERVERROOT.'/.user.ini');
+
+ $this->iniGetWrapper
+ ->expects($this->at(0))
+ ->method('getBytes')
+ ->with('upload_max_filesize')
+ ->willReturn(1234);
+ $this->iniGetWrapper
+ ->expects($this->at(1))
+ ->method('getBytes')
+ ->with('post_max_size')
+ ->willReturn(1234);
+ $params = [
+ 'uploadChangable' => (($htaccessWorking and $htaccessWritable) or $userIniWritable ),
+ 'uploadMaxFilesize' => '1 KB',
+ 'displayMaxPossibleUploadSize' => PHP_INT_SIZE === 4,
+ 'maxPossibleUploadSize' => Util::humanFileSize(PHP_INT_MAX),
+ ];
+ $expected = new TemplateResponse('files', 'admin', $params, '');
+ $this->assertEquals($expected, $this->admin->getForm());
+ }
+
+ public function testGetSection() {
+ $this->assertSame('additional', $this->admin->getSection());
+ }
+
+ public function testGetPriority() {
+ $this->assertSame(5, $this->admin->getPriority());
+ }
+}