mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Fix tests for stock serialization
This commit is contained in:
parent
4db345d0c2
commit
937bcd41d6
@ -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):
|
||||
|
@ -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
|
||||
|
@ -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):
|
||||
|
Loading…
Reference in New Issue
Block a user