mirror of
https://github.com/inventree/InvenTree.git
synced 2025-07-02 03:30:54 +00:00
Add Metadata to further models (#4410)
* Add metadata for ManufacturerPart * Add Metadata for SupplierPart * Add metadata to label models * Add metadata to order line items * Add metadata to shipment * Add metadata to Build and BuildItem * Add metadata to BomItem * Add metadata to PartParameterTemplate * Syntax, lint * Fix isort style * Lint * Correction of model name * Metadata for Reports * Fix silly error * Fix silly error * Correct model name * Correct model name * Correction * Correct company urls * Apply generic model to Report metadat * Rename/remove redundant import * Remove shadowing of report in loop variable * Update import ordering * More corrections * better docstrings * Correct names for API endpoints * Default to PO, required for api-doc to work * Changes by @matmair * Suppress metadata from Bom export * Add migration files * Increment API version * Add tests for all Metadata models, even previously existing ones * Update tests * Fix * Delay tests * Fix imports * Fix tests * API Version number * Remove unused import * isort * Revent unintended change of cache
This commit is contained in:
@ -258,7 +258,6 @@ class ReportTest(InvenTreeAPITestCase):
|
||||
reports = self.model.objects.all()
|
||||
|
||||
n = len(reports)
|
||||
|
||||
# API endpoint must return correct number of reports
|
||||
self.assertEqual(len(response.data), n)
|
||||
|
||||
@ -281,6 +280,25 @@ class ReportTest(InvenTreeAPITestCase):
|
||||
response = self.get(url, {'enabled': False})
|
||||
self.assertEqual(len(response.data), n)
|
||||
|
||||
def test_metadata(self):
|
||||
"""Unit tests for the metadata field."""
|
||||
if self.model is not None:
|
||||
p = self.model.objects.first()
|
||||
|
||||
self.assertIsNone(p.metadata)
|
||||
|
||||
self.assertIsNone(p.get_metadata('test'))
|
||||
self.assertEqual(p.get_metadata('test', backup_value=123), 123)
|
||||
|
||||
# Test update via the set_metadata() method
|
||||
p.set_metadata('test', 3)
|
||||
self.assertEqual(p.get_metadata('test'), 3)
|
||||
|
||||
for k in ['apple', 'banana', 'carrot', 'carrot', 'banana']:
|
||||
p.set_metadata(k, k)
|
||||
|
||||
self.assertEqual(len(p.metadata.keys()), 4)
|
||||
|
||||
|
||||
class TestReportTest(ReportTest):
|
||||
"""Unit testing class for the stock item TestReport model"""
|
||||
@ -393,6 +411,12 @@ class BOMReportTest(ReportTest):
|
||||
detail_url = 'api-bom-report-detail'
|
||||
print_url = 'api-bom-report-print'
|
||||
|
||||
def setUp(self):
|
||||
"""Setup function for the bill of materials Report"""
|
||||
self.copyReportTemplate('inventree_bill_of_materials_report.html', 'bill of materials report')
|
||||
|
||||
return super().setUp()
|
||||
|
||||
|
||||
class PurchaseOrderReportTest(ReportTest):
|
||||
"""Unit test class fort he PurchaseOrderReport model"""
|
||||
@ -402,6 +426,12 @@ class PurchaseOrderReportTest(ReportTest):
|
||||
detail_url = 'api-po-report-detail'
|
||||
print_url = 'api-po-report-print'
|
||||
|
||||
def setUp(self):
|
||||
"""Setup function for the purchase order Report"""
|
||||
self.copyReportTemplate('inventree_po_report.html', 'purchase order report')
|
||||
|
||||
return super().setUp()
|
||||
|
||||
|
||||
class SalesOrderReportTest(ReportTest):
|
||||
"""Unit test class for the SalesOrderReport model"""
|
||||
@ -410,3 +440,9 @@ class SalesOrderReportTest(ReportTest):
|
||||
list_url = 'api-so-report-list'
|
||||
detail_url = 'api-so-report-detail'
|
||||
print_url = 'api-so-report-print'
|
||||
|
||||
def setUp(self):
|
||||
"""Setup function for the sales order Report"""
|
||||
self.copyReportTemplate('inventree_so_report.html', 'sales order report')
|
||||
|
||||
return super().setUp()
|
||||
|
Reference in New Issue
Block a user