mirror of
https://github.com/pestphp/pest.git
synced 2026-03-06 15:57:21 +01:00
Merge pull request #297 from owenvoke/bugfix/laravel-commands
fix: resolve test directory before function call
This commit is contained in:
@ -9,6 +9,7 @@ use Illuminate\Support\Facades\File;
|
|||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
use Pest\Exceptions\InvalidConsoleArgument;
|
use Pest\Exceptions\InvalidConsoleArgument;
|
||||||
use function Pest\testDirectory;
|
use function Pest\testDirectory;
|
||||||
|
use Pest\TestSuite;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @internal
|
* @internal
|
||||||
@ -20,7 +21,8 @@ final class PestDatasetCommand extends Command
|
|||||||
*
|
*
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
protected $signature = 'pest:dataset {name : The name of the dataset}';
|
protected $signature = 'pest:dataset {name : The name of the dataset}
|
||||||
|
{--test-directory=tests : The name of the tests directory}';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The console command description.
|
* The console command description.
|
||||||
@ -34,6 +36,9 @@ final class PestDatasetCommand extends Command
|
|||||||
*/
|
*/
|
||||||
public function handle(): void
|
public function handle(): void
|
||||||
{
|
{
|
||||||
|
/* @phpstan-ignore-next-line */
|
||||||
|
TestSuite::getInstance(base_path(), $this->option('test-directory'));
|
||||||
|
|
||||||
/** @var string $name */
|
/** @var string $name */
|
||||||
$name = $this->argument('name');
|
$name = $this->argument('name');
|
||||||
|
|
||||||
|
|||||||
@ -9,6 +9,7 @@ use Illuminate\Support\Facades\File;
|
|||||||
use Pest\Console\Thanks;
|
use Pest\Console\Thanks;
|
||||||
use Pest\Exceptions\InvalidConsoleArgument;
|
use Pest\Exceptions\InvalidConsoleArgument;
|
||||||
use function Pest\testDirectory;
|
use function Pest\testDirectory;
|
||||||
|
use Pest\TestSuite;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @internal
|
* @internal
|
||||||
@ -20,7 +21,7 @@ final class PestInstallCommand extends Command
|
|||||||
*
|
*
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
protected $signature = 'pest:install';
|
protected $signature = 'pest:install {--test-directory=tests : The name of the tests directory}';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The console command description.
|
* The console command description.
|
||||||
@ -34,6 +35,9 @@ final class PestInstallCommand extends Command
|
|||||||
*/
|
*/
|
||||||
public function handle(): void
|
public function handle(): void
|
||||||
{
|
{
|
||||||
|
/* @phpstan-ignore-next-line */
|
||||||
|
TestSuite::getInstance(base_path(), $this->option('test-directory'));
|
||||||
|
|
||||||
/* @phpstan-ignore-next-line */
|
/* @phpstan-ignore-next-line */
|
||||||
$pest = base_path(testDirectory('Pest.php'));
|
$pest = base_path(testDirectory('Pest.php'));
|
||||||
$stubs = 'stubs/Laravel';
|
$stubs = 'stubs/Laravel';
|
||||||
|
|||||||
@ -9,6 +9,7 @@ use Illuminate\Support\Facades\File;
|
|||||||
use Pest\Exceptions\InvalidConsoleArgument;
|
use Pest\Exceptions\InvalidConsoleArgument;
|
||||||
use Pest\Support\Str;
|
use Pest\Support\Str;
|
||||||
use function Pest\testDirectory;
|
use function Pest\testDirectory;
|
||||||
|
use Pest\TestSuite;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @internal
|
* @internal
|
||||||
@ -20,7 +21,7 @@ final class PestTestCommand extends Command
|
|||||||
*
|
*
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
protected $signature = 'pest:test {name : The name of the file} {--unit : Create a unit test} {--dusk : Create a Dusk test}';
|
protected $signature = 'pest:test {name : The name of the file} {--unit : Create a unit test} {--dusk : Create a Dusk test} {--test-directory=tests : The name of the tests directory}';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The console command description.
|
* The console command description.
|
||||||
@ -34,12 +35,16 @@ final class PestTestCommand extends Command
|
|||||||
*/
|
*/
|
||||||
public function handle(): void
|
public function handle(): void
|
||||||
{
|
{
|
||||||
|
/* @phpstan-ignore-next-line */
|
||||||
|
TestSuite::getInstance(base_path(), $this->option('test-directory'));
|
||||||
|
|
||||||
/** @var string $name */
|
/** @var string $name */
|
||||||
$name = $this->argument('name');
|
$name = $this->argument('name');
|
||||||
|
|
||||||
$type = ((bool) $this->option('unit')) ? 'Unit' : (((bool) $this->option('dusk')) ? 'Browser' : 'Feature');
|
$type = ((bool) $this->option('unit')) ? 'Unit' : (((bool) $this->option('dusk')) ? 'Browser' : 'Feature');
|
||||||
|
|
||||||
$relativePath = sprintf(testDirectory('%s/%s.php'),
|
$relativePath = sprintf(
|
||||||
|
testDirectory('%s/%s.php'),
|
||||||
$type,
|
$type,
|
||||||
ucfirst($name)
|
ucfirst($name)
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user