// // TrialExpirationTests.swift // Tests iOS // // TC-078: Trial expiration state is reflected in the UI. // import XCTest final class TrialExpirationTests: BaseUITestCase { override var seedFixture: String? { "empty" } override var bypassSubscription: Bool { false } override var expireTrial: Bool { true } /// TC-078: When trial is expired, Settings shows "Trial expired" text /// and the upgrade banner is visible. func testTrialExpired_ShowsExpiredBanner() { let tabBar = TabBarScreen(app: app) let settingsScreen = tabBar.tapSettings() settingsScreen.assertVisible() // Verify upgrade banner is visible (trial expired, not subscribed) settingsScreen.assertUpgradeBannerVisible() // Check for "Trial expired" text in the banner let expiredText = app.staticTexts["Trial expired"] XCTAssertTrue( expiredText.waitForExistence(timeout: 5), "Settings should show 'Trial expired' text when trial has expired" ) captureScreenshot(name: "trial_expired_banner") } }