// // SettingsTests.swift // Tests iOS // // Settings tab structure and segmented control tests. // import XCTest final class SettingsTests: BaseUITestCase { override var seedFixture: String? { "empty" } override var bypassSubscription: Bool { false } /// TC: Navigate to Settings and verify the header and upgrade banner appear. func testSettingsTab_ShowsHeaderAndUpgradeBanner() { let settingsScreen = TabBarScreen(app: app).tapSettings() settingsScreen.assertVisible() settingsScreen.assertUpgradeBannerVisible() captureScreenshot(name: "settings_with_upgrade_banner") } /// TC: Toggle between Customize and Settings segments. func testSettingsTab_SegmentedControlToggle() { let settingsScreen = TabBarScreen(app: app).tapSettings() settingsScreen.assertVisible() // Switch to Settings sub-tab and verify the segment exists settingsScreen.tapSettingsTab() settingsScreen.settingsSegment .waitForExistenceOrFail(timeout: defaultTimeout, message: "Settings segment should exist after tapping it") captureScreenshot(name: "settings_subtab") // Switch back to Customize and verify settingsScreen.tapCustomizeTab() settingsScreen.customizeSegment .waitForExistenceOrFail(timeout: defaultTimeout, message: "Customize segment should exist after tapping it") captureScreenshot(name: "customize_subtab") } }