container; // Get service $service = $container->get(SmartLinkService::class); try { // Create link with destinations echo "1. Creating SmartLink...\n"; $link = $service->createLink( type: LinkType::RELEASE, title: LinkTitle::fromString('Test Album') ); echo " Created link: {$link->id->value}\n\n"; // Add destinations echo "2. Adding destinations...\n"; $service->addDestination( linkId: $link->id, platform: Platform::SPOTIFY, url: DestinationUrl::fromString('https://spotify.com/test') ); $service->addDestination( linkId: $link->id, platform: Platform::APPLE_MUSIC, url: DestinationUrl::fromString('https://apple.com/test') ); echo " Added 2 destinations\n\n"; // Get destinations before deletion echo "3. Getting destinations before deletion...\n"; $beforeDelete = $service->getDestinations($link->id); echo " Found " . count($beforeDelete) . " destinations\n\n"; // Delete link echo "4. Deleting link...\n"; $service->deleteLink($link->id); echo " Link deleted\n\n"; // Try to find deleted link echo "5. Trying to find deleted link (should throw exception)...\n"; try { $deletedLink = $service->findById($link->id); echo " ❌ ERROR: Link found when it should be deleted!\n"; } catch (\App\Domain\SmartLink\Exceptions\SmartLinkNotFoundException $e) { echo " ✅ Correctly threw SmartLinkNotFoundException: {$e->getMessage()}\n"; } catch (\Throwable $e) { echo " ❌ ERROR: Unexpected exception type: " . get_class($e) . "\n"; echo " Message: {$e->getMessage()}\n"; echo " Stack trace:\n"; echo $e->getTraceAsString() . "\n"; } echo "\n✅ Test completed\n"; } catch (\Throwable $e) { echo "❌ Test failed with exception:\n"; echo "Type: " . get_class($e) . "\n"; echo "Message: {$e->getMessage()}\n"; echo "File: {$e->getFile()}:{$e->getLine()}\n"; echo "\nStack trace:\n"; echo $e->getTraceAsString() . "\n"; exit(1); }