Backend coverage
This commit is contained in:
parent
dc54b859ce
commit
d510d18016
@ -1152,13 +1152,13 @@ class BulkEditSerializer(
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.exception(f"Error validating custom fields: {e}")
|
logger.exception(f"Error validating custom fields: {e}")
|
||||||
raise serializers.ValidationError(
|
raise serializers.ValidationError(
|
||||||
f"{name} must be a list of integers or a dict of key-value pairs, see the log for details",
|
f"{name} must be a list of integers or a dict of id:value pairs, see the log for details",
|
||||||
)
|
)
|
||||||
elif not isinstance(custom_fields, list) or not all(
|
elif not isinstance(custom_fields, list) or not all(
|
||||||
isinstance(i, int) for i in ids
|
isinstance(i, int) for i in ids
|
||||||
):
|
):
|
||||||
raise serializers.ValidationError(
|
raise serializers.ValidationError(
|
||||||
f"{name} must be a list of integers or a dict of key-value pairs",
|
f"{name} must be a list of integers or a dict of id:value pairs",
|
||||||
)
|
)
|
||||||
count = CustomField.objects.filter(id__in=ids).count()
|
count = CustomField.objects.filter(id__in=ids).count()
|
||||||
if not count == len(ids):
|
if not count == len(ids):
|
||||||
|
@ -348,7 +348,23 @@ class TestBulkEditAPI(DirectoriesMixin, APITestCase):
|
|||||||
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
|
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
|
||||||
m.assert_not_called()
|
m.assert_not_called()
|
||||||
|
|
||||||
# Not a list of integers
|
# Invalid dict
|
||||||
|
response = self.client.post(
|
||||||
|
"/api/documents/bulk_edit/",
|
||||||
|
json.dumps(
|
||||||
|
{
|
||||||
|
"documents": [self.doc1.id, self.doc3.id],
|
||||||
|
"method": "modify_custom_fields",
|
||||||
|
"parameters": {
|
||||||
|
"add_custom_fields": {"foo": 99},
|
||||||
|
"remove_custom_fields": [self.cf2.id],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
),
|
||||||
|
content_type="application/json",
|
||||||
|
)
|
||||||
|
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
|
||||||
|
m.assert_not_called()
|
||||||
|
|
||||||
# Missing remove_custom_fields
|
# Missing remove_custom_fields
|
||||||
response = self.client.post(
|
response = self.client.post(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user