Add onboarding UI tests and improve app data management
- Add Suite0_OnboardingTests with fresh install and login test flows - Add accessibility identifiers to onboarding views for UI testing - Remove deprecated DataCache in favor of unified DataManager - Update API layer to support public upgrade-triggers endpoint - Improve onboarding first task view with better date handling - Update various views with accessibility identifiers for testing - Fix subscription feature comparison view layout - Update document detail view improvements 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -6,10 +6,11 @@ struct ResidenceFormView: View {
|
||||
@Binding var isPresented: Bool
|
||||
var onSuccess: (() -> Void)?
|
||||
@StateObject private var viewModel = ResidenceViewModel()
|
||||
@ObservedObject private var dataManager = DataManagerObservable.shared
|
||||
@FocusState private var focusedField: Field?
|
||||
|
||||
// Lookups from DataCache
|
||||
@State private var residenceTypes: [ResidenceType] = []
|
||||
// Lookups from DataManagerObservable
|
||||
private var residenceTypes: [ResidenceType] { dataManager.residenceTypes }
|
||||
|
||||
// Form fields
|
||||
@State private var name: String = ""
|
||||
@@ -196,21 +197,10 @@ struct ResidenceFormView: View {
|
||||
|
||||
private func loadResidenceTypes() {
|
||||
Task {
|
||||
// Get residence types from DataCache via APILayer
|
||||
let result = try? await APILayer.shared.getResidenceTypes(forceRefresh: false)
|
||||
if let success = result as? ApiResultSuccess<NSArray>,
|
||||
let types = success.data as? [ResidenceType] {
|
||||
await MainActor.run {
|
||||
self.residenceTypes = types
|
||||
}
|
||||
} else {
|
||||
// Fallback to DataCache directly
|
||||
await MainActor.run {
|
||||
if let cached = DataCache.shared.residenceTypes.value as? [ResidenceType] {
|
||||
self.residenceTypes = cached
|
||||
}
|
||||
}
|
||||
}
|
||||
// Trigger residence types refresh if needed
|
||||
// Residence types are now loaded from DataManagerObservable
|
||||
// Just trigger a refresh if needed
|
||||
_ = try? await APILayer.shared.getResidenceTypes(forceRefresh: false)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user