import ClawdbotDiscovery import SwiftUI import Testing @testable import Clawdbot @Suite(.serialized) @MainActor struct MasterDiscoveryMenuSmokeTests { @Test func inlineListBuildsBodyWhenEmpty() { let discovery = GatewayDiscoveryModel(localDisplayName: InstanceIdentity.displayName) discovery.statusText = "Searching…" discovery.gateways = [] let view = GatewayDiscoveryInlineList(discovery: discovery, currentTarget: nil, onSelect: { _ in }) _ = view.body } @Test func inlineListBuildsBodyWithMasterAndSelection() { let discovery = GatewayDiscoveryModel(localDisplayName: InstanceIdentity.displayName) discovery.statusText = "Found 1" discovery.gateways = [ GatewayDiscoveryModel.DiscoveredGateway( displayName: "Office Mac", lanHost: "office.local", tailnetDns: "office.tailnet-123.ts.net", sshPort: 2222, gatewayPort: nil, cliPath: nil, stableID: "office", debugID: "office", isLocal: false), ] let currentTarget = "\(NSUserName())@office.tailnet-123.ts.net:2222" let view = GatewayDiscoveryInlineList(discovery: discovery, currentTarget: currentTarget, onSelect: { _ in }) _ = view.body } @Test func menuBuildsBodyWithMasters() { let discovery = GatewayDiscoveryModel(localDisplayName: InstanceIdentity.displayName) discovery.statusText = "Found 2" discovery.gateways = [ GatewayDiscoveryModel.DiscoveredGateway( displayName: "A", lanHost: "a.local", tailnetDns: nil, sshPort: 22, gatewayPort: nil, cliPath: nil, stableID: "a", debugID: "a", isLocal: false), GatewayDiscoveryModel.DiscoveredGateway( displayName: "B", lanHost: nil, tailnetDns: "b.ts.net", sshPort: 22, gatewayPort: nil, cliPath: nil, stableID: "b", debugID: "b", isLocal: false), ] let view = GatewayDiscoveryMenu(discovery: discovery, onSelect: { _ in }) _ = view.body } }