create(['role' => User::ROLE_SUPER_ADMIN]); $tenantA = Tenant::factory()->create(); $tenantB = Tenant::factory()->create(); $response = $this->actingAs($superAdmin)->postJson('/api/v1/admin/trucks', [ 'plate_number' => 'TST-1234', 'model' => 'Isuzu', 'capacity_kg' => 1000, 'status' => Truck::STATUS_ACTIVE, 'tenant_id' => $tenantB->uuid, ]); $response->assertStatus(201); $this->assertDatabaseHas('trucks', [ 'plate_number' => 'TST-1234', 'tenant_id' => $tenantB->id, ]); } public function test_admin_cannot_assign_lgu() { $tenantA = Tenant::factory()->create(); $tenantB = Tenant::factory()->create(); $admin = User::factory()->create([ 'role' => User::ROLE_ADMIN, 'tenant_id' => $tenantA->id, ]); $response = $this->actingAs($admin) ->withHeaders(['X-Tenant-Code' => $tenantA->code]) ->postJson('/api/v1/admin/trucks', [ 'plate_number' => 'TST-5678', 'model' => 'Isuzu', 'capacity_kg' => 1000, 'status' => Truck::STATUS_ACTIVE, 'tenant_id' => $tenantB->uuid, // Admin tries to set tenantB ]); $response->assertStatus(201); $this->assertDatabaseHas('trucks', [ 'plate_number' => 'TST-5678', 'tenant_id' => $admin->tenant_id, ]); } }