diff --git a/pkgs/sdk/server/src/Integrations/TestData.cs b/pkgs/sdk/server/src/Integrations/TestData.cs index ca9998098..b5a2f76d9 100644 --- a/pkgs/sdk/server/src/Integrations/TestData.cs +++ b/pkgs/sdk/server/src/Integrations/TestData.cs @@ -499,7 +499,7 @@ public FlagBuilder ValueForAll(LdValue value) { _variations.Clear(); _variations.Add(value); - return VariationForAll(0); + return VariationForAll(0).OffVariation(0); } /// diff --git a/pkgs/sdk/server/test/Integrations/TestDataTest.cs b/pkgs/sdk/server/test/Integrations/TestDataTest.cs index 653dca154..f3585c6b2 100644 --- a/pkgs/sdk/server/test/Integrations/TestDataTest.cs +++ b/pkgs/sdk/server/test/Integrations/TestDataTest.cs @@ -119,6 +119,19 @@ public void FlagConfigSimpleBoolean() ); } + [Fact] + public void ValueForAllSetsOffVariationToTheValue() + { + VerifyFlag( + f => f.ValueForAll(LdValue.Of("x")), + fb => fb.On(true).Variations("x").OffVariation(0).FallthroughVariation(0) + ); + VerifyFlag( + f => f.ValueForAll(LdValue.Of("x")).On(false), + fb => fb.On(false).Variations("x").OffVariation(0).FallthroughVariation(0) + ); + } + [Fact] public void UsingBooleanConfigMethodsForcesFlagToBeBoolean() { diff --git a/pkgs/sdk/server/test/Integrations/TestDataWithClientTest.cs b/pkgs/sdk/server/test/Integrations/TestDataWithClientTest.cs index 19362e51a..5a257f148 100644 --- a/pkgs/sdk/server/test/Integrations/TestDataWithClientTest.cs +++ b/pkgs/sdk/server/test/Integrations/TestDataWithClientTest.cs @@ -51,6 +51,17 @@ public void UpdatesFlag() } } + [Fact] + public void ValueForAllReturnsValueWhenTargetingIsOff() + { + _td.Update(_td.Flag("flag").ValueForAll(LdValue.Of("x")).On(false)); + + using (var client = new LdClient(_config)) + { + Assert.Equal("x", client.StringVariation("flag", _user, "default")); + } + } + [Fact] public void UsesTargets() {