import Testing @testable import PediFoods @Test("FeatureFlagValue.boolValue passes through a boolean case directly") func featureFlagValueBoolValuePassesThroughBoolean() { #expect(FeatureFlagValue.boolean(true).boolValue == true) #expect(FeatureFlagValue.boolean(false).boolValue == false) } @Test("FeatureFlagValue.boolValue treats 'on'/'true' text as true, case-insensitively") func featureFlagValueBoolValueTextVariants() { #expect(FeatureFlagValue.text("on").boolValue == true) #expect(FeatureFlagValue.text("ON").boolValue == true) #expect(FeatureFlagValue.text("true").boolValue == true) #expect(FeatureFlagValue.text("off").boolValue == false) #expect(FeatureFlagValue.text("something-else").boolValue == false) } @Test("FeatureFlagsState.isEnabled prefers the raw flag over the mapped value") func featureFlagsStateIsEnabledPrefersRaw() { var state = FeatureFlagsState() state.raw["promo"] = FeatureControlRawFlag(enabled: true, variant: "on", payload: nil, reason: nil) state.values["promo"] = .boolean(false) #expect(state.isEnabled("promo") == true) } @Test("FeatureFlagsState.isEnabled treats a raw flag as enabled when its variant is 'on' even if enabled is false") func featureFlagsStateIsEnabledRawVariantOn() { var state = FeatureFlagsState() state.raw["promo"] = FeatureControlRawFlag(enabled: false, variant: "on", payload: nil, reason: nil) #expect(state.isEnabled("promo") == true) } @Test("FeatureFlagsState.isEnabled falls back to the mapped value when no raw flag exists") func featureFlagsStateIsEnabledFallsBackToValues() { var state = FeatureFlagsState() state.values["promo"] = .text("on") #expect(state.isEnabled("promo") == true) } @Test("FeatureFlagsState.isEnabled falls back to the given default when the key is unknown") func featureFlagsStateIsEnabledFallsBackToDefault() { let state = FeatureFlagsState() #expect(state.isEnabled("unknown-key") == false) #expect(state.isEnabled("unknown-key", default: true) == true) }