|
|
|
@ -37,6 +37,7 @@ use OCA\UserStatus\Service\PredefinedStatusService; |
|
|
|
|
use OCA\UserStatus\Service\StatusService; |
|
|
|
|
use OCP\AppFramework\Db\DoesNotExistException; |
|
|
|
|
use OCP\AppFramework\Utility\ITimeFactory; |
|
|
|
|
use OCP\UserStatus\IUserStatus; |
|
|
|
|
use Test\TestCase; |
|
|
|
|
|
|
|
|
|
class StatusServiceTest extends TestCase { |
|
|
|
@ -623,4 +624,44 @@ class StatusServiceTest extends TestCase { |
|
|
|
|
$actual = $this->service->removeUserStatus('john.doe'); |
|
|
|
|
$this->assertFalse($actual); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function testCleanStatusAutomaticOnline(): void { |
|
|
|
|
$status = new UserStatus(); |
|
|
|
|
$status->setStatus(IUserStatus::ONLINE); |
|
|
|
|
$status->setStatusTimestamp(1337); |
|
|
|
|
$status->setIsUserDefined(false); |
|
|
|
|
|
|
|
|
|
$this->mapper->expects(self::once()) |
|
|
|
|
->method('update') |
|
|
|
|
->with($status); |
|
|
|
|
|
|
|
|
|
parent::invokePrivate($this->service, 'cleanStatus', [$status]); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function testCleanStatusCustomOffline(): void { |
|
|
|
|
$status = new UserStatus(); |
|
|
|
|
$status->setStatus(IUserStatus::OFFLINE); |
|
|
|
|
$status->setStatusTimestamp(1337); |
|
|
|
|
$status->setIsUserDefined(true); |
|
|
|
|
|
|
|
|
|
$this->mapper->expects(self::once()) |
|
|
|
|
->method('update') |
|
|
|
|
->with($status); |
|
|
|
|
|
|
|
|
|
parent::invokePrivate($this->service, 'cleanStatus', [$status]); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function testCleanStatusCleanedAlready(): void { |
|
|
|
|
$status = new UserStatus(); |
|
|
|
|
$status->setStatus(IUserStatus::OFFLINE); |
|
|
|
|
$status->setStatusTimestamp(1337); |
|
|
|
|
$status->setIsUserDefined(false); |
|
|
|
|
|
|
|
|
|
// Don't update the status again and again when no value changed |
|
|
|
|
$this->mapper->expects(self::never()) |
|
|
|
|
->method('update') |
|
|
|
|
->with($status); |
|
|
|
|
|
|
|
|
|
parent::invokePrivate($this->service, 'cleanStatus', [$status]); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|