Fix data mutability issues

This commit is contained in:
Oliver 2022-01-27 13:37:42 +11:00
parent d0aa09337a
commit 4a45ba3a44
2 changed files with 9 additions and 3 deletions

View File

@ -5,6 +5,7 @@ JSON API for the Stock app
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from collections import OrderedDict
from datetime import datetime, timedelta
from django.core.exceptions import ValidationError as DjangoValidationError
@ -463,6 +464,11 @@ class StockList(generics.ListCreateAPIView):
"""
user = request.user
# Copy the request data, to side-step "mutability" issues
data = OrderedDict()
data.update(request.data)
data = request.data
quantity = data.get('quantity', None)
@ -476,7 +482,7 @@ class StockList(generics.ListCreateAPIView):
part = Part.objects.get(pk=data.get('part', None))
except (ValueError, Part.DoesNotExist):
raise ValidationError({
'part': _('Valid part ID must be supplied'),
'part': _('Valid part must be supplied'),
})
# Set default location (if not provided)

View File

@ -342,7 +342,7 @@ class StockItemTest(StockAPITestCase):
}
)
self.assertContains(response, 'This field is required', status_code=status.HTTP_400_BAD_REQUEST)
self.assertContains(response, 'Valid part must be supplied', status_code=status.HTTP_400_BAD_REQUEST)
# POST with an invalid part reference
@ -355,7 +355,7 @@ class StockItemTest(StockAPITestCase):
}
)
self.assertContains(response, 'does not exist', status_code=status.HTTP_400_BAD_REQUEST)
self.assertContains(response, 'Valid part must be supplied', status_code=status.HTTP_400_BAD_REQUEST)
# POST without quantity
response = self.post(