mirror of
https://github.com/hanzoai/bot.git
synced 2026-10-30 17:24:26 +00:00
Comprehensive rename of all openclaw references to hanzo-bot equivalents: - Package: openclaw → @hanzo/bot - Binary: openclaw → hanzo-bot - Types: OpenClaw* → Bot* - Env vars: OPENCLAW_* → BOT_* - Android: ai.openclaw.android → ai.hanzo.bot.android - iOS/macOS: ai.openclaw.* → ai.hanzo.* - Swift modules: OpenClaw* → Bot* - Plugins: openclaw.plugin.json → bot.plugin.json - Paths: .openclaw/ → .hanzo/bot/ - URLs: github.com/openclaw → github.com/hanzoai
58 lines
2.1 KiB
Swift
58 lines
2.1 KiB
Swift
import Foundation
|
|
import Testing
|
|
@testable import Bot
|
|
|
|
@Suite(.serialized) struct OnboardingStateStoreTests {
|
|
@Test @MainActor func shouldPresentWhenFreshAndDisconnected() {
|
|
let testDefaults = self.makeDefaults()
|
|
let defaults = testDefaults.defaults
|
|
defer { self.reset(testDefaults) }
|
|
|
|
let appModel = NodeAppModel()
|
|
appModel.gatewayServerName = nil
|
|
#expect(OnboardingStateStore.shouldPresentOnLaunch(appModel: appModel, defaults: defaults))
|
|
}
|
|
|
|
@Test @MainActor func doesNotPresentWhenConnected() {
|
|
let testDefaults = self.makeDefaults()
|
|
let defaults = testDefaults.defaults
|
|
defer { self.reset(testDefaults) }
|
|
|
|
let appModel = NodeAppModel()
|
|
appModel.gatewayServerName = "gateway"
|
|
#expect(!OnboardingStateStore.shouldPresentOnLaunch(appModel: appModel, defaults: defaults))
|
|
}
|
|
|
|
@Test @MainActor func markCompletedPersistsMode() {
|
|
let testDefaults = self.makeDefaults()
|
|
let defaults = testDefaults.defaults
|
|
defer { self.reset(testDefaults) }
|
|
|
|
let appModel = NodeAppModel()
|
|
appModel.gatewayServerName = nil
|
|
|
|
OnboardingStateStore.markCompleted(mode: .remoteDomain, defaults: defaults)
|
|
#expect(OnboardingStateStore.lastMode(defaults: defaults) == .remoteDomain)
|
|
#expect(!OnboardingStateStore.shouldPresentOnLaunch(appModel: appModel, defaults: defaults))
|
|
|
|
OnboardingStateStore.markIncomplete(defaults: defaults)
|
|
#expect(OnboardingStateStore.shouldPresentOnLaunch(appModel: appModel, defaults: defaults))
|
|
}
|
|
|
|
private struct TestDefaults {
|
|
var suiteName: String
|
|
var defaults: UserDefaults
|
|
}
|
|
|
|
private func makeDefaults() -> TestDefaults {
|
|
let suiteName = "OnboardingStateStoreTests.\(UUID().uuidString)"
|
|
return TestDefaults(
|
|
suiteName: suiteName,
|
|
defaults: UserDefaults(suiteName: suiteName) ?? .standard)
|
|
}
|
|
|
|
private func reset(_ defaults: TestDefaults) {
|
|
defaults.defaults.removePersistentDomain(forName: defaults.suiteName)
|
|
}
|
|
}
|