diff --git a/src/backend/InvenTree/build/test_api.py b/src/backend/InvenTree/build/test_api.py index f5a50dcd15..bada9cd73c 100644 --- a/src/backend/InvenTree/build/test_api.py +++ b/src/backend/InvenTree/build/test_api.py @@ -1195,6 +1195,7 @@ class BuildListTest(BuildAPITest): ('user_detail', 'issued_by_detail'), ('user_detail', 'responsible_detail'), ('project_code_detail', 'project_code_detail'), + ('project_code_detail', 'project_code'), ] for param, field in test_cases: diff --git a/src/backend/InvenTree/part/test_api.py b/src/backend/InvenTree/part/test_api.py index 079987fc77..2332100be7 100644 --- a/src/backend/InvenTree/part/test_api.py +++ b/src/backend/InvenTree/part/test_api.py @@ -1395,6 +1395,34 @@ class PartAPITest(PartAPITestBase): self.assertIn('notes', response.data) + def test_output_options(self): + """Test the output options for PartList list.""" + url = reverse('api-part-list') + test_cases = [ + ('location_detail', 'default_location_detail'), + ('parameters', 'parameters'), + ('path_detail', 'category_path'), + ('pricing', 'pricing_min'), + ('pricing', 'pricing_updated'), + ] + + for param, field in test_cases: + # Test with parameter set to 'true' + response = self.get(url, {param: 'true', 'limit': 1}, expected_code=200) + self.assertIn( + field, + response.data['results'][0], + f"Field '{field}' should be present when {param}='true'", + ) + + # Test with parameter set to 'false' + response = self.get(url, {param: 'false', 'limit': 1}, expected_code=200) + self.assertNotIn( + field, + response.data['results'][0], + f"Field '{field}' should not be present when {param}='false'", + ) + class PartCreationTests(PartAPITestBase): """Tests for creating new Part instances via the API.""" @@ -2664,10 +2692,11 @@ class BomItemTest(InvenTreeAPITestCase): self.assertEqual(int(float(response.data['quantity'])), 57) self.assertEqual(response.data['note'], 'Added a note') + # TODO add test for (pricing, pricing_min) def test_output_options(self): """Test that various output options work as expected.""" url = reverse('api-bom-item-detail', kwargs={'pk': 3}) - options = ['can_build', 'part_detail', 'sub_part_detail'] + options = ['can_build', 'part_detail', 'sub_part_detail', 'substitutes'] for option in options: response = self.get(url, {f'{option}': True}, expected_code=200) self.assertIn(option, response.data)