|
4 | 4 | from pytest_lazyfixture import lazy_fixture |
5 | 5 | from pytest_mock import MockerFixture |
6 | 6 |
|
| 7 | +from flag_engine.context.mappers import map_environment_identity_to_context |
7 | 8 | from flag_engine.context.types import EvaluationContext |
| 9 | +from flag_engine.environments.models import EnvironmentModel |
| 10 | +from flag_engine.identities.models import IdentityModel |
8 | 11 | from flag_engine.segments import constants |
9 | 12 | from flag_engine.segments.evaluator import ( |
10 | 13 | _matches_context_value, |
11 | 14 | context_matches_condition, |
| 15 | + get_identity_segments, |
12 | 16 | is_context_in_segment, |
13 | 17 | ) |
14 | 18 | from flag_engine.segments.models import ( |
@@ -254,6 +258,26 @@ def test_context_in_segment_percentage_split( |
254 | 258 | assert result == expected_result |
255 | 259 |
|
256 | 260 |
|
| 261 | +def test_get_identity_segments_calls_get_context_segments( |
| 262 | + mocker: MockerFixture, |
| 263 | + environment: EnvironmentModel, |
| 264 | + identity: IdentityModel, |
| 265 | +) -> None: |
| 266 | + # Given |
| 267 | + mock_get_context_segments = mocker.patch( |
| 268 | + "flag_engine.segments.evaluator.get_context_segments" |
| 269 | + ) |
| 270 | + |
| 271 | + context = map_environment_identity_to_context(environment, identity, None) |
| 272 | + # When |
| 273 | + get_identity_segments(identity, environment) |
| 274 | + |
| 275 | + # Then |
| 276 | + mock_get_context_segments.assert_called_once_with( |
| 277 | + context, environment.project.segments |
| 278 | + ) |
| 279 | + |
| 280 | + |
257 | 281 | def test_context_in_segment_percentage_split__trait_value__calls_expected( |
258 | 282 | mocker: MockerFixture, |
259 | 283 | context: EvaluationContext, |
|
0 commit comments