Laravel 11 PHPUnit tests Passport install

26 Views Asked by At

Before doing tests, I am doing migrations from scratch, and I am using normal MySQL for that; here is the coding I am using to run migrations.

public function manageDatabase(): void
{
    Artisan::call('config:clear');
    Artisan::call('migrate:fresh --seed');
    Artisan::call('passport:install');
    Artisan::call('config:clear');
}

The problem is that Artisan::call('passport:install'); is not running (I got it from the stack trace), and the error is where I am only asserting true is true.

  1. Tests\Unit\ExampleTest::test_that_true_is_true ErrorException: stream_isatty(): 1 bytes of buffered data lost during stream conversion!

Stack trace:

{PATH}\vendor\laravel\framework\src\Illuminate\Foundation\Bootstrap\HandleExceptions.php:256
{PATH}\vendor\laravel\framework\src\Illuminate\Console\Concerns\ConfiguresPrompts.php:30
{PATH}\vendor\laravel\framework\src\Illuminate\Console\Command.php:178
{PATH}\vendor\laravel\framework\src\Illuminate\Console\Concerns\CallsCommands.php:67
{PATH}\vendor\laravel\framework\src\Illuminate\Console\Concerns\CallsCommands.php:28
{PATH}\vendor\laravel\passport\src\Console\InstallCommand.php:43
{PATH}\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php:36
{PATH}\vendor\laravel\framework\src\Illuminate\Container\Util.php:41
{PATH}\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php:93
{PATH}\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php:35
{PATH}\vendor\laravel\framework\src\Illuminate\Container\Container.php:662
{PATH}\vendor\laravel\framework\src\Illuminate\Console\Command.php:212
{PATH}\vendor\symfony\console\Command\Command.php:279
{PATH}\vendor\laravel\framework\src\Illuminate\Console\Command.php:181
{PATH}\vendor\symfony\console\Application.php:1031
{PATH}\vendor\symfony\console\Application.php:318
{PATH}\vendor\symfony\console\Application.php:169
{PATH}\vendor\laravel\framework\src\Illuminate\Console\Application.php:162
{PATH}\vendor\laravel\framework\src\Illuminate\Foundation\Console\Kernel.php:423
{PATH}\vendor\laravel\framework\src\Illuminate\Support\Facades\Facade.php:357
{PATH}\tests\TestDatabaseTrait.php:19
{PATH}\tests\Unit\ExampleTest.php:15

WHERE TestDatabaseTrait.php:19 is Artisan::call('passport:install');

And indeed, the oauth_clients table is empty. How can we fix that?

0

There are 0 best solutions below