feat: When attempting to create and objetc must be unique and alrready exists, dont return error return existing object
ref: #855
This commit is contained in:
@ -1,10 +1,41 @@
|
||||
import pytest
|
||||
|
||||
from django.test import Client
|
||||
|
||||
|
||||
|
||||
class AdditionalTestCases:
|
||||
|
||||
|
||||
def test_permission_add(self, model_instance, api_request_permissions,
|
||||
model_kwargs, kwargs_api_create
|
||||
):
|
||||
""" Check correct permission for add
|
||||
|
||||
Attempt to add as user with permission
|
||||
"""
|
||||
|
||||
client = Client()
|
||||
|
||||
client.force_login( api_request_permissions['user']['add'] )
|
||||
|
||||
the_model = model_instance( kwargs_create = model_kwargs )
|
||||
|
||||
url = the_model.get_url( many = True )
|
||||
|
||||
response = client.post(
|
||||
path = url,
|
||||
data = kwargs_api_create,
|
||||
content_type = 'application/json'
|
||||
)
|
||||
|
||||
|
||||
if response.status_code == 405:
|
||||
pytest.xfail( reason = 'ViewSet does not have this request method.' )
|
||||
|
||||
assert response.status_code == 200, response.content
|
||||
|
||||
|
||||
def test_returned_data_from_user_and_global_organizations_only(
|
||||
self
|
||||
):
|
||||
|
@ -18,6 +18,10 @@ from api.viewsets.common import ModelViewSet
|
||||
summary = 'Create a Feature Flag',
|
||||
description='',
|
||||
responses = {
|
||||
200: OpenApiResponse(
|
||||
description='Already exists',
|
||||
response = ViewSerializer
|
||||
),
|
||||
201: OpenApiResponse(description='Created', response=ViewSerializer),
|
||||
403: OpenApiResponse(description='User is missing add permissions'),
|
||||
}
|
||||
|
@ -22,6 +22,10 @@ from api.viewsets.common import ModelViewSet
|
||||
summary = 'Create a GIT Group',
|
||||
description='Create',
|
||||
responses = {
|
||||
200: OpenApiResponse(
|
||||
description='Already exists',
|
||||
response = ViewSerializer
|
||||
),
|
||||
201: OpenApiResponse(
|
||||
description='Created. Will be serialized with the serializer matching the provider.',
|
||||
response = ViewSerializer
|
||||
|
@ -60,6 +60,18 @@ from api.viewsets.common import (
|
||||
many = False,
|
||||
),
|
||||
responses = {
|
||||
200: OpenApiResponse(
|
||||
description='Already exists',
|
||||
response=PolymorphicProxySerializer(
|
||||
component_name = 'Git Provider',
|
||||
serializers=[
|
||||
GitHubViewSerializer,
|
||||
GitLabViewSerializer,
|
||||
],
|
||||
resource_type_field_name=None,
|
||||
many = False,
|
||||
),
|
||||
),
|
||||
201: OpenApiResponse(
|
||||
description='Created. Will be serialized with the serializer matching the provider.',
|
||||
response=PolymorphicProxySerializer(
|
||||
|
@ -17,6 +17,10 @@ from itam.models.software import Software
|
||||
summary = 'Enable Feature Flagging for Software',
|
||||
description='',
|
||||
responses = {
|
||||
200: OpenApiResponse(
|
||||
description='Already exists',
|
||||
response = ViewSerializer
|
||||
),
|
||||
201: OpenApiResponse(description='Created', response=ViewSerializer),
|
||||
403: OpenApiResponse(description='User is missing add permissions'),
|
||||
}
|
||||
|
Reference in New Issue
Block a user