feat: unify onboarding + config schema

This commit is contained in:
Peter Steinberger
2026-01-03 16:04:19 +01:00
parent 0f85080d81
commit 53baba71fa
43 changed files with 3478 additions and 1011 deletions

View File

@@ -17,7 +17,7 @@ struct OnboardingViewSmokeTests {
@Test func pageOrderOmitsWorkspaceAndIdentitySteps() {
let order = OnboardingView.pageOrder(for: .local, needsBootstrap: false)
#expect(!order.contains(7))
#expect(!order.contains(3))
#expect(order.contains(3))
}
@Test func pageOrderOmitsOnboardingChatWhenIdentityKnown() {

View File

@@ -0,0 +1,42 @@
import SwiftUI
import Testing
import ClawdisProtocol
@testable import Clawdis
@Suite(.serialized)
@MainActor
struct OnboardingWizardStepViewTests {
@Test func noteStepBuilds() {
let step = WizardStep(
id: "step-1",
type: AnyCodable("note"),
title: "Welcome",
message: "Hello",
options: nil,
initialvalue: nil,
placeholder: nil,
sensitive: nil,
executor: nil)
let view = OnboardingWizardStepView(step: step, isSubmitting: false, onSubmit: { _ in })
_ = view.body
}
@Test func selectStepBuilds() {
let options: [[String: AnyCodable]] = [
["value": AnyCodable("local"), "label": AnyCodable("Local"), "hint": AnyCodable("This Mac")],
["value": AnyCodable("remote"), "label": AnyCodable("Remote")],
]
let step = WizardStep(
id: "step-2",
type: AnyCodable("select"),
title: "Mode",
message: "Choose a mode",
options: options,
initialvalue: AnyCodable("local"),
placeholder: nil,
sensitive: nil,
executor: nil)
let view = OnboardingWizardStepView(step: step, isSubmitting: false, onSubmit: { _ in })
_ = view.body
}
}