//
//  ProFeatureTests.swift
//  SportsTimeTests
//

import Testing
@testable import SportsTime

struct ProFeatureTests {
    @Test func allCases_containsExpectedFeatures() {
        let features = ProFeature.allCases
        #expect(features.contains(.unlimitedTrips))
        #expect(features.contains(.pdfExport))
        #expect(features.contains(.progressTracking))
        #expect(features.count == 3)
    }

    @Test func displayName_returnsHumanReadableString() {
        #expect(ProFeature.unlimitedTrips.displayName == "Unlimited Trips")
        #expect(ProFeature.pdfExport.displayName == "PDF Export")
        #expect(ProFeature.progressTracking.displayName == "Progress Tracking")
    }

    @Test func description_returnsMarketingCopy() {
        #expect(ProFeature.unlimitedTrips.description.contains("trips"))
        #expect(ProFeature.pdfExport.description.contains("PDF"))
        #expect(ProFeature.progressTracking.description.contains("stadium"))
    }

    @Test func icon_returnsValidSFSymbol() {
        #expect(!ProFeature.unlimitedTrips.icon.isEmpty)
        #expect(!ProFeature.pdfExport.icon.isEmpty)
        #expect(!ProFeature.progressTracking.icon.isEmpty)
    }
}
