@@ -96,13 +96,14 @@ def test_get_environment_flags_uses_local_environment_when_available(
9696
9797def test_get_environment_flags_omits_segments_from_evaluation_context (
9898 mocker : MockerFixture ,
99- flagsmith : Flagsmith ,
99+ local_eval_flagsmith : Flagsmith ,
100100 evaluation_context : SDKEvaluationContext ,
101101) -> None :
102102 # Given
103- flagsmith ._evaluation_context = evaluation_context
104- flagsmith .enable_local_evaluation = True
105- mock_engine = mocker .patch ("flagsmith.flagsmith.engine" )
103+ mock_get_evaluation_result = mocker .patch (
104+ "flagsmith.flagsmith.engine.get_evaluation_result" ,
105+ autospec = True ,
106+ )
106107
107108 expected_evaluation_result = {
108109 "flags" : {
@@ -116,17 +117,16 @@ def test_get_environment_flags_omits_segments_from_evaluation_context(
116117 "segments" : [],
117118 }
118119
119- mock_engine . get_evaluation_result .return_value = expected_evaluation_result
120+ mock_get_evaluation_result .return_value = expected_evaluation_result
120121
121122 # When
122- flagsmith .get_environment_flags ()
123+ local_eval_flagsmith .get_environment_flags ()
123124
124125 # Then
125- mock_engine .get_evaluation_result .assert_called_once ()
126- call_args = mock_engine .get_evaluation_result .call_args
127- context = call_args [1 ]["context" ] # Keyword argument 'context'
128- # Segments should not be present in the context passed to the engine
129- assert "segments" not in context
126+ # Verify segments are not present in the context passed to the engine
127+ context_without_segments = evaluation_context .copy ()
128+ context_without_segments .pop ("segments" , None )
129+ mock_get_evaluation_result .assert_called_once_with (context = context_without_segments )
130130
131131
132132@responses .activate ()
@@ -228,13 +228,13 @@ def test_get_identity_flags_uses_local_environment_when_available(
228228
229229def test_get_identity_flags_includes_segments_in_evaluation_context (
230230 mocker : MockerFixture ,
231- flagsmith : Flagsmith ,
232- evaluation_context : SDKEvaluationContext ,
231+ local_eval_flagsmith : Flagsmith ,
233232) -> None :
234233 # Given
235- flagsmith ._evaluation_context = evaluation_context
236- flagsmith .enable_local_evaluation = True
237- mock_engine = mocker .patch ("flagsmith.flagsmith.engine" )
234+ mock_get_evaluation_result = mocker .patch (
235+ "flagsmith.flagsmith.engine.get_evaluation_result" ,
236+ autospec = True ,
237+ )
238238
239239 expected_evaluation_result = {
240240 "flags" : {
@@ -251,19 +251,16 @@ def test_get_identity_flags_includes_segments_in_evaluation_context(
251251 identifier = "identifier"
252252 traits = {"some_trait" : "some_value" }
253253
254- mock_engine . get_evaluation_result .return_value = expected_evaluation_result
254+ mock_get_evaluation_result .return_value = expected_evaluation_result
255255
256256 # When
257- flagsmith .get_identity_flags (identifier , traits )
257+ local_eval_flagsmith .get_identity_flags (identifier , traits )
258258
259259 # Then
260- mock_engine . get_evaluation_result . assert_called_once ()
261- call_args = mock_engine . get_evaluation_result .call_args
260+ # Verify segments are present in the context passed to the engine for identity flags
261+ call_args = mock_get_evaluation_result .call_args
262262 context = call_args [1 ]["context" ]
263- # Segments should be present in the context passed to the engine for identity flags
264263 assert "segments" in context
265- # Verify segments from evaluation_context are preserved
266- assert context ["segments" ] == evaluation_context ["segments" ]
267264
268265
269266@responses .activate ()
0 commit comments