0
0
mirror of https://github.com/nextcloud/server.git synced 2025-01-01 18:00:09 +00:00
nextcloud_server/apps/dav/tests/unit/CalDAV/CalendarManagerTest.php
Andy Scherzinger 56d4f3aa2d
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-28 14:41:28 +02:00

72 lines
1.9 KiB
PHP

<?php
/**
* SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\DAV\Tests\unit\CalDAV;
use OC\Calendar\Manager;
use OCA\DAV\CalDAV\CalDavBackend;
use OCA\DAV\CalDAV\CalendarImpl;
use OCA\DAV\CalDAV\CalendarManager;
use OCP\Calendar\IManager;
use OCP\IConfig;
use OCP\IL10N;
use PHPUnit\Framework\MockObject\MockObject;
use Psr\Log\LoggerInterface;
class CalendarManagerTest extends \Test\TestCase {
/** @var CalDavBackend | MockObject */
private $backend;
/** @var IL10N | MockObject */
private $l10n;
/** @var IConfig|MockObject */
private $config;
/** @var CalendarManager */
private $manager;
/** @var MockObject|LoggerInterface */
private $logger;
protected function setUp(): void {
parent::setUp();
$this->backend = $this->createMock(CalDavBackend::class);
$this->l10n = $this->createMock(IL10N::class);
$this->config = $this->createMock(IConfig::class);
$this->logger = $this->createMock(LoggerInterface::class);
$this->manager = new CalendarManager(
$this->backend,
$this->l10n,
$this->config,
$this->logger
);
}
public function testSetupCalendarProvider(): void {
$this->backend->expects($this->once())
->method('getCalendarsForUser')
->with('principals/users/user123')
->willReturn([
['id' => 123, 'uri' => 'blablub1'],
['id' => 456, 'uri' => 'blablub2'],
]);
/** @var IManager | MockObject $calendarManager */
$calendarManager = $this->createMock(Manager::class);
$registeredIds = [];
$calendarManager->expects($this->exactly(2))
->method('registerCalendar')
->willReturnCallback(function ($parameter) use (&$registeredIds): void {
$this->assertInstanceOf(CalendarImpl::class, $parameter);
$registeredIds[] = $parameter->getKey();
});
$this->manager->setupCalendarProvider($calendarManager, 'user123');
$this->assertEquals(['123','456'], $registeredIds);
}
}