Additional unit tests
This commit is contained in:
parent
ca3b30ab7d
commit
6a71812c39
|
|
@ -1580,7 +1580,7 @@ class StockTrackingFilter(FilterSet):
|
|||
|
||||
|
||||
class StockTrackingList(
|
||||
SerializerContextMixin, DataExportViewMixin, OutputOptionsMixin, ListAPI
|
||||
SerializerContextMixin, DataExportViewMixin, OutputOptionsMixin, ListCreateAPI
|
||||
):
|
||||
"""API endpoint for list view of StockItemTracking objects.
|
||||
|
||||
|
|
@ -1673,7 +1673,11 @@ class StockTrackingList(
|
|||
serializer = self.get_serializer(data=data)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
|
||||
serializer.save(user=request.user)
|
||||
stock_item = serializer.validated_data['item']
|
||||
deltas = dict(serializer.validated_data.get('deltas') or {})
|
||||
deltas['quantity'] = float(stock_item.quantity)
|
||||
|
||||
serializer.save(user=request.user, deltas=deltas)
|
||||
|
||||
headers = self.get_success_headers(serializer.data)
|
||||
return Response(
|
||||
|
|
|
|||
|
|
@ -2891,6 +2891,25 @@ class StockTrackingTest(StockAPITestCase):
|
|||
assert_fnc=lambda x: x.data['results'][0],
|
||||
)
|
||||
|
||||
def test_create_manual_entry(self):
|
||||
"""Test that a manual stock tracking entry can be created via the API."""
|
||||
url = self.get_url()
|
||||
stock_item = StockItem.objects.first()
|
||||
|
||||
response = self.post(
|
||||
url,
|
||||
{'item': stock_item.pk, 'notes': 'Manual tracking entry'},
|
||||
expected_code=201,
|
||||
)
|
||||
|
||||
entry = StockItemTracking.objects.get(pk=response.data['pk'])
|
||||
|
||||
# user = request.user
|
||||
self.assertEqual(entry.user, self.user)
|
||||
|
||||
# quantity = StockItem.quantity
|
||||
self.assertEqual(float(entry.deltas['quantity']), float(stock_item.quantity))
|
||||
|
||||
|
||||
class StockAssignTest(StockAPITestCase):
|
||||
"""Unit tests for the stock assignment API endpoint, where stock items are manually assigned to a customer."""
|
||||
|
|
|
|||
Loading…
Reference in New Issue