mirror of
				https://github.com/inventree/InvenTree.git
				synced 2025-10-30 04:35:42 +00:00 
			
		
		
		
	Added create view test cases for stock ownership
This commit is contained in:
		| @@ -25,6 +25,18 @@ | ||||
|     lft: 0 | ||||
|     rght: 0 | ||||
|  | ||||
| # Capacitor C_22N_0805 in 'Office' | ||||
| - model: stock.stockitem | ||||
|   pk: 11 | ||||
|   fields: | ||||
|     part: 5 | ||||
|     location: 4 | ||||
|     quantity: 666 | ||||
|     level: 0 | ||||
|     tree_id: 0 | ||||
|     lft: 0 | ||||
|     rght: 0 | ||||
|  | ||||
| # 1234 2K2 resistors in 'Drawer_1' | ||||
| - model: stock.stockitem | ||||
|   pk: 1234 | ||||
|   | ||||
| @@ -255,35 +255,12 @@ class StockOwnershipTest(StockViewTestCase): | ||||
|                                     HTTP_X_REQUESTED_WITH='XMLHttpRequest') | ||||
|         self.assertContains(response, '"form_valid": true', status_code=200) | ||||
|  | ||||
|         # Set ownership on existing item (change location to pk=4) | ||||
|         # Set ownership on existing item (and change location) | ||||
|         response = self.client.post(reverse('stock-item-edit', args=(test_item_id,)), | ||||
|                                     {'part': 1, 'status': StockStatus.OK, 'owner': self.user.pk}, | ||||
|                                     HTTP_X_REQUESTED_WITH='XMLHttpRequest') | ||||
|         self.assertContains(response, '"form_valid": true', status_code=200) | ||||
|  | ||||
|         # Create new location | ||||
|         # new_location = { | ||||
|         #     'name': 'Desk', | ||||
|         #     'parent': test_location_id, | ||||
|         #     'description': 'My office desk', | ||||
|         # } | ||||
|  | ||||
|         # response = self.client.post(reverse('stock-location-create'), | ||||
|         #                             new_location, HTTP_X_REQUESTED_WITH='XMLHttpRequest') | ||||
|         # # print(response.content) | ||||
|         # self.assertContains(response, '"form_valid": true', status_code=200) | ||||
|          | ||||
|         # # Make sure the new location's owner is same as its parent | ||||
|         # parent_location = StockLocation.objects.get(pk=test_location_id) | ||||
|         # print(f'\n{parent_location.owner=}\n') | ||||
|         # # new_location = StockLocation.objects.get(pk=new_location_id) | ||||
|  | ||||
|         # # Create new item | ||||
|         # new_item = { | ||||
|         #     'part': 25, | ||||
|         #     'location': 0, | ||||
|         # } | ||||
|  | ||||
|         # Logout | ||||
|         self.client.logout() | ||||
|  | ||||
| @@ -308,3 +285,70 @@ class StockOwnershipTest(StockViewTestCase): | ||||
|         # Make sure the item's owner is unchanged | ||||
|         item = StockItem.objects.get(pk=test_item_id) | ||||
|         self.assertEqual(item.owner, self.user) | ||||
|  | ||||
|         # Create new parent location | ||||
|         parent_location = { | ||||
|             'name': 'John Desk', | ||||
|             'description': 'John\'s desk', | ||||
|             'owner': new_user_group.pk, | ||||
|         } | ||||
|  | ||||
|         # Create new parent location | ||||
|         response = self.client.post(reverse('stock-location-create'), | ||||
|                                     parent_location, HTTP_X_REQUESTED_WITH='XMLHttpRequest') | ||||
|         self.assertContains(response, '"form_valid": true', status_code=200) | ||||
|  | ||||
|         # Retrieve created location | ||||
|         parent_location = StockLocation.objects.get(name=parent_location['name']) | ||||
|  | ||||
|         # Create new child location | ||||
|         new_location = { | ||||
|             'name': 'Upper Left Drawer', | ||||
|             'description': 'John\'s desk - Upper left drawer', | ||||
|         } | ||||
|  | ||||
|         # Try to create new location with neither parent or owner | ||||
|         response = self.client.post(reverse('stock-location-create'), | ||||
|                                     new_location, HTTP_X_REQUESTED_WITH='XMLHttpRequest') | ||||
|         self.assertContains(response, '"form_valid": false', status_code=200) | ||||
|  | ||||
|         # Try to create new location with invalid owner | ||||
|         new_location['parent'] = parent_location.id | ||||
|         new_location['owner'] = user_group.pk | ||||
|         response = self.client.post(reverse('stock-location-create'), | ||||
|                                     new_location, HTTP_X_REQUESTED_WITH='XMLHttpRequest') | ||||
|         self.assertContains(response, '"form_valid": false', status_code=200) | ||||
|  | ||||
|         # Try to create new location with valid owner | ||||
|         new_location['owner'] = new_user_group.pk | ||||
|         response = self.client.post(reverse('stock-location-create'), | ||||
|                                     new_location, HTTP_X_REQUESTED_WITH='XMLHttpRequest') | ||||
|         self.assertContains(response, '"form_valid": true', status_code=200) | ||||
|          | ||||
|         # Retrieve created location | ||||
|         location_created = StockLocation.objects.get(name=new_location['name']) | ||||
|  | ||||
|         # Create new item | ||||
|         new_item = { | ||||
|             'part': 25, | ||||
|             'location': location_created.pk, | ||||
|             'quantity': 123, | ||||
|             'status': StockStatus.OK, | ||||
|         } | ||||
|  | ||||
|         # Try to create new item with no owner | ||||
|         response = self.client.post(reverse('stock-item-create'), | ||||
|                                     new_item, HTTP_X_REQUESTED_WITH='XMLHttpRequest') | ||||
|         self.assertContains(response, '"form_valid": false', status_code=200) | ||||
|  | ||||
|         # Try to create new item with invalid owner | ||||
|         new_item['owner'] = self.user.pk | ||||
|         response = self.client.post(reverse('stock-item-create'), | ||||
|                                     new_item, HTTP_X_REQUESTED_WITH='XMLHttpRequest') | ||||
|         self.assertContains(response, '"form_valid": false', status_code=200) | ||||
|  | ||||
|         # Try to create new item with valid owner | ||||
|         new_item['owner'] = self.new_user.pk | ||||
|         response = self.client.post(reverse('stock-item-create'), | ||||
|                                     new_item, HTTP_X_REQUESTED_WITH='XMLHttpRequest') | ||||
|         self.assertContains(response, '"form_valid": true', status_code=200) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user