mirror of
				https://github.com/pelican-dev/panel.git
				synced 2025-11-04 03:06:54 +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);
 | 
						|
    }
 | 
						|
}
 |