diff --git a/tests/src/Kernel/Controller/WopiControllerTest.php b/tests/src/Kernel/Controller/WopiControllerTest.php index 871ae9cc..8bf0482a 100644 --- a/tests/src/Kernel/Controller/WopiControllerTest.php +++ b/tests/src/Kernel/Controller/WopiControllerTest.php @@ -469,6 +469,34 @@ public function testUserNotFound(): void { } } + /** + * Tests routes with 'wri' in the token but the user has no write permission. + * + * @covers ::wopiCheckFileInfo + * @covers ::wopiGetFile + * @covers ::wopiPutFile + */ + public function testNoWritePermission(): void { + $this->user = $this->createUser(['access content']); + $this->setCurrentUser($this->user); + $requests = [ + 'info' => $this->createRequest(write: TRUE), + 'save' => $this->createRequest( + '/contents', + 'POST', + write: TRUE, + content: 'xyz', + ), + ]; + foreach ($requests as $name => $request) { + $this->assertAccessDeniedResponse( + 'The user does not have collabora edit access for this media.', + $request, + $name, + ); + } + } + /** * {@inheritdoc} */