//
//  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")
    }
}
