diff --git a/src/LaunchDarkly/Integrations/TestData/FlagBuilder.php b/src/LaunchDarkly/Integrations/TestData/FlagBuilder.php index 3893aaf58..63ada503b 100644 --- a/src/LaunchDarkly/Integrations/TestData/FlagBuilder.php +++ b/src/LaunchDarkly/Integrations/TestData/FlagBuilder.php @@ -223,7 +223,7 @@ public function variationForAll(bool|int $variation): FlagBuilder */ public function valueForAll(mixed $value): FlagBuilder { - return $this->variations($value)->variationForAll(0); + return $this->variations($value)->variationForAll(0)->offVariation(0); } /** diff --git a/tests/Integrations/TestDataTest.php b/tests/Integrations/TestDataTest.php index 3d9653ce0..13254f383 100644 --- a/tests/Integrations/TestDataTest.php +++ b/tests/Integrations/TestDataTest.php @@ -435,4 +435,24 @@ public function testUsingTestDataInClientEvaluations() $context3 = LDContext::builder("x")->set("firstName", "Patsy")->set("lastName", "Smith")->build(); $this->assertTrue($client->variation("flag", $context3)); } + + public function testValueForAllReturnsValueWhetherTargetingIsOnOrOff() + { + $td = new TestData(); + $flag = $td->flag('flag')->valueForAll('x'); + + $this->assertEquals(['x'], $flag->build(1)['variations']); + $this->assertEquals(0, $flag->build(1)['offVariation']); + + $td->update($flag->on(false)); + + $options = [ + 'feature_requester' => $td, + 'event_processor' => new Tests\MockEventProcessor() + ]; + $client = new LDClient("someKey", $options); + + $context = LDContext::create("user-key"); + $this->assertEquals('x', $client->variation('flag', $context, 'default')); + } }