// // 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 upgrade banner. func testTrialExpired_ShowsExpiredBanner() { let settingsScreen = TabBarScreen(app: app).tapSettings() settingsScreen.assertVisible() settingsScreen.assertUpgradeBannerVisible() captureScreenshot(name: "trial_expired_banner") } /// TC-078: When trial is expired, "Trial expired" text is shown. func testTrialExpired_ShowsExpiredText() { let settingsScreen = TabBarScreen(app: app).tapSettings() settingsScreen.assertVisible() let expiredText = app.staticTexts["Trial expired"] expiredText.waitForExistenceOrFail( timeout: navigationTimeout, message: "Settings should show 'Trial expired' text when trial has expired" ) captureScreenshot(name: "trial_expired_text") } }