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