Initial commit device-management
tests / ci (push) Has been cancelled

This commit is contained in:
Wian Drs
2026-08-25 09:42:00 +07:00
commit 1e80be180e
1159 changed files with 149545 additions and 0 deletions
+38
View File
@@ -0,0 +1,38 @@
<?php
namespace Tests\Feature;
use App\Models\Tenant;
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Spatie\Permission\Models\Permission;
use Spatie\Permission\Models\Role;
use Tests\TestCase;
class PermissionTest extends TestCase
{
use RefreshDatabase;
public function test_role_assignments_are_tenant_scoped(): void
{
$tenantA = Tenant::factory()->create();
$tenantB = Tenant::factory()->create();
$userA = User::factory()->for($tenantA)->create();
$userB = User::factory()->for($tenantB)->create();
$permission = Permission::create(['name' => 'device.view', 'guard_name' => 'web']);
setPermissionsTeamId($tenantA->id);
$roleA = Role::create(['name' => 'NOC', 'guard_name' => 'web']);
$roleA->givePermissionTo($permission);
$userA->assignRole($roleA);
setPermissionsTeamId($tenantB->id);
$roleB = Role::create(['name' => 'NOC', 'guard_name' => 'web']);
$userB->assignRole($roleB);
setPermissionsTeamId($tenantA->id);
$this->assertTrue($userA->fresh()->can('device.view'));
setPermissionsTeamId($tenantB->id);
$this->assertFalse($userB->fresh()->can('device.view'));
}
}