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
|
<?php
namespace Integration\Generators;
use Illuminate\Tests\Integration\Generators\TestCase;
class InterfaceMakeCommandTest extends TestCase
{
protected $files = [
'app/Gateway.php',
'app/Contracts/Gateway.php',
'app/Interfaces/Gateway.php',
];
public function testItCanGenerateInterfaceFile()
{
$this->artisan('make:interface', ['name' => 'Gateway'])
->assertExitCode(0);
$this->assertFileContains([
'namespace App;',
'interface Gateway',
], 'app/Gateway.php');
}
public function testItCanGenerateInterfaceFileWhenContractsFolderExists()
{
$interfacesFolderPath = app_path('Contracts');
/** @var \Illuminate\Filesystem\Filesystem $files */
$files = $this->app['files'];
$files->ensureDirectoryExists($interfacesFolderPath);
$this->artisan('make:interface', ['name' => 'Gateway'])
->assertExitCode(0);
$this->assertFileContains([
'namespace App\Contracts;',
'interface Gateway',
], 'app/Contracts/Gateway.php');
$files->deleteDirectory($interfacesFolderPath);
}
public function testItCanGenerateInterfaceFileWhenInterfacesFolderExists()
{
$interfacesFolderPath = app_path('Interfaces');
/** @var \Illuminate\Filesystem\Filesystem $files */
$files = $this->app['files'];
$files->ensureDirectoryExists($interfacesFolderPath);
$this->artisan('make:interface', ['name' => 'Gateway'])
->assertExitCode(0);
$this->assertFileContains([
'namespace App\Interfaces;',
'interface Gateway',
], 'app/Interfaces/Gateway.php');
$files->deleteDirectory($interfacesFolderPath);
}
}
|