diff --git a/lib/private/User/User.php b/lib/private/User/User.php index e54ac397b3efe..57ee1a5958ee4 100644 --- a/lib/private/User/User.php +++ b/lib/private/User/User.php @@ -119,7 +119,7 @@ public function getDisplayName(): string { public function setDisplayName($displayName): bool { $displayName = trim($displayName); $oldDisplayName = $this->getDisplayName(); - if ($this->backend->implementsActions(Backend::SET_DISPLAYNAME) && !empty($displayName) && $displayName !== $oldDisplayName) { + if ($this->backend instanceof ISetDisplayNameBackend || $this->backend->implementsActions(Backend::SET_DISPLAYNAME) && !empty($displayName) && $displayName !== $oldDisplayName) { /** @var ISetDisplayNameBackend $backend */ $backend = $this->backend; $result = $backend->setDisplayName($this->uid, $displayName); diff --git a/tests/lib/User/UserTest.php b/tests/lib/User/UserTest.php index 76bcac21c01af..18b78641375b2 100644 --- a/tests/lib/User/UserTest.php +++ b/tests/lib/User/UserTest.php @@ -350,7 +350,7 @@ public function testSetDisplayNameNotSupported(): void { ->method('implementsActions') ->willReturn(false); - $backend->expects($this->never()) + $backend->expects($this->once()) ->method('setDisplayName'); $user = new User('foo', $backend, $this->dispatcher);