mirror of
				https://github.com/pelican-dev/panel.git
				synced 2025-10-31 04:36:51 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			45 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace App\Tests\Integration;
 | |
| 
 | |
| use Illuminate\Http\Response;
 | |
| use Illuminate\Testing\Assert as PHPUnit;
 | |
| use App\Exceptions\DisplayException;
 | |
| use Illuminate\Validation\ValidationException;
 | |
| use Illuminate\Testing\TestResponse as IlluminateTestResponse;
 | |
| 
 | |
| class TestResponse extends IlluminateTestResponse
 | |
| {
 | |
|     /**
 | |
|      * Overrides the default assert status logic to dump out the error to the
 | |
|      * test output if it is caused by a 500 level error, and we were not specifically
 | |
|      * look for that status response.
 | |
|      */
 | |
|     public function assertStatus($status): TestResponse
 | |
|     {
 | |
|         $actual = $this->getStatusCode();
 | |
| 
 | |
|         // Dump the response to the screen before making the assertion which is going
 | |
|         // to fail so that debugging isn't such a nightmare.
 | |
|         if ($actual !== $status && $status !== 500) {
 | |
|             $this->dump();
 | |
|             if (!is_null($this->exception) && !$this->exception instanceof DisplayException && !$this->exception instanceof ValidationException) {
 | |
|                 dump([
 | |
|                     'exception_class' => get_class($this->exception),
 | |
|                     'message' => $this->exception->getMessage(),
 | |
|                     'trace' => $this->exception->getTrace(),
 | |
|                 ]);
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         PHPUnit::assertSame($actual, $status, "Expected status code {$status} but received {$actual}.");
 | |
| 
 | |
|         return $this;
 | |
|     }
 | |
| 
 | |
|     public function assertForbidden(): self
 | |
|     {
 | |
|         return self::assertStatus(Response::HTTP_FORBIDDEN);
 | |
|     }
 | |
| }
 | 
