diff options
author | blizzz <blizzz@arthur-schiwon.de> | 2018-03-09 11:21:21 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-09 11:21:21 +0100 |
commit | 054a45c079f45ddc9f192ba852ea49ebe132f3b3 (patch) | |
tree | b43c58405cdc2ddd6a77344bbdba95ee818375c4 /tests | |
parent | 5924f9cb3089d76bf33e5d497ed79e2af9b28e7a (diff) | |
parent | 882096653e610fc1e60a521b4da42e576c3c4c7f (diff) | |
download | nextcloud-server-054a45c079f45ddc9f192ba852ea49ebe132f3b3.tar.gz nextcloud-server-054a45c079f45ddc9f192ba852ea49ebe132f3b3.zip |
Merge pull request #8710 from nextcloud/followup/8596/tests-for-user-pagination
Tests for email collaborators pagination
Diffstat (limited to 'tests')
-rw-r--r-- | tests/lib/Collaboration/Collaborators/MailPluginTest.php | 129 |
1 files changed, 111 insertions, 18 deletions
diff --git a/tests/lib/Collaboration/Collaborators/MailPluginTest.php b/tests/lib/Collaboration/Collaborators/MailPluginTest.php index 9c4836c2eb3..775941bd440 100644 --- a/tests/lib/Collaboration/Collaborators/MailPluginTest.php +++ b/tests/lib/Collaboration/Collaborators/MailPluginTest.php @@ -32,6 +32,7 @@ use OCP\Contacts\IManager; use OCP\Federation\ICloudIdManager; use OCP\IConfig; use OCP\IGroupManager; +use OCP\IUser; use OCP\IUserSession; use OCP\Share; use Test\TestCase; @@ -98,6 +99,12 @@ class MailPluginTest extends TestCase { $this->instantiatePlugin(); + $currentUser = $this->createMock(IUser::class); + $currentUser->method('getUID') + ->willReturn('current'); + $this->userSession->method('getUser') + ->willReturn($currentUser); + $this->contactsManager->expects($this->any()) ->method('search') ->with($searchTerm, ['EMAIL', 'FN']) @@ -113,15 +120,15 @@ class MailPluginTest extends TestCase { public function dataGetEmail() { return [ - ['test', [], true, ['emails' => [], 'exact' => ['emails' => []]], false, true], - ['test', [], false, ['emails' => [], 'exact' => ['emails' => []]], false, true], + ['test', [], true, ['emails' => [], 'exact' => ['emails' => []]], false, false], + ['test', [], false, ['emails' => [], 'exact' => ['emails' => []]], false, false], [ 'test@remote.com', [], true, ['emails' => [], 'exact' => ['emails' => [['label' => 'test@remote.com', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'test@remote.com']]]]], false, - true, + false, ], [ // no valid email address 'test@remote', @@ -129,7 +136,7 @@ class MailPluginTest extends TestCase { true, ['emails' => [], 'exact' => ['emails' => []]], false, - true, + false, ], [ 'test@remote.com', @@ -137,7 +144,7 @@ class MailPluginTest extends TestCase { false, ['emails' => [], 'exact' => ['emails' => [['label' => 'test@remote.com', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'test@remote.com']]]]], false, - true, + false, ], [ 'test', @@ -160,7 +167,7 @@ class MailPluginTest extends TestCase { true, ['emails' => [['label' => 'User @ Localhost (username@localhost)', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'username@localhost']]], 'exact' => ['emails' => []]], false, - true, + false, ], [ 'test', @@ -183,7 +190,7 @@ class MailPluginTest extends TestCase { false, ['emails' => [], 'exact' => ['emails' => []]], false, - true, + false, ], [ 'test@remote.com', @@ -206,7 +213,7 @@ class MailPluginTest extends TestCase { true, ['emails' => [['label' => 'User @ Localhost (username@localhost)', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'username@localhost']]], 'exact' => ['emails' => [['label' => 'test@remote.com', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'test@remote.com']]]]], false, - true, + false, ], [ 'test@remote.com', @@ -229,7 +236,7 @@ class MailPluginTest extends TestCase { false, ['emails' => [], 'exact' => ['emails' => [['label' => 'test@remote.com', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'test@remote.com']]]]], false, - true, + false, ], [ 'username@localhost', @@ -252,7 +259,7 @@ class MailPluginTest extends TestCase { true, ['emails' => [], 'exact' => ['emails' => [['label' => 'User @ Localhost (username@localhost)', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'username@localhost']]]]], true, - true, + false, ], [ 'username@localhost', @@ -275,7 +282,7 @@ class MailPluginTest extends TestCase { false, ['emails' => [], 'exact' => ['emails' => [['label' => 'User @ Localhost (username@localhost)', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'username@localhost']]]]], true, - true, + false, ], // contact with space [ @@ -299,7 +306,7 @@ class MailPluginTest extends TestCase { false, ['emails' => [], 'exact' => ['emails' => [['label' => 'User Name @ Localhost (user name@localhost)', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'user name@localhost']]]]], true, - true, + false, ], // remote with space, no contact [ @@ -323,7 +330,7 @@ class MailPluginTest extends TestCase { false, ['emails' => [], 'exact' => ['emails' => []]], false, - true, + false, ], // Local user found by email [ @@ -337,10 +344,96 @@ class MailPluginTest extends TestCase { ] ], false, - ['users' => [], 'exact' => ['users' => [['label' => 'User (test@example.com)','value' => ['shareType' => 0, 'shareWith' => 'test'],]]]], + ['users' => [], 'exact' => ['users' => [['label' => 'User (test@example.com)','value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test'],]]]], true, false, - ] + ], + // Current local user found by email => no result + [ + 'test@example.com', + [ + [ + 'FN' => 'User', + 'EMAIL' => ['test@example.com'], + 'CLOUD' => ['current@localhost'], + 'isLocalSystemBook' => true, + ] + ], + true, + ['exact' => []], + false, + false, + ], + // Pagination and "more results" for user matches byyyyyyy emails + [ + 'test@example', + [ + [ + 'FN' => 'User1', + 'EMAIL' => ['test@example.com'], + 'CLOUD' => ['test1@localhost'], + 'isLocalSystemBook' => true, + ], + [ + 'FN' => 'User2', + 'EMAIL' => ['test@example.de'], + 'CLOUD' => ['test2@localhost'], + 'isLocalSystemBook' => true, + ], + [ + 'FN' => 'User3', + 'EMAIL' => ['test@example.org'], + 'CLOUD' => ['test3@localhost'], + 'isLocalSystemBook' => true, + ], + [ + 'FN' => 'User4', + 'EMAIL' => ['test@example.net'], + 'CLOUD' => ['test4@localhost'], + 'isLocalSystemBook' => true, + ], + ], + true, + ['users' => [ + ['label' => 'User1 (test@example.com)', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ['label' => 'User2 (test@example.de)', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], + ], 'emails' => [], 'exact' => ['users' => [], 'emails' => []]], + false, + true, + ], + // Pagination and "more results" for normal emails + [ + 'test@example', + [ + [ + 'FN' => 'User1', + 'EMAIL' => ['test@example.com'], + 'CLOUD' => ['test1@localhost'], + ], + [ + 'FN' => 'User2', + 'EMAIL' => ['test@example.de'], + 'CLOUD' => ['test2@localhost'], + ], + [ + 'FN' => 'User3', + 'EMAIL' => ['test@example.org'], + 'CLOUD' => ['test3@localhost'], + ], + [ + 'FN' => 'User4', + 'EMAIL' => ['test@example.net'], + 'CLOUD' => ['test4@localhost'], + ], + ], + true, + ['emails' => [ + ['label' => 'User1 (test@example.com)', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'test@example.com']], + ['label' => 'User2 (test@example.de)', 'value' => ['shareType' => Share::SHARE_TYPE_EMAIL, 'shareWith' => 'test@example.de']], + ], 'exact' => ['emails' => []]], + false, + true, + ], ]; } @@ -422,7 +515,7 @@ class MailPluginTest extends TestCase { ], ['users' => [['label' => 'User (test@example.com)','value' => ['shareType' => 0, 'shareWith' => 'test'],]], 'emails' => [], 'exact' => ['emails' => [], 'users' => []]], false, - true, + false, [ "currentUser" => ["group1"], "User" => ["group1"] @@ -442,7 +535,7 @@ class MailPluginTest extends TestCase { ], ['emails'=> [], 'exact' => ['emails' => []]], false, - true, + false, [ "currentUser" => ["group1"], "User" => ["group2"] @@ -462,7 +555,7 @@ class MailPluginTest extends TestCase { ], ['emails' => [], 'exact' => ['emails' => [['label' => 'test@example.com', 'value' => ['shareType' => 4,'shareWith' => 'test@example.com']]]]], false, - true, + false, [ "currentUser" => ["group1"], "User" => ["group2"] |