2
0
mirror of https://github.com/inventree/InvenTree.git synced 2026-04-14 15:28:52 +00:00

Export fix (#11693)

* Fix for ManufacturerPartList

- Support data export via API

* Add playwright tests

* Bump API version
This commit is contained in:
Oliver
2026-04-08 19:16:31 +10:00
committed by GitHub
parent 360beeaf52
commit 343f0975b6
4 changed files with 29 additions and 1 deletions

View File

@@ -1,11 +1,14 @@
"""InvenTree API version information."""
# InvenTree API version
INVENTREE_API_VERSION = 473
INVENTREE_API_VERSION = 474
"""Increment this API version number whenever there is a significant change to the API that any clients need to know about."""
INVENTREE_API_TEXT = """
v474 -> 2026-04-08 : https://github.com/inventree/InvenTree/pull/11693
- Adds DataImportMixin to the ManufacturerPartList API endpoint
v473 -> 2026-04-08 : https://github.com/inventree/InvenTree/pull/11692
- Adds "line" field to PurchaseOrderLineItem and PurchaseOrderExtraLineItem API endpoints
- Adds "line" field to SalesOrderLineItem and SalesOrderExtraLineItem API endpoints

View File

@@ -184,6 +184,7 @@ class ManufacturerPartMixin(SerializerContextMixin):
class ManufacturerPartList(
DataExportViewMixin,
ManufacturerPartMixin,
SerializerContextMixin,
OutputOptionsMixin,

View File

@@ -82,6 +82,30 @@ test('Purchasing - Index', async ({ browser }) => {
.waitFor();
});
test('Purchasing - Manufacturer Parts', async ({ browser }) => {
const page = await doCachedLogin(browser, {
url: 'purchasing/index/manufacturer-parts'
});
await page
.getByRole('textbox', { name: 'table-search-input' })
.fill('CPF0402B100KE1');
await page.getByText('R_100K_0402_1%').first().waitFor();
await page.getByRole('cell', { name: 'CPF0402B100KE1' }).waitFor();
// Check data exporter
await page.getByRole('button', { name: 'table-export-data' }).click();
await page.getByText('Select export plugin').waitFor();
await page
.getByRole('textbox', { name: 'choice-field-export_plugin' })
.fill('CSV');
await page.getByRole('button', { name: 'Export', exact: true }).click();
await page.getByText('Process completed successfully').waitFor();
await loadTab(page, 'Manufacturers');
await page.getByText('Murata Electronics').waitFor();
});
test('Purchase Orders - General', async ({ browser }) => {
const page = await doCachedLogin(browser);