diff --git a/src/Admin/Extension/CreateSnapshotAdminExtension.php b/src/Admin/Extension/CreateSnapshotAdminExtension.php index 9191618f0..7365daf16 100644 --- a/src/Admin/Extension/CreateSnapshotAdminExtension.php +++ b/src/Admin/Extension/CreateSnapshotAdminExtension.php @@ -41,6 +41,11 @@ public function postPersist(AdminInterface $admin, $object) $this->sendMessage($object); } + public function postRemove(AdminInterface $admin, $object) + { + $this->sendMessage($object); + } + /** * @param PageInterface $object */ diff --git a/tests/Admin/Extension/CreateSnapshotAdminExtensionTest.php b/tests/Admin/Extension/CreateSnapshotAdminExtensionTest.php index 52b7065ff..9b3a731db 100644 --- a/tests/Admin/Extension/CreateSnapshotAdminExtensionTest.php +++ b/tests/Admin/Extension/CreateSnapshotAdminExtensionTest.php @@ -95,4 +95,24 @@ public function testPostPersistOnBlock(): void $extension = new CreateSnapshotAdminExtension($backend); $extension->postPersist($admin, $block); } + + public function testPostRemoveOnBlock(): void + { + $page = $this->createMock(PageInterface::class); + $page->expects($this->once())->method('getId')->willReturn(42); + + $block = $this->createMock(PageBlockInterface::class); + $block->expects($this->once())->method('getPage')->willReturn($page); + + $admin = $this->createStub(AdminInterface::class); + + $backend = $this->createMock(BackendInterface::class); + $backend->expects($this->once())->method('createAndPublish')->with( + 'sonata.page.create_snapshot', + ['pageId' => 42] + ); + + $extension = new CreateSnapshotAdminExtension($backend); + $extension->postRemove($admin, $block); + } }