diff --git a/lib/Service/BoardService.php b/lib/Service/BoardService.php index b6e749f61..01c560102 100644 --- a/lib/Service/BoardService.php +++ b/lib/Service/BoardService.php @@ -42,6 +42,7 @@ use OCA\Deck\Event\AclUpdatedEvent; use OCA\Deck\NoPermissionException; use OCA\Deck\Notification\NotificationHelper; use OCP\AppFramework\Db\DoesNotExistException; +use OCP\AppFramework\Db\MultipleObjectsReturnedException; use OCP\EventDispatcher\IEventDispatcher; use OCP\IConfig; use OCP\IDBConnection; @@ -55,6 +56,8 @@ use OCP\IUserManager; use OCA\Deck\BadRequestException; use OCP\IURLGenerator; use OCP\Server; +use Psr\Container\ContainerExceptionInterface; +use Psr\Container\NotFoundExceptionInterface; class BoardService { private BoardMapper $boardMapper; @@ -592,12 +595,14 @@ class BoardService { } /** + * @throws DbException * @throws DoesNotExistException - * @throws \OCA\Deck\NoPermissionException - * @throws \OCP\AppFramework\Db\MultipleObjectsReturnedException - * @throws BadRequestException + * @throws NoPermissionException + * @throws MultipleObjectsReturnedException + * @throws ContainerExceptionInterface + * @throws NotFoundExceptionInterface */ - public function deleteAcl(int $id): bool { + public function deleteAcl(int $id): ?Acl { $this->permissionService->checkPermission($this->aclMapper, $id, Acl::PERMISSION_SHARE); /** @var Acl $acl */ $acl = $this->aclMapper->find($id); @@ -622,8 +627,10 @@ class BoardService { } } + $deletedAcl = $this->aclMapper->delete($acl); $this->eventDispatcher->dispatchTyped(new AclDeletedEvent($acl)); - return (bool) $this->aclMapper->delete($acl); + + return $deletedAcl; } /** diff --git a/tests/unit/Service/BoardServiceTest.php b/tests/unit/Service/BoardServiceTest.php index 128865c8e..1ebc9be41 100644 --- a/tests/unit/Service/BoardServiceTest.php +++ b/tests/unit/Service/BoardServiceTest.php @@ -427,6 +427,6 @@ class BoardServiceTest extends TestCase { ->method('delete') ->with($acl) ->willReturn($acl); - $this->assertTrue($this->service->deleteAcl(123)); + $this->assertEquals($acl, $this->service->deleteAcl(123)); } } diff --git a/tests/unit/controller/BoardControllerTest.php b/tests/unit/controller/BoardControllerTest.php index 505d96fda..fdb0ae203 100644 --- a/tests/unit/controller/BoardControllerTest.php +++ b/tests/unit/controller/BoardControllerTest.php @@ -164,10 +164,14 @@ class BoardControllerTest extends \Test\TestCase { } public function testDeleteAcl() { + $acl = $this->getMockBuilder(Acl::class) + ->disableOriginalConstructor() + ->getMock(); + $this->boardService->expects($this->once()) ->method('deleteAcl') ->with(1) - ->willReturn(true); - $this->assertEquals(true, $this->controller->deleteAcl(1)); + ->willReturn($acl); + $this->assertEquals($acl, $this->controller->deleteAcl(1)); } }