From 937bcd41d65396a2fed2909e3f6c7ffc7684feeb Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Thu, 29 Aug 2019 07:37:44 +1000 Subject: [PATCH] Fix tests for stock serialization --- InvenTree/stock/forms.py | 2 +- InvenTree/stock/models.py | 3 ++- InvenTree/stock/tests.py | 10 +++++----- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/InvenTree/stock/forms.py b/InvenTree/stock/forms.py index e03f84a339..02c52defe1 100644 --- a/InvenTree/stock/forms.py +++ b/InvenTree/stock/forms.py @@ -67,7 +67,7 @@ class SerializeStockForm(forms.ModelForm): """ Form for serializing a StockItem. """ destination = forms.ChoiceField(label='Destination', required=True, help_text='Destination for serialized stock (by default, will remain in current location)') - serial_numbers = forms.CharField(label='Serial numbers', required=True, help_text='Unique serial numbers (must match quantity)') + serial_numbers = forms.CharField(label='Serial numbers', required=True, help_text='Unique serial numbers (must match quantity)') note = forms.CharField(label='Notes', required=False, help_text='Add transaction note (optional)') def get_location_choices(self): diff --git a/InvenTree/stock/models.py b/InvenTree/stock/models.py index 00a55629e4..9aa8595c49 100644 --- a/InvenTree/stock/models.py +++ b/InvenTree/stock/models.py @@ -359,6 +359,7 @@ class StockItem(models.Model): Brief automated note detailing a movement or quantity change. """ + track = StockItemTracking.objects.create( item=self, title=title, @@ -373,7 +374,7 @@ class StockItem(models.Model): track.save() @transaction.atomic - def serializeStock(self, quantity, serials, user, notes=None, location=None): + def serializeStock(self, quantity, serials, user, notes='', location=None): """ Split this stock item into unique serial numbers. - Quantity can be less than or equal to the quantity of the stock item diff --git a/InvenTree/stock/tests.py b/InvenTree/stock/tests.py index 63423ec291..bc92a4c056 100644 --- a/InvenTree/stock/tests.py +++ b/InvenTree/stock/tests.py @@ -264,24 +264,24 @@ class StockTest(TestCase): # Test serialization of non-serializable part item = StockItem.objects.get(pk=1234) - with self.assertRaises(ValueError): + with self.assertRaises(ValidationError): item.serializeStock(5, [1, 2, 3, 4, 5], self.user) # Pick a StockItem which can actually be serialized item = StockItem.objects.get(pk=100) # Try an invalid quantity - with self.assertRaises(ValueError): + with self.assertRaises(ValidationError): item.serializeStock("k", [], self.user) - with self.assertRaises(ValueError): + with self.assertRaises(ValidationError): item.serializeStock(-1, [], self.user) # Try invalid serial numbers - with self.assertRaises(ValueError): + with self.assertRaises(ValidationError): item.serializeStock(3, [1, 2, 'k'], self.user) - with self.assertRaises(ValueError): + with self.assertRaises(ValidationError): item.serializeStock(3, "hello", self.user) def test_seiralize_stock_valid(self):