X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/b4da08155255a50fae889bbc999414b6b64e3b6b..refs/pull/2700/head:/tests/RecycleBinTest.php diff --git a/tests/RecycleBinTest.php b/tests/RecycleBinTest.php index b6a9dc791..55a9571de 100644 --- a/tests/RecycleBinTest.php +++ b/tests/RecycleBinTest.php @@ -1,8 +1,11 @@ assertNotificationContains('Deleted '.$itemCount.' total items from the recycle bin'); } + public function test_permanent_delete_for_each_type() + { + /** @var Entity $entity */ + foreach ([new Bookshelf, new Book, new Chapter, new Page] as $entity) { + $entity = $entity->newQuery()->first(); + $this->asEditor()->delete($entity->getUrl()); + $deletion = Deletion::query()->orderBy('id', 'desc')->firstOrFail(); + + $deleteReq = $this->asAdmin()->delete("/settings/recycle-bin/{$deletion->id}"); + $deleteReq->assertRedirect('/settings/recycle-bin'); + $this->assertDatabaseMissing('deletions', ['id' => $deletion->id]); + $this->assertDatabaseMissing($entity->getTable(), ['id' => $entity->id]); + } + } + public function test_permanent_entity_delete_updates_existing_activity_with_entity_name() { $page = Page::query()->firstOrFail(); @@ -136,7 +154,7 @@ class RecycleBinTest extends TestCase $deletion = $page->deletions()->firstOrFail(); $this->assertDatabaseHas('activities', [ - 'key' => 'page_delete', + 'type' => 'page_delete', 'entity_id' => $page->id, 'entity_type' => $page->getMorphClass(), ]); @@ -144,16 +162,16 @@ class RecycleBinTest extends TestCase $this->asAdmin()->delete("/settings/recycle-bin/{$deletion->id}"); $this->assertDatabaseMissing('activities', [ - 'key' => 'page_delete', + 'type' => 'page_delete', 'entity_id' => $page->id, 'entity_type' => $page->getMorphClass(), ]); $this->assertDatabaseHas('activities', [ - 'key' => 'page_delete', - 'entity_id' => 0, - 'entity_type' => '', - 'extra' => $page->name, + 'type' => 'page_delete', + 'entity_id' => null, + 'entity_type' => null, + 'detail' => $page->name, ]); }