2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-07-04 20:51:00 +00:00

Added test units for migration and API

This commit is contained in:
eeintech
2021-04-06 13:16:01 -04:00
parent 76fe535ef9
commit 7b4d3a3c07
5 changed files with 283 additions and 52 deletions

View File

@ -7,62 +7,65 @@ def supplierpart_make_manufacturer_parts(apps, schema_editor):
Part = apps.get_model('part', 'Part')
ManufacturerPart = apps.get_model('company', 'ManufacturerPart')
SupplierPart = apps.get_model('company', 'SupplierPart')
supplier_parts = SupplierPart.objects.all()
print(f'\nCreating Manufacturer parts\n{"-"*10}')
for supplier_part in SupplierPart.objects.all():
print(f'{supplier_part.supplier.name[:15].ljust(15)} | {supplier_part.SKU[:15].ljust(15)}\t', end='')
if supplier_parts:
print(f'\nCreating Manufacturer parts\n{"-"*10}')
for supplier_part in supplier_parts:
print(f'{supplier_part.supplier.name[:15].ljust(15)} | {supplier_part.SKU[:15].ljust(15)}\t', end='')
if supplier_part.manufacturer_part:
print(f'[ERROR: MANUFACTURER PART ALREADY EXISTS]')
continue
if supplier_part.manufacturer_part:
print(f'[ERROR: MANUFACTURER PART ALREADY EXISTS]')
continue
part = supplier_part.part
if not part:
print(f'[ERROR: SUPPLIER PART IS NOT CONNECTED TO PART]')
continue
manufacturer = supplier_part.manufacturer
MPN = supplier_part.MPN
link = supplier_part.link
description = supplier_part.description
if manufacturer or MPN:
print(f' | {part.name[:15].ljust(15)}', end='')
part = supplier_part.part
if not part:
print(f'[ERROR: SUPPLIER PART IS NOT CONNECTED TO PART]')
continue
try:
print(f' | {manufacturer.name[:15].ljust(15)}', end='')
except TypeError:
print(f' | {"EMPTY MANUF".ljust(15)}', end='')
manufacturer = supplier_part.manufacturer
MPN = supplier_part.MPN
link = supplier_part.link
description = supplier_part.description
try:
print(f' | {MPN[:15].ljust(15)}', end='')
except TypeError:
print(f' | {"EMPTY MPN".ljust(15)}', end='')
if manufacturer or MPN:
print(f' | {part.name[:15].ljust(15)}', end='')
try:
print(f' | {manufacturer.name[:15].ljust(15)}', end='')
except AttributeError:
print(f' | {"EMPTY MANUF".ljust(15)}', end='')
print('\t', end='')
try:
print(f' | {MPN[:15].ljust(15)}', end='')
except TypeError:
print(f' | {"EMPTY MPN".ljust(15)}', end='')
# Create ManufacturerPart
manufacturer_part = ManufacturerPart(part=part, manufacturer=manufacturer, MPN=MPN, description=description, link=link)
created = False
try:
with transaction.atomic():
manufacturer_part.save()
created = True
except IntegrityError:
manufacturer_part = ManufacturerPart.objects.get(part=part, manufacturer=manufacturer, MPN=MPN)
print('\t', end='')
# Link it to SupplierPart
supplier_part.manufacturer_part = manufacturer_part
supplier_part.save()
# Create ManufacturerPart
manufacturer_part = ManufacturerPart(part=part, manufacturer=manufacturer, MPN=MPN, description=description, link=link)
created = False
try:
with transaction.atomic():
manufacturer_part.save()
created = True
except IntegrityError:
manufacturer_part = ManufacturerPart.objects.get(part=part, manufacturer=manufacturer, MPN=MPN)
if created:
print(f'[SUCCESS: MANUFACTURER PART CREATED]')
# Link it to SupplierPart
supplier_part.manufacturer_part = manufacturer_part
supplier_part.save()
if created:
print(f'[SUCCESS: MANUFACTURER PART CREATED]')
else:
print(f'[IGNORED: MANUFACTURER PART ALREADY EXISTS]')
else:
print(f'[IGNORED: MANUFACTURER PART ALREADY EXISTS]')
else:
print(f'[IGNORED: MISSING MANUFACTURER DATA]')
print(f'[IGNORED: MISSING MANUFACTURER DATA]')
print(f'{"-"*10}\nDone')
print(f'{"-"*10}\nDone\n')
class Migration(migrations.Migration):