]> source.dussan.org Git - nextcloud-server.git/commitdiff
Add a unit test for guests as well 16331/head
authorJoas Schilling <coding@schilljs.com>
Thu, 11 Jul 2019 08:24:27 +0000 (10:24 +0200)
committerJoas Schilling <coding@schilljs.com>
Thu, 11 Jul 2019 08:24:27 +0000 (10:24 +0200)
Signed-off-by: Joas Schilling <coding@schilljs.com>
tests/lib/Comments/CommentTest.php

index 5fb19396d84546f538658b3284452494ab6710d6..27d75193bc7f9f2b0d51d626105f4db96c1be571 100644 (file)
@@ -155,13 +155,21 @@ class CommentTest extends TestCase {
                        [
                                'Also @"user with spaces" are now supported', ['user with spaces']
                        ],
+                       [
+                               'Also @"guest/0123456789abcdef" are now supported', [], null, ['guest/0123456789abcdef']
+                       ],
                ];
        }
 
        /**
         * @dataProvider mentionsProvider
+        *
+        * @param string $message
+        * @param array $expectedUids
+        * @param string|null $author
+        * @param array $expectedGuests
         */
-       public function testMentions($message, $expectedUids, $author = null) {
+       public function testMentions(string $message, array $expectedUids, ?string $author = null, array $expectedGuests = []): void {
                $comment = new Comment();
                $comment->setMessage($message);
                if(!is_null($author)) {
@@ -169,9 +177,15 @@ class CommentTest extends TestCase {
                }
                $mentions = $comment->getMentions();
                while($mention = array_shift($mentions)) {
-                       $uid = array_shift($expectedUids);
-                       $this->assertSame('user', $mention['type']);
-                       $this->assertSame($uid, $mention['id']);
+                       if ($mention['type'] === 'user') {
+                               $id = array_shift($expectedUids);
+                       } else if ($mention['type'] === 'guest') {
+                               $id = array_shift($expectedGuests);
+                       } else {
+                               $this->fail('Unexpected mention type');
+                               continue;
+                       }
+                       $this->assertSame($id, $mention['id']);
                }
                $this->assertEmpty($mentions);
                $this->assertEmpty($expectedUids);