// // 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 settingsScreen.tapSettingsTab() // Verify picker still exists after switch settingsScreen.segmentedPicker .waitForExistenceOrFail(timeout: defaultTimeout, message: "Segmented picker should exist after switching to Settings") captureScreenshot(name: "settings_subtab") // Switch back to Customize settingsScreen.tapCustomizeTab() settingsScreen.segmentedPicker .waitForExistenceOrFail(timeout: defaultTimeout, message: "Segmented picker should exist after switching to Customize") captureScreenshot(name: "customize_subtab") } }