diff options
Diffstat (limited to 'apps/files/tests/Activity/Setting/GenericTest.php')
-rw-r--r-- | apps/files/tests/Activity/Setting/GenericTest.php | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/apps/files/tests/Activity/Setting/GenericTest.php b/apps/files/tests/Activity/Setting/GenericTest.php new file mode 100644 index 00000000000..df6b1e0f6d4 --- /dev/null +++ b/apps/files/tests/Activity/Setting/GenericTest.php @@ -0,0 +1,82 @@ +<?php + +declare(strict_types=1); +/** + * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +namespace OCA\Files\Tests\Activity\Setting; + +use OCA\Files\Activity\Settings\FavoriteAction; +use OCA\Files\Activity\Settings\FileChanged; +use OCP\Activity\ISetting; +use OCP\Server; +use Test\TestCase; + +class GenericTest extends TestCase { + public static function dataSettings(): array { + return [ + [FavoriteAction::class], + [FileChanged::class], + [FileChanged::class], + ]; + } + + #[\PHPUnit\Framework\Attributes\DataProvider('dataSettings')] + public function testImplementsInterface(string $settingClass): void { + $setting = Server::get($settingClass); + $this->assertInstanceOf(ISetting::class, $setting); + } + + #[\PHPUnit\Framework\Attributes\DataProvider('dataSettings')] + public function testGetIdentifier(string $settingClass): void { + /** @var ISetting $setting */ + $setting = Server::get($settingClass); + $this->assertIsString($setting->getIdentifier()); + } + + #[\PHPUnit\Framework\Attributes\DataProvider('dataSettings')] + public function testGetName(string $settingClass): void { + /** @var ISetting $setting */ + $setting = Server::get($settingClass); + $this->assertIsString($setting->getName()); + } + + #[\PHPUnit\Framework\Attributes\DataProvider('dataSettings')] + public function testGetPriority(string $settingClass): void { + /** @var ISetting $setting */ + $setting = Server::get($settingClass); + $priority = $setting->getPriority(); + $this->assertIsInt($setting->getPriority()); + $this->assertGreaterThanOrEqual(0, $priority); + $this->assertLessThanOrEqual(100, $priority); + } + + #[\PHPUnit\Framework\Attributes\DataProvider('dataSettings')] + public function testCanChangeStream(string $settingClass): void { + /** @var ISetting $setting */ + $setting = Server::get($settingClass); + $this->assertIsBool($setting->canChangeStream()); + } + + #[\PHPUnit\Framework\Attributes\DataProvider('dataSettings')] + public function testIsDefaultEnabledStream(string $settingClass): void { + /** @var ISetting $setting */ + $setting = Server::get($settingClass); + $this->assertIsBool($setting->isDefaultEnabledStream()); + } + + #[\PHPUnit\Framework\Attributes\DataProvider('dataSettings')] + public function testCanChangeMail(string $settingClass): void { + /** @var ISetting $setting */ + $setting = Server::get($settingClass); + $this->assertIsBool($setting->canChangeMail()); + } + + #[\PHPUnit\Framework\Attributes\DataProvider('dataSettings')] + public function testIsDefaultEnabledMail(string $settingClass): void { + /** @var ISetting $setting */ + $setting = Server::get($settingClass); + $this->assertIsBool($setting->isDefaultEnabledMail()); + } +} |