| 
									
										
										
										
											2021-06-26 23:23:15 +08:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace Tests\Permissions; | 
					
						
							| 
									
										
										
										
											2021-01-02 07:58:53 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | use BookStack\Auth\User; | 
					
						
							|  |  |  | use BookStack\Entities\Models\Book; | 
					
						
							|  |  |  | use BookStack\Entities\Models\Bookshelf; | 
					
						
							|  |  |  | use BookStack\Entities\Models\Chapter; | 
					
						
							|  |  |  | use BookStack\Entities\Models\Page; | 
					
						
							|  |  |  | use Tests\TestCase; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class EntityOwnerChangeTest extends TestCase | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     public function test_changing_page_owner() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         $page = Page::query()->first(); | 
					
						
							|  |  |  |         $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() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         $chapter = Chapter::query()->first(); | 
					
						
							|  |  |  |         $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() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         $book = Book::query()->first(); | 
					
						
							|  |  |  |         $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() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         $shelf = Bookshelf::query()->first(); | 
					
						
							|  |  |  |         $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 23:23:15 +08:00
										 |  |  | } |