mirror of
https://github.com/inventree/InvenTree.git
synced 2025-08-07 12:22:11 +00:00
API search field bug (#10108)
* Additional unit tests * Fix search field * Additional unit test to apply search term * Bump API version
This commit is contained in:
@@ -1,11 +1,15 @@
|
||||
"""InvenTree API version information."""
|
||||
|
||||
# InvenTree API version
|
||||
INVENTREE_API_VERSION = 375
|
||||
INVENTREE_API_VERSION = 376
|
||||
|
||||
"""Increment this API version number whenever there is a significant change to the API that any clients need to know about."""
|
||||
|
||||
INVENTREE_API_TEXT = """
|
||||
|
||||
v376 -> 2025-08-01 : https://github.com/inventree/InvenTree/pull/10108
|
||||
- Fix search fields for ReturnOrderLineItem API list endpoint
|
||||
|
||||
v375 -> 2025-07-28 : https://github.com/inventree/InvenTree/pull/10095
|
||||
- Sorts searched fields to keep API stable
|
||||
|
||||
|
@@ -1641,7 +1641,7 @@ class ReturnOrderLineItemList(
|
||||
ordering_fields = ['reference', 'target_date', 'received_date']
|
||||
|
||||
search_fields = [
|
||||
'item_serial',
|
||||
'item__serial',
|
||||
'item__part__name',
|
||||
'item__part__description',
|
||||
'reference',
|
||||
|
@@ -2507,6 +2507,50 @@ class ReturnOrderTests(InvenTreeAPITestCase):
|
||||
calendar = Calendar.from_ical(response.content)
|
||||
self.assertIsInstance(calendar, Calendar)
|
||||
|
||||
def test_export(self):
|
||||
"""Test data export for the ReturnOrder API endpoints."""
|
||||
# Export return orders
|
||||
data = self.export_data(
|
||||
reverse('api-return-order-list'),
|
||||
export_format='csv',
|
||||
decode=True,
|
||||
expected_code=200,
|
||||
)
|
||||
|
||||
self.process_csv(
|
||||
data,
|
||||
required_cols=['Reference', 'Customer'],
|
||||
required_rows=models.ReturnOrder.objects.count(),
|
||||
)
|
||||
|
||||
N = models.ReturnOrderLineItem.objects.count()
|
||||
self.assertGreater(N, 0, 'No ReturnOrderLineItems found!')
|
||||
|
||||
# Export return order lines
|
||||
data = self.export_data(
|
||||
reverse('api-return-order-line-list'),
|
||||
export_format='csv',
|
||||
decode=True,
|
||||
expected_code=200,
|
||||
)
|
||||
|
||||
self.process_csv(
|
||||
data, required_rows=N, required_cols=['Order', 'Reference', 'Target Date']
|
||||
)
|
||||
|
||||
# Export again, with a search term
|
||||
data = self.export_data(
|
||||
reverse('api-return-order-line-list'),
|
||||
params={'search': 'xyz'},
|
||||
export_format='csv',
|
||||
decode=True,
|
||||
expected_code=200,
|
||||
)
|
||||
|
||||
self.process_csv(
|
||||
data, required_rows=0, required_cols=['Order', 'Reference', 'Target Date']
|
||||
)
|
||||
|
||||
|
||||
class OrderMetadataAPITest(InvenTreeAPITestCase):
|
||||
"""Unit tests for the various metadata endpoints of API."""
|
||||
|
Reference in New Issue
Block a user