62 lines
2.0 KiB
Swift
62 lines
2.0 KiB
Swift
import SwiftUI
|
|
import Testing
|
|
@testable import Clawdbot
|
|
|
|
@Suite(.serialized)
|
|
@MainActor
|
|
struct MasterDiscoveryMenuSmokeTests {
|
|
@Test func inlineListBuildsBodyWhenEmpty() {
|
|
let discovery = GatewayDiscoveryModel()
|
|
discovery.statusText = "Searching…"
|
|
discovery.gateways = []
|
|
|
|
let view = GatewayDiscoveryInlineList(discovery: discovery, currentTarget: nil, onSelect: { _ in })
|
|
_ = view.body
|
|
}
|
|
|
|
@Test func inlineListBuildsBodyWithMasterAndSelection() {
|
|
let discovery = GatewayDiscoveryModel()
|
|
discovery.statusText = "Found 1"
|
|
discovery.gateways = [
|
|
GatewayDiscoveryModel.DiscoveredGateway(
|
|
displayName: "Office Mac",
|
|
lanHost: "office.local",
|
|
tailnetDns: "office.tailnet-123.ts.net",
|
|
sshPort: 2222,
|
|
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()
|
|
discovery.statusText = "Found 2"
|
|
discovery.gateways = [
|
|
GatewayDiscoveryModel.DiscoveredGateway(
|
|
displayName: "A",
|
|
lanHost: "a.local",
|
|
tailnetDns: nil,
|
|
sshPort: 22,
|
|
stableID: "a",
|
|
debugID: "a",
|
|
isLocal: false),
|
|
GatewayDiscoveryModel.DiscoveredGateway(
|
|
displayName: "B",
|
|
lanHost: nil,
|
|
tailnetDns: "b.ts.net",
|
|
sshPort: 22,
|
|
stableID: "b",
|
|
debugID: "b",
|
|
isLocal: false),
|
|
]
|
|
|
|
let view = GatewayDiscoveryMenu(discovery: discovery, onSelect: { _ in })
|
|
_ = view.body
|
|
}
|
|
}
|