|
9 | 9 | from rest_framework.test import APIClient |
10 | 10 |
|
11 | 11 | from environments.models import Environment |
12 | | -from features.models import Feature, FeatureSegment |
| 12 | +from features.models import Feature, FeatureSegment, FeatureState |
13 | 13 | from features.versioning.versioning_service import ( |
14 | 14 | get_environment_flags_list, |
15 | 15 | ) |
@@ -285,9 +285,6 @@ def test_update_flag_error_when_feature_not_found_by_id( |
285 | 285 | assert "Feature with identifier '999999' not found" in str(response.json()) |
286 | 286 |
|
287 | 287 |
|
288 | | -# V1 Segment Override Tests |
289 | | - |
290 | | - |
291 | 288 | @pytest.mark.parametrize( |
292 | 289 | "environment_", |
293 | 290 | (lazy_fixture("environment"), lazy_fixture("environment_v2_versioning")), |
@@ -598,23 +595,25 @@ def test_update_existing_segment_override_with_priority_v1( |
598 | 595 |
|
599 | 596 | segment = Segment.objects.create(name="priority_segment", project=project) |
600 | 597 |
|
| 598 | + # Create the segment override manually |
| 599 | + feature_segment = FeatureSegment.objects.create( |
| 600 | + feature=feature, |
| 601 | + segment=segment, |
| 602 | + environment=environment_, |
| 603 | + priority=5, |
| 604 | + ) |
| 605 | + FeatureState.objects.create( |
| 606 | + feature=feature, |
| 607 | + environment=environment_, |
| 608 | + feature_segment=feature_segment, |
| 609 | + enabled=True, |
| 610 | + ) |
| 611 | + |
601 | 612 | url = reverse( |
602 | 613 | "api-experiments:update-flag-v1", |
603 | 614 | kwargs={"environment_id": environment_.id}, |
604 | 615 | ) |
605 | 616 |
|
606 | | - # First, create the segment override |
607 | | - create_data = { |
608 | | - "feature": {"name": feature.name}, |
609 | | - "segment": {"id": segment.id, "priority": 5}, |
610 | | - "enabled": True, |
611 | | - "value": {"type": "integer", "string_value": "100"}, |
612 | | - } |
613 | | - response = staff_client.post( |
614 | | - url, data=json.dumps(create_data), content_type="application/json" |
615 | | - ) |
616 | | - assert response.status_code == status.HTTP_204_NO_CONTENT |
617 | | - |
618 | 617 | # When - Update the same segment override with new priority |
619 | 618 | update_data = { |
620 | 619 | "feature": {"name": feature.name}, |
@@ -658,21 +657,19 @@ def test_update_existing_segment_override_with_priority_v2( |
658 | 657 |
|
659 | 658 | segment = Segment.objects.create(name="priority_segment_v2", project=project) |
660 | 659 |
|
661 | | - # First, create the segment override using V1 endpoint |
662 | | - v1_url = reverse( |
663 | | - "api-experiments:update-flag-v1", |
664 | | - kwargs={"environment_id": environment_.id}, |
| 660 | + # Create the segment override manually |
| 661 | + feature_segment = FeatureSegment.objects.create( |
| 662 | + feature=feature, |
| 663 | + segment=segment, |
| 664 | + environment=environment_, |
| 665 | + priority=5, |
665 | 666 | ) |
666 | | - create_data = { |
667 | | - "feature": {"name": feature.name}, |
668 | | - "segment": {"id": segment.id, "priority": 5}, |
669 | | - "enabled": True, |
670 | | - "value": {"type": "string", "string_value": "initial"}, |
671 | | - } |
672 | | - response = staff_client.post( |
673 | | - v1_url, data=json.dumps(create_data), content_type="application/json" |
| 667 | + FeatureState.objects.create( |
| 668 | + feature=feature, |
| 669 | + environment=environment_, |
| 670 | + feature_segment=feature_segment, |
| 671 | + enabled=True, |
674 | 672 | ) |
675 | | - assert response.status_code == status.HTTP_204_NO_CONTENT |
676 | 673 |
|
677 | 674 | # When - Update the existing segment override using V2 endpoint |
678 | 675 | v2_url = reverse( |
@@ -713,9 +710,6 @@ def test_update_existing_segment_override_with_priority_v2( |
713 | 710 | assert feature_segment.priority == 2 |
714 | 711 |
|
715 | 712 |
|
716 | | -# Workflow enabled tests |
717 | | - |
718 | | - |
719 | 713 | def test_update_flag_v1_returns_403_when_workflow_enabled( |
720 | 714 | staff_client: APIClient, |
721 | 715 | feature: Feature, |
|
0 commit comments