mirror of
https://github.com/BookStackApp/BookStack.git
synced 2024-07-17 00:32:36 +00:00
Checked over recycle bin parent/child flows
This commit is contained in:
parent
df10b508d8
commit
b4da081552
|
@ -298,7 +298,7 @@ class Entity extends Ownable
|
||||||
return $this->chapter_id ? $this->chapter()->withTrashed()->first() : $this->book()->withTrashed()->first();
|
return $this->chapter_id ? $this->chapter()->withTrashed()->first() : $this->book()->withTrashed()->first();
|
||||||
}
|
}
|
||||||
if ($this->isA('chapter')) {
|
if ($this->isA('chapter')) {
|
||||||
return $this->book->withTrashed()->first();
|
return $this->book()->withTrashed()->first();
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -199,4 +199,34 @@ class RecycleBinTest extends TestCase
|
||||||
$this->assertDatabaseMissing('pages', ['id' => $page->id]);
|
$this->assertDatabaseMissing('pages', ['id' => $page->id]);
|
||||||
$this->assertEquals(0, Deletion::query()->count());
|
$this->assertEquals(0, Deletion::query()->count());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function test_restore_flow_when_restoring_nested_delete_first()
|
||||||
|
{
|
||||||
|
$book = Book::query()->whereHas('pages')->whereHas('chapters')->with(['pages', 'chapters'])->firstOrFail();
|
||||||
|
$chapter = $book->chapters->first();
|
||||||
|
$this->asEditor()->delete($chapter->getUrl());
|
||||||
|
$this->asEditor()->delete($book->getUrl());
|
||||||
|
|
||||||
|
$bookDeletion = $book->deletions()->first();
|
||||||
|
$chapterDeletion = $chapter->deletions()->first();
|
||||||
|
|
||||||
|
$chapterRestoreView = $this->asAdmin()->get("/settings/recycle-bin/{$chapterDeletion->id}/restore");
|
||||||
|
$chapterRestoreView->assertStatus(200);
|
||||||
|
$chapterRestoreView->assertSeeText($chapter->name);
|
||||||
|
|
||||||
|
$chapterRestore = $this->post("/settings/recycle-bin/{$chapterDeletion->id}/restore");
|
||||||
|
$chapterRestore->assertRedirect("/settings/recycle-bin");
|
||||||
|
$this->assertDatabaseMissing("deletions", ["id" => $chapterDeletion->id]);
|
||||||
|
|
||||||
|
$chapter->refresh();
|
||||||
|
$this->assertNotNull($chapter->deleted_at);
|
||||||
|
|
||||||
|
$bookRestoreView = $this->asAdmin()->get("/settings/recycle-bin/{$bookDeletion->id}/restore");
|
||||||
|
$bookRestoreView->assertStatus(200);
|
||||||
|
$bookRestoreView->assertSeeText($chapter->name);
|
||||||
|
|
||||||
|
$this->post("/settings/recycle-bin/{$bookDeletion->id}/restore");
|
||||||
|
$chapter->refresh();
|
||||||
|
$this->assertNull($chapter->deleted_at);
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user