Files
WMS/Modules/Warehouse/tests/Feature/WarehouseIsolationTest.php
2026-09-21 10:14:57 +01:00

33 lines
1.1 KiB
PHP
Executable File

<?php
namespace Modules\Warehouse\tests\Feature;
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Modules\Company\Models\Company;
use Modules\Platform\app\Models\LicenseKey;
use Modules\Warehouse\app\Models\Warehouse;
use Tests\TestCase;
class WarehouseIsolationTest extends TestCase
{
use RefreshDatabase;
public function test_company_user_only_sees_their_warehouses(): void
{
$companyA = Company::create(['name' => 'A Ltd', 'slug' => 'a-ltd']);
$companyB = Company::create(['name' => 'B Ltd', 'slug' => 'b-ltd']);
LicenseKey::issueFor($companyA, 'A licence');
$user = User::factory()->create(['company_id' => $companyA->id]);
Warehouse::create(['company_id' => $companyA->id, 'code' => 'A1', 'name' => 'A Warehouse']);
Warehouse::create(['company_id' => $companyB->id, 'code' => 'B1', 'name' => 'B Warehouse']);
$this->actingAs($user)
->get('/warehouses')
->assertOk()
->assertSee('A Warehouse')
->assertDontSee('B Warehouse');
}
}