Stabilize iOS UI test foundation and fix flaky suites

This commit is contained in:
Trey t
2026-02-17 22:24:08 -06:00
parent c28d7a59eb
commit 56ac783219
38 changed files with 543 additions and 585 deletions

View File

@@ -60,6 +60,7 @@ struct AppThemePickerView: View {
Button("Done") {
dismiss()
}
.accessibilityIdentifier(AccessibilityID.Customize.appThemePickerDoneButton)
}
}
.sheet(item: $selectedTheme) { theme in
@@ -250,6 +251,7 @@ struct AppThemePreviewSheet: View {
Button("Cancel") {
dismiss()
}
.accessibilityIdentifier(AccessibilityID.Customize.appThemePreviewCancelButton)
}
}
}
@@ -352,6 +354,7 @@ struct AppThemePreviewSheet: View {
.shadow(color: theme.previewColors[0].opacity(0.4), radius: 8, x: 0, y: 4)
}
.padding(.horizontal, 20)
.accessibilityIdentifier(AccessibilityID.Customize.appThemePreviewApplyButton)
}
private func iconName(for pack: MoodImages) -> String {

View File

@@ -27,26 +27,31 @@ struct MainTabView: View {
dayView
.tabItem {
Label(String(localized: "content_view_tab_main"), systemImage: "list.dash")
.accessibilityIdentifier(AccessibilityID.Tab.day)
}
monthView
.tabItem {
Label(String(localized: "content_view_tab_month"), systemImage: "calendar")
.accessibilityIdentifier(AccessibilityID.Tab.month)
}
yearView
.tabItem {
Label(String(localized: "content_view_tab_filter"), systemImage: "line.3.horizontal.decrease.circle")
.accessibilityIdentifier(AccessibilityID.Tab.year)
}
insightsView
.tabItem {
Label(String(localized: "content_view_tab_insights"), systemImage: "lightbulb.fill")
.accessibilityIdentifier(AccessibilityID.Tab.insights)
}
SettingsTabView()
.tabItem {
Label("Settings", systemImage: "gear")
.accessibilityIdentifier(AccessibilityID.Tab.settings)
}
}
.accentColor(textColor)

View File

@@ -50,7 +50,9 @@ struct SettingsTabView: View {
// Segmented control
Picker("", selection: $selectedTab) {
ForEach(SettingsTab.allCases, id: \.self) { tab in
Text(tab.rawValue).tag(tab)
Text(tab.rawValue)
.accessibilityIdentifier(tab == .customize ? AccessibilityID.Settings.customizeTab : AccessibilityID.Settings.settingsTab)
.tag(tab)
}
}
.pickerStyle(.segmented)