Fix unit tests

Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
Joas Schilling 2020-06-18 11:33:43 +02:00
parent 9ff7a9c38e
commit 1151394739
No known key found for this signature in database
GPG Key ID: 7076EA9751AACDDA
2 changed files with 48 additions and 38 deletions

View File

@ -153,7 +153,7 @@ class UserPlugin implements ISearchPlugin {
if ($this->shareWithGroupOnly) { if ($this->shareWithGroupOnly) {
// Only add, if we have a common group // Only add, if we have a common group
$commonGroups = array_intersect($userGroupIds, $this->groupManager->getUserGroupIds($user)); $commonGroups = array_intersect($currentUserGroups, $this->groupManager->getUserGroupIds($user));
$addUser = !empty($commonGroups); $addUser = !empty($commonGroups);
} }

View File

@ -275,7 +275,7 @@ class UserPluginTest extends TestCase {
true, true,
['abc', 'xyz'], ['abc', 'xyz'],
[ [
['abc', 'test', 2, 0, [$this->getUserMock('test1', 'Test One')]], ['abc', 'test', 2, 0, ['test1' => 'Test One']],
['xyz', 'test', 2, 0, []], ['xyz', 'test', 2, 0, []],
], ],
[], [],
@ -284,6 +284,7 @@ class UserPluginTest extends TestCase {
], ],
true, true,
false, false,
[['test1', $this->getUserMock('test1', 'Test One')]],
], ],
[ [
'test', 'test',
@ -291,13 +292,14 @@ class UserPluginTest extends TestCase {
false, false,
['abc', 'xyz'], ['abc', 'xyz'],
[ [
['abc', 'test', 2, 0, [$this->getUserMock('test1', 'Test One')]], ['abc', 'test', 2, 0, ['test1' => 'Test One']],
['xyz', 'test', 2, 0, []], ['xyz', 'test', 2, 0, []],
], ],
[], [],
[], [],
true, true,
false, false,
[['test1', $this->getUserMock('test1', 'Test One')]],
], ],
[ [
'test', 'test',
@ -306,12 +308,12 @@ class UserPluginTest extends TestCase {
['abc', 'xyz'], ['abc', 'xyz'],
[ [
['abc', 'test', 2, 0, [ ['abc', 'test', 2, 0, [
$this->getUserMock('test1', 'Test One'), 'test1' => 'Test One',
$this->getUserMock('test2', 'Test Two'), 'test2' => 'Test Two',
]], ]],
['xyz', 'test', 2, 0, [ ['xyz', 'test', 2, 0, [
$this->getUserMock('test1', 'Test One'), 'test1' => 'Test One',
$this->getUserMock('test2', 'Test Two'), 'test2' => 'Test Two',
]], ]],
], ],
[], [],
@ -321,6 +323,10 @@ class UserPluginTest extends TestCase {
], ],
false, false,
false, false,
[
['test1', $this->getUserMock('test1', 'Test One')],
['test2', $this->getUserMock('test2', 'Test Two')],
],
], ],
[ [
'test', 'test',
@ -329,18 +335,22 @@ class UserPluginTest extends TestCase {
['abc', 'xyz'], ['abc', 'xyz'],
[ [
['abc', 'test', 2, 0, [ ['abc', 'test', 2, 0, [
$this->getUserMock('test1', 'Test One'), 'test1' => 'Test One',
$this->getUserMock('test2', 'Test Two'), 'test2' => 'Test Two',
]], ]],
['xyz', 'test', 2, 0, [ ['xyz', 'test', 2, 0, [
$this->getUserMock('test1', 'Test One'), 'test1' => 'Test One',
$this->getUserMock('test2', 'Test Two'), 'test2' => 'Test Two',
]], ]],
], ],
[], [],
[], [],
true, true,
false, false,
[
['test1', $this->getUserMock('test1', 'Test One')],
['test2', $this->getUserMock('test2', 'Test Two')],
],
], ],
[ [
'test', 'test',
@ -349,10 +359,10 @@ class UserPluginTest extends TestCase {
['abc', 'xyz'], ['abc', 'xyz'],
[ [
['abc', 'test', 2, 0, [ ['abc', 'test', 2, 0, [
$this->getUserMock('test', 'Test One'), 'test' => 'Test One',
]], ]],
['xyz', 'test', 2, 0, [ ['xyz', 'test', 2, 0, [
$this->getUserMock('test2', 'Test Two'), 'test2' => 'Test Two',
]], ]],
], ],
[ [
@ -363,6 +373,10 @@ class UserPluginTest extends TestCase {
], ],
false, false,
false, false,
[
['test', $this->getUserMock('test', 'Test One')],
['test2', $this->getUserMock('test2', 'Test Two')],
],
], ],
[ [
'test', 'test',
@ -371,10 +385,10 @@ class UserPluginTest extends TestCase {
['abc', 'xyz'], ['abc', 'xyz'],
[ [
['abc', 'test', 2, 0, [ ['abc', 'test', 2, 0, [
$this->getUserMock('test', 'Test One'), 'test' => 'Test One',
]], ]],
['xyz', 'test', 2, 0, [ ['xyz', 'test', 2, 0, [
$this->getUserMock('test2', 'Test Two'), 'test2' => 'Test Two',
]], ]],
], ],
[ [
@ -383,6 +397,10 @@ class UserPluginTest extends TestCase {
[], [],
true, true,
false, false,
[
['test', $this->getUserMock('test', 'Test One')],
['test2', $this->getUserMock('test2', 'Test Two')],
],
], ],
]; ];
} }
@ -399,6 +417,7 @@ class UserPluginTest extends TestCase {
* @param array $expected * @param array $expected
* @param bool $reachedEnd * @param bool $reachedEnd
* @param bool|IUser $singleUser * @param bool|IUser $singleUser
* @param array $users
*/ */
public function testSearch( public function testSearch(
$searchTerm, $searchTerm,
@ -409,7 +428,8 @@ class UserPluginTest extends TestCase {
array $exactExpected, array $exactExpected,
array $expected, array $expected,
$reachedEnd, $reachedEnd,
$singleUser $singleUser,
array $users = []
) { ) {
$this->mockConfig($shareWithGroupOnly, $shareeEnumeration, false); $this->mockConfig($shareWithGroupOnly, $shareeEnumeration, false);
$this->instantiatePlugin(); $this->instantiatePlugin();
@ -424,39 +444,29 @@ class UserPluginTest extends TestCase {
->with($searchTerm, $this->limit, $this->offset) ->with($searchTerm, $this->limit, $this->offset)
->willReturn($userResponse); ->willReturn($userResponse);
} else { } else {
$groups = array_combine($groupResponse, array_map(function ($gid) { $this->groupManager->method('getUserGroupIds')
return $this->getGroupMock($gid);
}, $groupResponse));
if ($singleUser !== false) {
$this->groupManager->method('getUserGroups')
->with($this->user) ->with($this->user)
->willReturn($groups); ->willReturn($groupResponse);
if ($singleUser !== false) {
$this->groupManager->method('getUserGroupIds') $this->groupManager->method('getUserGroupIds')
->with($singleUser) ->with($singleUser)
->willReturn($groupResponse); ->willReturn($groupResponse);
} else {
$this->groupManager->expects($this->once())
->method('getUserGroups')
->with($this->user)
->willReturn($groups);
} }
foreach ($userResponse as $groupDefinition) { $this->groupManager->method('displayNamesInGroup')
[$gid, $search, $limit, $offset, $users] = $groupDefinition; ->willReturnMap($userResponse);
$groups[$gid]->method('searchDisplayName')
->with($search, $limit, $offset)
->willReturn($users);
}
} }
if ($singleUser !== false) { if ($singleUser !== false) {
$this->userManager->expects($this->once()) $users[] = [$searchTerm, $singleUser];
->method('get')
->with($searchTerm)
->willReturn($singleUser);
} }
if (!empty($users)) {
$this->userManager->expects($this->atLeastOnce())
->method('get')
->willReturnMap($users);
}
$moreResults = $this->plugin->search($searchTerm, $this->limit, $this->offset, $this->searchResult); $moreResults = $this->plugin->search($searchTerm, $this->limit, $this->offset, $this->searchResult);
$result = $this->searchResult->asArray(); $result = $this->searchResult->asArray();