]> BookStack Code Mirror - bookstack/commitdiff
Added test to cover books perms. gen with deleted chapter
authorDan Brown <redacted>
Thu, 10 Nov 2022 13:48:17 +0000 (13:48 +0000)
committerDan Brown <redacted>
Thu, 10 Nov 2022 13:48:17 +0000 (13:48 +0000)
Closes #3796

tests/Permissions/EntityPermissionsTest.php

index 6b99ba365defa99e19bf49a50501dc31c371882a..4b613b49ce07b6313daf3fc1d1eb67fb8d37713a 100644 (file)
@@ -8,6 +8,7 @@ use BookStack\Entities\Models\Bookshelf;
 use BookStack\Entities\Models\Chapter;
 use BookStack\Entities\Models\Entity;
 use BookStack\Entities\Models\Page;
+use Exception;
 use Illuminate\Support\Str;
 use Tests\TestCase;
 
@@ -653,4 +654,22 @@ class EntityPermissionsTest extends TestCase
         ]);
         $resp->assertRedirect($book->getUrl('/page/test-page'));
     }
+
+    public function test_book_permissions_can_be_generated_without_error_if_child_chapter_is_in_recycle_bin()
+    {
+        $book = $this->entities->bookHasChaptersAndPages();
+        /** @var Chapter $chapter */
+        $chapter = $book->chapters()->first();
+
+        $this->asAdmin()->delete($chapter->getUrl());
+
+        $error = null;
+        try {
+            $this->entities->setPermissions($book, ['view'], []);
+        } catch (Exception $e) {
+            $error = $e;
+        }
+
+        $this->assertNull($error);
+    }
 }