mirror of
https://github.com/inventree/InvenTree.git
synced 2025-04-29 20:16:44 +00:00
Massaging unit tests
- Decimal fields are useful but VERY ANNOYING to use - Needed to fix some test cases
This commit is contained in:
parent
400941c10f
commit
6e90ac367e
@ -52,6 +52,24 @@ def str2bool(text, test=True):
|
|||||||
return str(text).lower() in ['0', 'n', 'no', 'none', 'f', 'false', 'off', ]
|
return str(text).lower() in ['0', 'n', 'no', 'none', 'f', 'false', 'off', ]
|
||||||
|
|
||||||
|
|
||||||
|
def decimal2string(d):
|
||||||
|
"""
|
||||||
|
Format a Decimal number as a string,
|
||||||
|
stripping out any trailing zeroes or decimal points.
|
||||||
|
Essentially make it look like a whole number if it is one.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
d: A python Decimal object
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
A string representation of the input number
|
||||||
|
"""
|
||||||
|
|
||||||
|
s = str(d)
|
||||||
|
|
||||||
|
return s.rstrip("0").rstrip(".")
|
||||||
|
|
||||||
|
|
||||||
def WrapWithQuotes(text, quote='"'):
|
def WrapWithQuotes(text, quote='"'):
|
||||||
""" Wrap the supplied text with quotes
|
""" Wrap the supplied text with quotes
|
||||||
|
|
||||||
|
@ -1161,7 +1161,7 @@ class BomItem(models.Model):
|
|||||||
return "{n} x {child} to make {parent}".format(
|
return "{n} x {child} to make {parent}".format(
|
||||||
parent=self.part.full_name,
|
parent=self.part.full_name,
|
||||||
child=self.sub_part.full_name,
|
child=self.sub_part.full_name,
|
||||||
n=self.quantity)
|
n=helpers.decimal2string(self.quantity))
|
||||||
|
|
||||||
def get_overage_quantity(self, quantity):
|
def get_overage_quantity(self, quantity):
|
||||||
""" Calculate overage quantity
|
""" Calculate overage quantity
|
||||||
|
@ -123,7 +123,7 @@ class PartAPITest(APITestCase):
|
|||||||
url = reverse('api-bom-item-detail', kwargs={'pk': 3})
|
url = reverse('api-bom-item-detail', kwargs={'pk': 3})
|
||||||
response = self.client.get(url, format='json')
|
response = self.client.get(url, format='json')
|
||||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||||
self.assertEqual(response.data['quantity'], 25)
|
self.assertEqual(int(float(response.data['quantity'])), 25)
|
||||||
|
|
||||||
# Increase the quantity
|
# Increase the quantity
|
||||||
data = response.data
|
data = response.data
|
||||||
@ -134,7 +134,7 @@ class PartAPITest(APITestCase):
|
|||||||
|
|
||||||
# Check that the quantity was increased and a note added
|
# Check that the quantity was increased and a note added
|
||||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||||
self.assertEqual(response.data['quantity'], 57)
|
self.assertEqual(int(float(response.data['quantity'])), 57)
|
||||||
self.assertEqual(response.data['note'], 'Added a note')
|
self.assertEqual(response.data['note'], 'Added a note')
|
||||||
|
|
||||||
def test_add_bom_item(self):
|
def test_add_bom_item(self):
|
||||||
|
@ -691,7 +691,7 @@ class StockItem(models.Model):
|
|||||||
sn=self.serial)
|
sn=self.serial)
|
||||||
else:
|
else:
|
||||||
s = '{n} x {part}'.format(
|
s = '{n} x {part}'.format(
|
||||||
n=self.quantity,
|
n=helpers.decimal2string(self.quantity),
|
||||||
part=self.part.full_name)
|
part=self.part.full_name)
|
||||||
|
|
||||||
if self.location:
|
if self.location:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user