1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
<?php
namespace Illuminate\Tests\Integration\Generators;
class ExceptionMakeCommandTest extends TestCase
{
protected $files = [
'app/Exceptions/FooException.php',
];
public function testItCanGenerateExceptionFile()
{
$this->artisan('make:exception', ['name' => 'FooException'])
->assertExitCode(0);
$this->assertFileContains([
'namespace App\Exceptions;',
'use Exception;',
'class FooException extends Exception',
], 'app/Exceptions/FooException.php');
$this->assertFileNotContains([
'public function report()',
'public function render($request)',
], 'app/Exceptions/FooException.php');
}
public function testItCanGenerateExceptionFileWithReportOption()
{
$this->artisan('make:exception', ['name' => 'FooException', '--report' => true])
->assertExitCode(0);
$this->assertFileContains([
'namespace App\Exceptions;',
'use Exception;',
'class FooException extends Exception',
'public function report()',
], 'app/Exceptions/FooException.php');
$this->assertFileNotContains([
'public function render($request)',
], 'app/Exceptions/FooException.php');
}
public function testItCanGenerateExceptionFileWithRenderOption()
{
$this->artisan('make:exception', ['name' => 'FooException', '--render' => true])
->assertExitCode(0);
$this->assertFileContains([
'namespace App\Exceptions;',
'use Exception;',
'class FooException extends Exception',
'public function render(Request $request): Response',
], 'app/Exceptions/FooException.php');
$this->assertFileNotContains([
'public function report()',
], 'app/Exceptions/FooException.php');
}
public function testItCanGenerateExceptionFileWithReportAndRenderOption()
{
$this->artisan('make:exception', ['name' => 'FooException', '--report' => true, '--render' => true])
->assertExitCode(0);
$this->assertFileContains([
'namespace App\Exceptions;',
'use Exception;',
'class FooException extends Exception',
'public function render(Request $request): Response',
'public function report()',
], 'app/Exceptions/FooException.php');
}
}
|