From 9de4a3d3ac4579cf16084357a56bdf97036e3475 Mon Sep 17 00:00:00 2001 From: Matthew Keeler Date: Thu, 5 Nov 2026 18:38:46 +0000 Subject: [PATCH] fix: Make TestData ValueForAll return its value when targeting is off Generated-by: termag --- pkgs/sdk/server/src/Integrations/TestData.cs | 2 +- pkgs/sdk/server/test/Integrations/TestDataTest.cs | 13 +++++++++++++ .../test/Integrations/TestDataWithClientTest.cs | 11 +++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) 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() {