diff options
author | Joas Schilling <coding@schilljs.com> | 2024-01-08 12:46:59 +0100 |
---|---|---|
committer | John Molakvoæ <skjnldsv@protonmail.com> | 2024-01-15 09:15:25 +0100 |
commit | ac3f3a062904a2bca9abf77b62c8c07b1530ba99 (patch) | |
tree | 711fa489550993a5d3af9784c095f87da022699e /apps/dav/tests | |
parent | 460d72314025959b0db077fdbaf02c509903b43e (diff) | |
download | nextcloud-server-ac3f3a062904a2bca9abf77b62c8c07b1530ba99.tar.gz nextcloud-server-ac3f3a062904a2bca9abf77b62c8c07b1530ba99.zip |
fix(dav): Fix user status "Undefined array key 0 at StatusService.php#98"
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'apps/dav/tests')
-rw-r--r-- | apps/dav/tests/unit/CalDAV/Status/StatusServiceTest.php | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/apps/dav/tests/unit/CalDAV/Status/StatusServiceTest.php b/apps/dav/tests/unit/CalDAV/Status/StatusServiceTest.php index 498a0b849fa..c60f3a0c325 100644 --- a/apps/dav/tests/unit/CalDAV/Status/StatusServiceTest.php +++ b/apps/dav/tests/unit/CalDAV/Status/StatusServiceTest.php @@ -229,6 +229,50 @@ class StatusServiceTest extends TestCase { $this->service->processCalendarStatus('admin'); } + public function testCalendarNoEventObjects(): void { + $user = $this->createConfiguredMock(IUser::class, [ + 'getUID' => 'admin', + ]); + + $this->userManager->expects(self::once()) + ->method('get') + ->willReturn($user); + $this->availabilityCoordinator->expects(self::once()) + ->method('getCurrentOutOfOfficeData') + ->willReturn(null); + $this->availabilityCoordinator->expects(self::never()) + ->method('isInEffect'); + $this->cache->expects(self::once()) + ->method('get') + ->willReturn(null); + $this->cache->expects(self::once()) + ->method('set'); + $this->calendarManager->expects(self::once()) + ->method('getCalendarsForPrincipal') + ->willReturn([$this->createMock(CalendarImpl::class)]); + $this->calendarManager->expects(self::once()) + ->method('newQuery') + ->willReturn(new CalendarQuery('admin')); + $this->timeFactory->expects(self::exactly(2)) + ->method('getDateTime') + ->willReturn(new \DateTime()); + $this->userStatusService->expects(self::once()) + ->method('findByUserId') + ->willThrowException(new DoesNotExistException('')); + $this->calendarManager->expects(self::once()) + ->method('searchForPrincipal') + ->willReturn([['objects' => []]]); + $this->userStatusService->expects(self::once()) + ->method('revertUserStatus'); + $this->logger->expects(self::once()) + ->method('debug'); + $this->userStatusService->expects(self::never()) + ->method('setUserStatus'); + + + $this->service->processCalendarStatus('admin'); + } + public function testCalendarEvent(): void { $user = $this->createConfiguredMock(IUser::class, [ 'getUID' => 'admin', |