34 lines
		
	
	
		
			1013 B
		
	
	
	
		
			PHP
		
	
	
	
		
		
			
		
	
	
			34 lines
		
	
	
		
			1013 B
		
	
	
	
		
			PHP
		
	
	
	
|  | <?php | ||
|  | 
 | ||
|  | namespace Tests\Exports; | ||
|  | 
 | ||
|  | use BookStack\Entities\Models\Book; | ||
|  | use Tests\TestCase; | ||
|  | 
 | ||
|  | class ExportUiTest extends TestCase | ||
|  | { | ||
|  |     public function test_export_option_only_visible_and_accessible_with_permission() | ||
|  |     { | ||
|  |         $book = Book::query()->whereHas('pages')->whereHas('chapters')->first(); | ||
|  |         $chapter = $book->chapters()->first(); | ||
|  |         $page = $chapter->pages()->first(); | ||
|  |         $entities = [$book, $chapter, $page]; | ||
|  |         $user = $this->users->viewer(); | ||
|  |         $this->actingAs($user); | ||
|  | 
 | ||
|  |         foreach ($entities as $entity) { | ||
|  |             $resp = $this->get($entity->getUrl()); | ||
|  |             $resp->assertSee('/export/pdf'); | ||
|  |         } | ||
|  | 
 | ||
|  |         $this->permissions->removeUserRolePermissions($user, ['content-export']); | ||
|  | 
 | ||
|  |         foreach ($entities as $entity) { | ||
|  |             $resp = $this->get($entity->getUrl()); | ||
|  |             $resp->assertDontSee('/export/pdf'); | ||
|  |             $resp = $this->get($entity->getUrl('/export/pdf')); | ||
|  |             $this->assertPermissionError($resp); | ||
|  |         } | ||
|  |     } | ||
|  | } |