mirror of
https://github.com/archtechx/tenancy.git
synced 2025-12-12 11:34:03 +00:00
Add return value to execute method (#333)
* Add command for test * Write test to verify issue * Make test pass
This commit is contained in:
parent
30bab68b6a
commit
cf339a5e82
4 changed files with 76 additions and 0 deletions
38
tests/Etc/AddUserCommand.php
Normal file
38
tests/Etc/AddUserCommand.php
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Stancl\Tenancy\Tests\Etc;
|
||||
|
||||
use Illuminate\Console\Command;
|
||||
use Illuminate\Support\Str;
|
||||
use Stancl\Tenancy\Traits\HasATenantsOption;
|
||||
use Stancl\Tenancy\Traits\TenantAwareCommand;
|
||||
|
||||
class AddUserCommand extends Command
|
||||
{
|
||||
use TenantAwareCommand, HasATenantsOption;
|
||||
|
||||
/**
|
||||
* The name and signature of the console command.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $signature = 'user:add';
|
||||
|
||||
/**
|
||||
* Execute the console command.
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
User::create([
|
||||
'name' => Str::random(10),
|
||||
'email' => Str::random(10) . '@gmail.com',
|
||||
'email_verified_at' => now(),
|
||||
'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
|
||||
'remember_token' => Str::random(10),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
@ -15,5 +15,6 @@ class ConsoleKernel extends Kernel
|
|||
*/
|
||||
protected $commands = [
|
||||
ExampleCommand::class,
|
||||
AddUserCommand::class,
|
||||
];
|
||||
}
|
||||
|
|
|
|||
35
tests/Traits/TenantAwareCommandTest.php
Normal file
35
tests/Traits/TenantAwareCommandTest.php
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Stancl\Tenancy\Tests\Traits;
|
||||
|
||||
use Stancl\Tenancy\Tenant;
|
||||
use Stancl\Tenancy\Tests\TestCase;
|
||||
|
||||
class TenantAwareCommandTest extends TestCase
|
||||
{
|
||||
public $autoCreateTenant = false;
|
||||
public $autoInitTenancy = false;
|
||||
|
||||
/** @test */
|
||||
public function commands_run_globally_are_tenant_aware_and_return_valid_exit_code()
|
||||
{
|
||||
$tenant1 = Tenant::new()->save();
|
||||
$tenant2 = Tenant::new()->save();
|
||||
\Artisan::call('tenants:migrate', [
|
||||
'--tenants' => [$tenant1['id'], $tenant2['id']],
|
||||
]);
|
||||
|
||||
$this->artisan('user:add')
|
||||
->assertExitCode(1);
|
||||
|
||||
tenancy()->initializeTenancy($tenant1);
|
||||
$this->assertNotEmpty(\DB::table('users')->get());
|
||||
tenancy()->end();
|
||||
|
||||
tenancy()->initializeTenancy($tenant2);
|
||||
$this->assertNotEmpty(\DB::table('users')->get());
|
||||
tenancy()->end();
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue