From b18ac57fb8628eaf53c4fecc54e4b20442dee156 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
 <41898282+github-actions[bot]@users.noreply.github.com>
Date: Wed, 5 Mar 2025 22:00:47 +1100
Subject: [PATCH] Tracking api fix (#9238) (#9240)

* [Bug] Fix search for StockTrackingList

- Removed invalid field

* Add unit test coverage for failing condition

* Fix 'notes' field for extra line item API

(cherry picked from commit 21ae1138ceae4ec85546a6982b1d4d621b94ed77)

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
---
 src/backend/InvenTree/order/api.py      | 4 ++--
 src/backend/InvenTree/stock/api.py      | 2 +-
 src/backend/InvenTree/stock/test_api.py | 5 +++++
 3 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/backend/InvenTree/order/api.py b/src/backend/InvenTree/order/api.py
index 61bd065039..42e15d47b6 100644
--- a/src/backend/InvenTree/order/api.py
+++ b/src/backend/InvenTree/order/api.py
@@ -68,9 +68,9 @@ class GeneralExtraLineList(DataExportViewMixin):
 
     filter_backends = SEARCH_ORDER_FILTER
 
-    ordering_fields = ['quantity', 'note', 'reference']
+    ordering_fields = ['quantity', 'notes', 'reference']
 
-    search_fields = ['quantity', 'note', 'reference', 'description']
+    search_fields = ['quantity', 'notes', 'reference', 'description']
 
     filterset_fields = ['order']
 
diff --git a/src/backend/InvenTree/stock/api.py b/src/backend/InvenTree/stock/api.py
index e0db540b15..2b7e8049ab 100644
--- a/src/backend/InvenTree/stock/api.py
+++ b/src/backend/InvenTree/stock/api.py
@@ -1461,7 +1461,7 @@ class StockTrackingList(DataExportViewMixin, ListAPI):
 
     ordering_fields = ['date']
 
-    search_fields = ['title', 'notes']
+    search_fields = ['notes']
 
 
 class LocationDetail(CustomRetrieveUpdateDestroyAPI):
diff --git a/src/backend/InvenTree/stock/test_api.py b/src/backend/InvenTree/stock/test_api.py
index d856b72b5d..8ad3fa451c 100644
--- a/src/backend/InvenTree/stock/test_api.py
+++ b/src/backend/InvenTree/stock/test_api.py
@@ -2150,6 +2150,11 @@ class StockTrackingTest(StockAPITestCase):
         response = self.get(url, {'limit': 1})
         self.assertEqual(response.data['count'], N)
 
+        # Test with search and pagination
+        response = self.get(url, {'limit': 1, 'offset': 10, 'search': 'berries'})
+
+        self.assertEqual(response.data['count'], 0)
+
     def test_list(self):
         """Test list endpoint."""
         url = self.get_url()