#!/usr/bin/env nu # Test single route navigation # # Usage: nu test-single-route.nu # Example: nu test-single-route.nu /services def main [route_path: string = "/"] { let base_url = $env.BASE_URL? | default "http://localhost:3030" print $"🧭 Testing navigation to: ($route_path)" print $"🌐 Base URL: ($base_url)" # Check if server is running let health_check = try { http get $"($base_url)/health" } catch { null } if ($health_check | is-empty) { print "❌ Server not running at ($base_url)" print "💡 Start server with: just dev::with-nav-test" exit 1 } # Test route resolution print "🔍 Testing route resolution..." let response = try { http get $"($base_url)/api/nav-test/resolve?path=($route_path)" } catch { |e| print $"❌ Route test failed: ($e.msg)" exit 1 } print "✅ Route test successful" # Display route information print "📊 Route Information:" print $" Path: ($response.path)" print $" Component: ($response.component | default 'None')" print $" Language: ($response.language)" print $" Valid: ($response.valid)" print $" Resolution Time: ($response.resolution_time_ms)ms" if ($response.metadata | is-not-empty) { print " Metadata:" print $" Title Key: ($response.metadata.title_key | default 'None')" print $" Description Key: ($response.metadata.description_key | default 'None')" print $" Is Multilingual: ($response.metadata.is_multilingual)" if ($response.metadata.parameters | is-not-empty) { print $" Parameters: ($response.metadata.parameters | to json)" } } # Check if route is valid if not $response.valid { print "⚠️ Warning: Route is not valid" exit 1 } print "🎉 Navigation test completed successfully" }