2021-06-26 11:23:15 -04:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Tests\Permissions;
|
2021-01-01 18:58:53 -05:00
|
|
|
|
|
|
|
use BookStack\Auth\User;
|
|
|
|
use Tests\TestCase;
|
|
|
|
|
|
|
|
class EntityOwnerChangeTest extends TestCase
|
|
|
|
{
|
|
|
|
public function test_changing_page_owner()
|
|
|
|
{
|
2022-09-29 12:31:38 -04:00
|
|
|
$page = $this->entities->page();
|
2021-01-01 18:58:53 -05:00
|
|
|
$user = User::query()->where('id', '!=', $page->owned_by)->first();
|
|
|
|
|
|
|
|
$this->asAdmin()->put($page->getUrl('permissions'), ['owned_by' => $user->id]);
|
|
|
|
$this->assertDatabaseHas('pages', ['owned_by' => $user->id, 'id' => $page->id]);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function test_changing_chapter_owner()
|
|
|
|
{
|
2022-09-29 12:31:38 -04:00
|
|
|
$chapter = $this->entities->chapter();
|
2021-01-01 18:58:53 -05:00
|
|
|
$user = User::query()->where('id', '!=', $chapter->owned_by)->first();
|
|
|
|
|
|
|
|
$this->asAdmin()->put($chapter->getUrl('permissions'), ['owned_by' => $user->id]);
|
|
|
|
$this->assertDatabaseHas('chapters', ['owned_by' => $user->id, 'id' => $chapter->id]);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function test_changing_book_owner()
|
|
|
|
{
|
2022-09-29 12:31:38 -04:00
|
|
|
$book = $this->entities->book();
|
2021-01-01 18:58:53 -05:00
|
|
|
$user = User::query()->where('id', '!=', $book->owned_by)->first();
|
|
|
|
|
|
|
|
$this->asAdmin()->put($book->getUrl('permissions'), ['owned_by' => $user->id]);
|
|
|
|
$this->assertDatabaseHas('books', ['owned_by' => $user->id, 'id' => $book->id]);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function test_changing_shelf_owner()
|
|
|
|
{
|
2022-09-29 12:31:38 -04:00
|
|
|
$shelf = $this->entities->shelf();
|
2021-01-01 18:58:53 -05:00
|
|
|
$user = User::query()->where('id', '!=', $shelf->owned_by)->first();
|
|
|
|
|
|
|
|
$this->asAdmin()->put($shelf->getUrl('permissions'), ['owned_by' => $user->id]);
|
|
|
|
$this->assertDatabaseHas('bookshelves', ['owned_by' => $user->id, 'id' => $shelf->id]);
|
|
|
|
}
|
2021-06-26 11:23:15 -04:00
|
|
|
}
|