John Molakvoæ
5 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
17 additions and
2 deletions
-
apps/sharebymail/lib/Capabilities.php
-
apps/sharebymail/tests/CapabilitiesTest.php
|
|
|
@ -27,6 +27,7 @@ declare(strict_types=1); |
|
|
|
*/ |
|
|
|
namespace OCA\ShareByMail; |
|
|
|
|
|
|
|
use OCA\ShareByMail\Settings\SettingsManager; |
|
|
|
use OCP\Capabilities\ICapability; |
|
|
|
use OCP\Share\IManager; |
|
|
|
|
|
|
|
@ -35,8 +36,13 @@ class Capabilities implements ICapability { |
|
|
|
/** @var IManager */ |
|
|
|
private $manager; |
|
|
|
|
|
|
|
public function __construct(IManager $manager) { |
|
|
|
/** @var SettingsManager */ |
|
|
|
private $settingsManager; |
|
|
|
|
|
|
|
public function __construct(IManager $manager, |
|
|
|
SettingsManager $settingsManager) { |
|
|
|
$this->manager = $manager; |
|
|
|
$this->settingsManager = $settingsManager; |
|
|
|
} |
|
|
|
|
|
|
|
public function getCapabilities(): array { |
|
|
|
@ -46,6 +52,7 @@ class Capabilities implements ICapability { |
|
|
|
'sharebymail' => |
|
|
|
[ |
|
|
|
'enabled' => $this->manager->shareApiAllowLinks(), |
|
|
|
'send_password_by_mail' => $this->settingsManager->sendPasswordByMail(), |
|
|
|
'upload_files_drop' => [ |
|
|
|
'enabled' => true, |
|
|
|
], |
|
|
|
|
|
|
|
@ -26,6 +26,7 @@ |
|
|
|
namespace OCA\ShareByMail\Tests; |
|
|
|
|
|
|
|
use OCA\ShareByMail\Capabilities; |
|
|
|
use OCA\ShareByMail\Settings\SettingsManager; |
|
|
|
use OCP\Share\IManager; |
|
|
|
use Test\TestCase; |
|
|
|
|
|
|
|
@ -36,12 +37,16 @@ class CapabilitiesTest extends TestCase { |
|
|
|
/** @var IManager | \PHPUnit\Framework\MockObject\MockObject */ |
|
|
|
private $manager; |
|
|
|
|
|
|
|
/** @var IManager | \PHPUnit\Framework\MockObject\MockObject */ |
|
|
|
private $settingsManager; |
|
|
|
|
|
|
|
protected function setUp(): void { |
|
|
|
parent::setUp(); |
|
|
|
|
|
|
|
|
|
|
|
$this->manager = $this::createMock(IManager::class); |
|
|
|
$this->capabilities = new Capabilities($this->manager); |
|
|
|
$this->settingsManager = $this::createMock(SettingsManager::class); |
|
|
|
$this->capabilities = new Capabilities($this->manager, $this->settingsManager); |
|
|
|
} |
|
|
|
|
|
|
|
public function testGetCapabilities() { |
|
|
|
@ -51,6 +56,8 @@ class CapabilitiesTest extends TestCase { |
|
|
|
->willReturn(false); |
|
|
|
$this->manager->method('shareApiLinkDefaultExpireDateEnforced') |
|
|
|
->willReturn(false); |
|
|
|
$this->settingsManager->method('sendPasswordByMail') |
|
|
|
->willReturn(true); |
|
|
|
|
|
|
|
$capabilities = [ |
|
|
|
'files_sharing' => |
|
|
|
@ -58,6 +65,7 @@ class CapabilitiesTest extends TestCase { |
|
|
|
'sharebymail' => |
|
|
|
[ |
|
|
|
'enabled' => true, |
|
|
|
'send_password_by_mail' => true, |
|
|
|
'upload_files_drop' => [ |
|
|
|
'enabled' => true, |
|
|
|
], |
|
|
|
|