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);
 | |
|         }
 | |
|     }
 | |
| }
 |