diff options
author | Joas Schilling <coding@schilljs.com> | 2016-12-04 12:41:14 +0100 |
---|---|---|
committer | Joas Schilling <coding@schilljs.com> | 2016-12-04 12:41:14 +0100 |
commit | 7c1b288b575955276772f51402d0ea5ab55db540 (patch) | |
tree | f82cade8a2426dd1b9b49ab274c7d89bc9d8c859 /apps | |
parent | 8baf986d3bf6efb4d81fb18eac07592932467b8e (diff) | |
download | nextcloud-server-7c1b288b575955276772f51402d0ea5ab55db540.tar.gz nextcloud-server-7c1b288b575955276772f51402d0ea5ab55db540.zip |
Add some generic tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'apps')
-rw-r--r-- | apps/files/lib/Activity/Filter/FileChanges.php | 4 | ||||
-rw-r--r-- | apps/files/tests/Activity/Filter/GenericTest.php | 117 | ||||
-rw-r--r-- | apps/files/tests/Activity/Setting/GenericTest.php | 127 |
3 files changed, 248 insertions, 0 deletions
diff --git a/apps/files/lib/Activity/Filter/FileChanges.php b/apps/files/lib/Activity/Filter/FileChanges.php index dc7daf96bac..d8d1a698816 100644 --- a/apps/files/lib/Activity/Filter/FileChanges.php +++ b/apps/files/lib/Activity/Filter/FileChanges.php @@ -34,6 +34,10 @@ class FileChanges implements IFilter { /** @var IURLGenerator */ protected $url; + /** + * @param IL10N $l + * @param IURLGenerator $url + */ public function __construct(IL10N $l, IURLGenerator $url) { $this->l = $l; $this->url = $url; diff --git a/apps/files/tests/Activity/Filter/GenericTest.php b/apps/files/tests/Activity/Filter/GenericTest.php new file mode 100644 index 00000000000..3788126dd94 --- /dev/null +++ b/apps/files/tests/Activity/Filter/GenericTest.php @@ -0,0 +1,117 @@ +<?php +/** + * @copyright Copyright (c) 2016 Joas Schilling <coding@schilljs.com> + * + * @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\Activity\Filter; + + +use OCA\Files\Activity\Filter\Favorites; +use OCA\Files\Activity\Filter\FileChanges; +use OCP\Activity\IFilter; +use Test\TestCase; + +/** + * Class GenericTest + * + * @package OCA\Files\Tests\Activity\Filter + * @group DB + */ +class GenericTest extends TestCase { + + public function dataFilters() { + return [ + [Favorites::class], + [FileChanges::class], + ]; + } + + /** + * @dataProvider dataFilters + * @param string $filterClass + */ + public function testImplementsInterface($filterClass) { + $filter = \OC::$server->query($filterClass); + $this->assertInstanceOf(IFilter::class, $filter); + } + + /** + * @dataProvider dataFilters + * @param string $filterClass + */ + public function testGetIdentifier($filterClass) { + /** @var IFilter $filter */ + $filter = \OC::$server->query($filterClass); + $this->assertInternalType('string', $filter->getIdentifier()); + } + + /** + * @dataProvider dataFilters + * @param string $filterClass + */ + public function testGetName($filterClass) { + /** @var IFilter $filter */ + $filter = \OC::$server->query($filterClass); + $this->assertInternalType('string', $filter->getName()); + } + + /** + * @dataProvider dataFilters + * @param string $filterClass + */ + public function testGetPriority($filterClass) { + /** @var IFilter $filter */ + $filter = \OC::$server->query($filterClass); + $priority = $filter->getPriority(); + $this->assertInternalType('int', $filter->getPriority()); + $this->assertGreaterThanOrEqual(0, $priority); + $this->assertLessThanOrEqual(100, $priority); + } + + /** + * @dataProvider dataFilters + * @param string $filterClass + */ + public function testGetIcon($filterClass) { + /** @var IFilter $filter */ + $filter = \OC::$server->query($filterClass); + $this->assertInternalType('string', $filter->getIcon()); + $this->assertStringStartsWith('http', $filter->getIcon()); + } + + /** + * @dataProvider dataFilters + * @param string $filterClass + */ + public function testFilterTypes($filterClass) { + /** @var IFilter $filter */ + $filter = \OC::$server->query($filterClass); + $this->assertInternalType('array', $filter->filterTypes([])); + } + + /** + * @dataProvider dataFilters + * @param string $filterClass + */ + public function testAllowedApps($filterClass) { + /** @var IFilter $filter */ + $filter = \OC::$server->query($filterClass); + $this->assertInternalType('array', $filter->allowedApps()); + } +} diff --git a/apps/files/tests/Activity/Setting/GenericTest.php b/apps/files/tests/Activity/Setting/GenericTest.php new file mode 100644 index 00000000000..5ae15f02a02 --- /dev/null +++ b/apps/files/tests/Activity/Setting/GenericTest.php @@ -0,0 +1,127 @@ +<?php +/** + * @copyright Copyright (c) 2016 Joas Schilling <coding@schilljs.com> + * + * @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\Activity\Setting; + +use OCA\Files\Activity\Settings\FavoriteAction; +use OCA\Files\Activity\Settings\FileChanged; +use OCA\Files\Activity\Settings\FileCreated; +use OCA\Files\Activity\Settings\FileDeleted; +use OCA\Files\Activity\Settings\FileFavorite; +use OCA\Files\Activity\Settings\FileRestored; +use OCP\Activity\ISetting; +use Test\TestCase; + +class GenericTest extends TestCase { + + public function dataSettings() { + return [ + [FavoriteAction::class], + [FileChanged::class], + [FileCreated::class], + [FileDeleted::class], + [FileFavorite::class], + [FileRestored::class], + ]; + } + + /** + * @dataProvider dataSettings + * @param string $settingClass + */ + public function testImplementsInterface($settingClass) { + $setting = \OC::$server->query($settingClass); + $this->assertInstanceOf(ISetting::class, $setting); + } + + /** + * @dataProvider dataSettings + * @param string $settingClass + */ + public function testGetIdentifier($settingClass) { + /** @var ISetting $setting */ + $setting = \OC::$server->query($settingClass); + $this->assertInternalType('string', $setting->getIdentifier()); + } + + /** + * @dataProvider dataSettings + * @param string $settingClass + */ + public function testGetName($settingClass) { + /** @var ISetting $setting */ + $setting = \OC::$server->query($settingClass); + $this->assertInternalType('string', $setting->getName()); + } + + /** + * @dataProvider dataSettings + * @param string $settingClass + */ + public function testGetPriority($settingClass) { + /** @var ISetting $setting */ + $setting = \OC::$server->query($settingClass); + $priority = $setting->getPriority(); + $this->assertInternalType('int', $setting->getPriority()); + $this->assertGreaterThanOrEqual(0, $priority); + $this->assertLessThanOrEqual(100, $priority); + } + + /** + * @dataProvider dataSettings + * @param string $settingClass + */ + public function testCanChangeStream($settingClass) { + /** @var ISetting $setting */ + $setting = \OC::$server->query($settingClass); + $this->assertInternalType('bool', $setting->canChangeStream()); + } + + /** + * @dataProvider dataSettings + * @param string $settingClass + */ + public function testIsDefaultEnabledStream($settingClass) { + /** @var ISetting $setting */ + $setting = \OC::$server->query($settingClass); + $this->assertInternalType('bool', $setting->isDefaultEnabledStream()); + } + + /** + * @dataProvider dataSettings + * @param string $settingClass + */ + public function testCanChangeMail($settingClass) { + /** @var ISetting $setting */ + $setting = \OC::$server->query($settingClass); + $this->assertInternalType('bool', $setting->canChangeMail()); + } + + /** + * @dataProvider dataSettings + * @param string $settingClass + */ + public function testIsDefaultEnabledMail($settingClass) { + /** @var ISetting $setting */ + $setting = \OC::$server->query($settingClass); + $this->assertInternalType('bool', $setting->isDefaultEnabledMail()); + } +} |