diff options
Diffstat (limited to 'tests/lib/Federation/CloudIdTest.php')
-rw-r--r-- | tests/lib/Federation/CloudIdTest.php | 42 |
1 files changed, 30 insertions, 12 deletions
diff --git a/tests/lib/Federation/CloudIdTest.php b/tests/lib/Federation/CloudIdTest.php index 4087f45622d..67683861e40 100644 --- a/tests/lib/Federation/CloudIdTest.php +++ b/tests/lib/Federation/CloudIdTest.php @@ -1,4 +1,7 @@ <?php + +declare(strict_types=1); + /** * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later @@ -7,25 +10,40 @@ namespace Test\Federation; use OC\Federation\CloudId; +use OC\Federation\CloudIdManager; +use OCP\Federation\ICloudIdManager; +use PHPUnit\Framework\MockObject\MockObject; use Test\TestCase; +/** + * @group DB + */ class CloudIdTest extends TestCase { - public function dataGetDisplayCloudId() { + protected CloudIdManager&MockObject $cloudIdManager; + + protected function setUp(): void { + parent::setUp(); + + $this->cloudIdManager = $this->createMock(CloudIdManager::class); + $this->overwriteService(ICloudIdManager::class, $this->cloudIdManager); + } + + public static function dataGetDisplayCloudId(): array { return [ - ['test@example.com', 'test@example.com'], - ['test@http://example.com', 'test@example.com'], - ['test@https://example.com', 'test@example.com'], + ['test@example.com', 'test', 'example.com', 'test@example.com'], + ['test@http://example.com', 'test', 'http://example.com', 'test@example.com'], + ['test@https://example.com', 'test', 'https://example.com', 'test@example.com'], + ['test@https://example.com', 'test', 'https://example.com', 'Beloved Amy@example.com', 'Beloved Amy'], ]; } - /** - * @dataProvider dataGetDisplayCloudId - * - * @param string $id - * @param string $display - */ - public function testGetDisplayCloudId($id, $display): void { - $cloudId = new CloudId($id, '', ''); + #[\PHPUnit\Framework\Attributes\DataProvider('dataGetDisplayCloudId')] + public function testGetDisplayCloudId(string $id, string $user, string $remote, string $display, ?string $addressbookName = null): void { + $this->cloudIdManager->expects($this->once()) + ->method('getDisplayNameFromContact') + ->willReturn($addressbookName); + + $cloudId = new CloudId($id, $user, $remote); $this->assertEquals($display, $cloudId->getDisplayId()); } } |