mirror of
https://github.com/inventree/InvenTree.git
synced 2025-06-14 19:15:41 +00:00
Added test units for migration and API
This commit is contained in:
@ -79,7 +79,7 @@ class TestManufacturerField(MigratorTestCase):
|
||||
part=part,
|
||||
supplier=supplier,
|
||||
SKU='SCREW.002',
|
||||
manufacturer_name='Zero Corp'
|
||||
manufacturer_name='Zero Corp',
|
||||
)
|
||||
|
||||
self.assertEqual(Company.objects.count(), 1)
|
||||
@ -107,6 +107,136 @@ class TestManufacturerField(MigratorTestCase):
|
||||
self.assertEqual(part.manufacturer.name, 'ACME')
|
||||
|
||||
|
||||
class TestManufacturerPart(MigratorTestCase):
|
||||
"""
|
||||
Tests for migration 0032 and 0033 which added ManufacturerPart model
|
||||
"""
|
||||
|
||||
migrate_from = ('company', '0031_auto_20210103_2215')
|
||||
migrate_to = ('company', '0033_supplierpart_update')
|
||||
|
||||
def prepare(self):
|
||||
"""
|
||||
Prepare the database by adding some test data 'before' the change:
|
||||
|
||||
- Part object
|
||||
- Company object (supplier)
|
||||
- SupplierPart object
|
||||
"""
|
||||
|
||||
Part = self.old_state.apps.get_model('part', 'part')
|
||||
Company = self.old_state.apps.get_model('company', 'company')
|
||||
SupplierPart = self.old_state.apps.get_model('company', 'supplierpart')
|
||||
|
||||
# Create an initial part
|
||||
part = Part.objects.create(
|
||||
name='CAP CER 0.1UF 10V X5R 0402',
|
||||
description='CAP CER 0.1UF 10V X5R 0402',
|
||||
purchaseable=True,
|
||||
level=0,
|
||||
tree_id=0,
|
||||
lft=0,
|
||||
rght=0,
|
||||
)
|
||||
|
||||
# Create a manufacturer
|
||||
manufacturer = Company.objects.create(
|
||||
name='Murata',
|
||||
description='Makes capacitors',
|
||||
is_manufacturer=True,
|
||||
is_supplier=False,
|
||||
is_customer=False,
|
||||
)
|
||||
|
||||
# Create suppliers
|
||||
supplier_1 = Company.objects.create(
|
||||
name='Digi-Key',
|
||||
description='A supplier of components',
|
||||
is_manufacturer=False,
|
||||
is_supplier=True,
|
||||
is_customer=False,
|
||||
)
|
||||
|
||||
supplier_2 = Company.objects.create(
|
||||
name='Mouser',
|
||||
description='We sell components',
|
||||
is_manufacturer=False,
|
||||
is_supplier=True,
|
||||
is_customer=False,
|
||||
)
|
||||
|
||||
# Add some SupplierPart objects
|
||||
SupplierPart.objects.create(
|
||||
part=part,
|
||||
supplier=supplier_1,
|
||||
SKU='DK-MUR-CAP-123456-ND',
|
||||
manufacturer=manufacturer,
|
||||
MPN='MUR-CAP-123456',
|
||||
)
|
||||
|
||||
SupplierPart.objects.create(
|
||||
part=part,
|
||||
supplier=supplier_1,
|
||||
SKU='DK-MUR-CAP-987654-ND',
|
||||
manufacturer=manufacturer,
|
||||
MPN='MUR-CAP-987654',
|
||||
)
|
||||
|
||||
SupplierPart.objects.create(
|
||||
part=part,
|
||||
supplier=supplier_2,
|
||||
SKU='CAP-CER-01UF',
|
||||
manufacturer=manufacturer,
|
||||
MPN='MUR-CAP-123456',
|
||||
)
|
||||
|
||||
# No MPN
|
||||
SupplierPart.objects.create(
|
||||
part=part,
|
||||
supplier=supplier_2,
|
||||
SKU='CAP-CER-01UF-1',
|
||||
manufacturer=manufacturer,
|
||||
)
|
||||
|
||||
# No Manufacturer
|
||||
SupplierPart.objects.create(
|
||||
part=part,
|
||||
supplier=supplier_2,
|
||||
SKU='CAP-CER-01UF-2',
|
||||
MPN='MUR-CAP-123456',
|
||||
)
|
||||
|
||||
# No Manufacturer data
|
||||
SupplierPart.objects.create(
|
||||
part=part,
|
||||
supplier=supplier_2,
|
||||
SKU='CAP-CER-01UF-3',
|
||||
)
|
||||
|
||||
def test_manufacturer_part_objects(self):
|
||||
"""
|
||||
Test that the new companies have been created successfully
|
||||
"""
|
||||
|
||||
# Check on the SupplierPart objects
|
||||
SupplierPart = self.new_state.apps.get_model('company', 'supplierpart')
|
||||
|
||||
supplier_parts = SupplierPart.objects.all()
|
||||
self.assertEqual(supplier_parts.count(), 6)
|
||||
|
||||
supplier_parts = SupplierPart.objects.filter(supplier__name='Mouser')
|
||||
self.assertEqual(supplier_parts.count(), 4)
|
||||
|
||||
# Check on the ManufacturerPart objects
|
||||
ManufacturerPart = self.new_state.apps.get_model('company', 'manufacturerpart')
|
||||
|
||||
manufacturer_parts = ManufacturerPart.objects.all()
|
||||
self.assertEqual(manufacturer_parts.count(), 4)
|
||||
|
||||
manufacturer_part = manufacturer_parts.first()
|
||||
self.assertEqual(manufacturer_part.MPN, 'MUR-CAP-123456')
|
||||
|
||||
|
||||
class TestCurrencyMigration(MigratorTestCase):
|
||||
"""
|
||||
Tests for upgrade from basic currency support to django-money
|
||||
|
Reference in New Issue
Block a user