Skip to content

Commit

Permalink
Rename test, add typing, and change segment view
Browse files Browse the repository at this point in the history
  • Loading branch information
novakzaballa committed Mar 6, 2024
1 parent d8f24fe commit fb04bbc
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 12 deletions.
2 changes: 1 addition & 1 deletion api/projects/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ def show_edge_identity_overrides_for_feature(self) -> bool:
)

@property
def get_org_id(self):
def get_org_id(self) -> int:
return self.organisation_id


Expand Down
11 changes: 10 additions & 1 deletion api/segments/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from django.utils.decorators import method_decorator
from drf_yasg import openapi
from drf_yasg.utils import swagger_auto_schema
from rest_framework import viewsets
from rest_framework import status, viewsets
from rest_framework.decorators import action, api_view
from rest_framework.generics import get_object_or_404
from rest_framework.response import Response
Expand Down Expand Up @@ -85,6 +85,15 @@ def get_queryset(self):

return queryset

def create(self, request, *args, **kwargs):
serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)

if "metadata" not in serializer.validated_data:
return Response(
{"error": "Metadata is required"}, status=status.HTTP_400_BAD_REQUEST
)

@action(
detail=True,
methods=["GET"],
Expand Down
2 changes: 1 addition & 1 deletion api/tests/unit/features/test_unit_features_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -2234,7 +2234,7 @@ def test_cannot_update_feature_of_a_feature_state(
"client",
[lazy_fixture("admin_master_api_key_client"), lazy_fixture("admin_client")],
)
def test_create_feature_with_required_metadata_returns_400(
def test_create_feature_without_required_metadata_returns_400(
project: Project,
client: APIClient,
required_a_feature_metadata_field: MetadataModelField,
Expand Down
10 changes: 1 addition & 9 deletions api/tests/unit/segments/test_unit_segments_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -622,27 +622,19 @@ def test_create_segment_with_required_metadata_returns_201(
"client",
[lazy_fixture("admin_master_api_key_client"), lazy_fixture("admin_client")],
)
def test_create_segment_with_required_metadata_returns_400(
def test_create_segment_without_required_metadata_returns_400(
project: Project,
client: APIClient,
required_a_segment_metadata_field: MetadataModelField,
) -> None:
# Given
url = reverse("api-v1:projects:project-segments-list", args=[project.id])
description = "This is the description"
field_value = 10
content_type = 9999
data = {
"name": "Test Segment",
"description": description,
"project": project.id,
"rules": [{"type": "ALL", "rules": [], "conditions": []}],
"metadata": [
{
"model_field": content_type,
"field_value": field_value,
},
],
}

# When
Expand Down

0 comments on commit fb04bbc

Please sign in to comment.