123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- <?php
- /**
- * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
- namespace Core\Controller;
- use OC\Core\Controller\GuestAvatarController;
- use OCP\AppFramework\Http\FileDisplayResponse;
- use OCP\Files\SimpleFS\ISimpleFile;
- use OCP\IAvatar;
- use OCP\IAvatarManager;
- use OCP\IRequest;
- use Psr\Log\LoggerInterface;
- /**
- * This class provides tests for the guest avatar controller.
- */
- class GuestAvatarControllerTest extends \Test\TestCase {
- /**
- * @var GuestAvatarController
- */
- private $guestAvatarController;
- /**
- * @var IRequest|\PHPUnit\Framework\MockObject\MockObject
- */
- private $request;
- /**
- * @var IAvatarManager|\PHPUnit\Framework\MockObject\MockObject
- */
- private $avatarManager;
- /**
- * @var IAvatar|\PHPUnit\Framework\MockObject\MockObject
- */
- private $avatar;
- /**
- * @var \OCP\Files\File|\PHPUnit\Framework\MockObject\MockObject
- */
- private $file;
- /**
- * @var LoggerInterface|\PHPUnit\Framework\MockObject\MockObject
- */
- private $logger;
- /**
- * Sets up the test environment.
- */
- protected function setUp(): void {
- parent::setUp();
- $this->logger = $this->getMockBuilder(LoggerInterface::class)->getMock();
- $this->request = $this->getMockBuilder(IRequest::class)->getMock();
- $this->avatar = $this->getMockBuilder(IAvatar::class)->getMock();
- $this->avatarManager = $this->getMockBuilder(IAvatarManager::class)->getMock();
- $this->file = $this->getMockBuilder(ISimpleFile::class)->getMock();
- $this->file->method('getName')->willReturn('my name');
- $this->file->method('getMTime')->willReturn(42);
- $this->guestAvatarController = new GuestAvatarController(
- 'core',
- $this->request,
- $this->avatarManager,
- $this->logger
- );
- }
- /**
- * Tests getAvatar returns the guest avatar.
- */
- public function testGetAvatar(): void {
- $this->avatarManager->expects($this->once())
- ->method('getGuestAvatar')
- ->with('Peter')
- ->willReturn($this->avatar);
- $this->avatar->expects($this->once())
- ->method('getFile')
- ->with(512)
- ->willReturn($this->file);
- $this->file->method('getMimeType')
- ->willReturn('image/svg+xml');
- $response = $this->guestAvatarController->getAvatar('Peter', 128);
- $this->assertGreaterThanOrEqual(201, $response->getStatus());
- $this->assertInstanceOf(FileDisplayResponse::class, $response);
- }
- }
|