mirror of
				https://github.com/inventree/InvenTree.git
				synced 2025-10-30 20:55:42 +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:
		| @@ -52,6 +52,24 @@ def str2bool(text, test=True): | ||||
|         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='"'): | ||||
|     """ Wrap the supplied text with quotes | ||||
|  | ||||
|   | ||||
| @@ -1161,7 +1161,7 @@ class BomItem(models.Model): | ||||
|         return "{n} x {child} to make {parent}".format( | ||||
|             parent=self.part.full_name, | ||||
|             child=self.sub_part.full_name, | ||||
|             n=self.quantity) | ||||
|             n=helpers.decimal2string(self.quantity)) | ||||
|  | ||||
|     def get_overage_quantity(self, quantity): | ||||
|         """ Calculate overage quantity | ||||
|   | ||||
| @@ -123,7 +123,7 @@ class PartAPITest(APITestCase): | ||||
|         url = reverse('api-bom-item-detail', kwargs={'pk': 3}) | ||||
|         response = self.client.get(url, format='json') | ||||
|         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 | ||||
|         data = response.data | ||||
| @@ -134,7 +134,7 @@ class PartAPITest(APITestCase): | ||||
|  | ||||
|         # Check that the quantity was increased and a note added | ||||
|         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') | ||||
|  | ||||
|     def test_add_bom_item(self): | ||||
|   | ||||
| @@ -691,7 +691,7 @@ class StockItem(models.Model): | ||||
|                 sn=self.serial) | ||||
|         else: | ||||
|             s = '{n} x {part}'.format( | ||||
|                 n=self.quantity, | ||||
|                 n=helpers.decimal2string(self.quantity), | ||||
|                 part=self.part.full_name) | ||||
|  | ||||
|         if self.location: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user