create(); /** @var InventoryItem $item */ $item = InventoryItem::factory()->create([ 'tenant_id' => $tenant->getKey(), 'external_id' => (string) Str::uuid(), ]); // Outbound edge for this item InventoryLink::factory()->create([ 'tenant_id' => $tenant->getKey(), 'source_type' => 'inventory_item', 'source_id' => $item->external_id, 'target_type' => 'foundation_object', 'target_id' => (string) Str::uuid(), 'relationship_type' => 'assigned_to', ]); // Inbound edge pointing to this item as target InventoryLink::factory()->create([ 'tenant_id' => $tenant->getKey(), 'source_type' => 'inventory_item', 'source_id' => (string) Str::uuid(), 'target_type' => 'inventory_item', 'target_id' => $item->external_id, 'relationship_type' => 'depends_on', ]); $svc = app(DependencyQueryService::class); $outbound = $svc->getOutboundEdges($item); $inbound = $svc->getInboundEdges($item); expect($outbound->count())->toBe(1); expect($inbound->count())->toBe(1); });