mirror of
https://github.com/nextcloud/server.git
synced 2026-03-14 22:53:43 -04:00
Merge pull request #52913 from nextcloud/debt/noid/use-logical-operator
This commit is contained in:
commit
9faf386303
3 changed files with 54 additions and 7 deletions
|
|
@ -4044,12 +4044,6 @@
|
|||
</TypeDoesNotContainNull>
|
||||
</file>
|
||||
<file src="lib/private/Group/Group.php">
|
||||
<InvalidArgument>
|
||||
<code><![CDATA[bool]]></code>
|
||||
</InvalidArgument>
|
||||
<InvalidOperand>
|
||||
<code><![CDATA[$hide]]></code>
|
||||
</InvalidOperand>
|
||||
<LessSpecificReturnStatement>
|
||||
<code><![CDATA[$users]]></code>
|
||||
</LessSpecificReturnStatement>
|
||||
|
|
|
|||
|
|
@ -377,7 +377,7 @@ class Group implements IGroup {
|
|||
*/
|
||||
public function hideFromCollaboration(): bool {
|
||||
return array_reduce($this->backends, function (bool $hide, GroupInterface $backend) {
|
||||
return $hide | ($backend instanceof IHideFromCollaborationBackend && $backend->hideGroup($this->gid));
|
||||
return $hide || ($backend instanceof IHideFromCollaborationBackend && $backend->hideGroup($this->gid));
|
||||
}, false);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
53
tests/lib/Group/HideFromCollaborationTest.php
Normal file
53
tests/lib/Group/HideFromCollaborationTest.php
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
|
||||
namespace Test\Group;
|
||||
|
||||
use OC\Group\Group;
|
||||
use OCP\EventDispatcher\IEventDispatcher;
|
||||
use OCP\Group\Backend\ABackend;
|
||||
use OCP\Group\Backend\IHideFromCollaborationBackend;
|
||||
use OCP\IUserManager;
|
||||
use PHPUnit\Framework\MockObject\MockObject;
|
||||
use Test\TestCase;
|
||||
|
||||
abstract class HideFromCollaborationBackendTest extends ABackend implements IHideFromCollaborationBackend {
|
||||
|
||||
}
|
||||
|
||||
class HideFromCollaborationTest extends TestCase {
|
||||
|
||||
private IUserManager&MockObject $userManager;
|
||||
private IEventDispatcher&MockObject $dispatcher;
|
||||
|
||||
protected function setUp(): void {
|
||||
parent::setUp();
|
||||
|
||||
$this->userManager = $this->createMock(IUserManager::class);
|
||||
$this->dispatcher = $this->createMock(IEventDispatcher::class);
|
||||
}
|
||||
|
||||
|
||||
public function testHideFromCollaboration(): void {
|
||||
// Arrange
|
||||
$backend1 = $this->createMock(HideFromCollaborationBackendTest::class);
|
||||
$backend1->method('hideGroup')
|
||||
->willReturn(false);
|
||||
$backend2 = $this->createMock(HideFromCollaborationBackendTest::class);
|
||||
$backend2->method('hideGroup')
|
||||
->willReturn(true);
|
||||
$group = new Group('group1', [$backend1, $backend2], $this->dispatcher, $this->userManager);
|
||||
|
||||
// Act
|
||||
$result = $group->hideFromCollaboration();
|
||||
|
||||
// Assert
|
||||
$this->assertTrue($result);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue