From aaf6a97d71f9f58ec1f62d5e35112d86877b8252 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 2 Dec 2025 03:06:20 +0000 Subject: [PATCH] Tweak migration unit tests --- .../InvenTree/build/test_migrations.py | 2 +- .../migrations/0041_auto_20251028_1112.py | 2 +- .../InvenTree/company/test_migrations.py | 37 +++++-------------- src/backend/InvenTree/part/test_migrations.py | 4 +- .../InvenTree/stock/test_migrations.py | 6 +-- 5 files changed, 15 insertions(+), 36 deletions(-) diff --git a/src/backend/InvenTree/build/test_migrations.py b/src/backend/InvenTree/build/test_migrations.py index 924b45d249..f2286a628f 100644 --- a/src/backend/InvenTree/build/test_migrations.py +++ b/src/backend/InvenTree/build/test_migrations.py @@ -86,7 +86,7 @@ class TestReferencePatternMigration(MigratorTestCase): """ migrate_from = ('build', '0019_auto_20201019_1302') - migrate_to = ('build', unit_test.getNewestMigrationFile('build')) + migrate_to = ('build', '0022_buildorderattachment') def prepare(self): """Create some initial data prior to migration.""" diff --git a/src/backend/InvenTree/common/migrations/0041_auto_20251028_1112.py b/src/backend/InvenTree/common/migrations/0041_auto_20251028_1112.py index 6bfa0bc992..6bfd41c8c9 100644 --- a/src/backend/InvenTree/common/migrations/0041_auto_20251028_1112.py +++ b/src/backend/InvenTree/common/migrations/0041_auto_20251028_1112.py @@ -201,7 +201,7 @@ class Migration(migrations.Migration): dependencies = [ ('contenttypes', '__latest__'), ("part", "0144_partcategoryparametertemplate_template"), - ("company", "0034_manufacturerpart"), + ("company", "0076_alter_company_image"), ("common", "0040_parametertemplate_parameter"), ] diff --git a/src/backend/InvenTree/company/test_migrations.py b/src/backend/InvenTree/company/test_migrations.py index e3ae5954a1..92220e9954 100644 --- a/src/backend/InvenTree/company/test_migrations.py +++ b/src/backend/InvenTree/company/test_migrations.py @@ -316,7 +316,7 @@ class TestSupplierPartQuantity(MigratorTestCase): """Test that the supplier part quantity is correctly migrated.""" migrate_from = ('company', '0058_auto_20230515_0004') - migrate_to = ('company', unit_test.getNewestMigrationFile('company')) + migrate_to = ('company', '0062_contact_metadata') def prepare(self): """Prepare a number of SupplierPart objects.""" @@ -381,21 +381,13 @@ class TestManufacturerPartParameterMigration(MigratorTestCase): def prepare(self): """Create some existing data before migration.""" Part = self.old_state.apps.get_model('part', 'part') - PartParameterTemplate = self.old_state.apps.get_model( - 'part', 'partparametertemplate' - ) + Company = self.old_state.apps.get_model('company', 'company') ManufacturerPart = self.old_state.apps.get_model('company', 'manufacturerpart') ManufacturerPartParameter = self.old_state.apps.get_model( 'company', 'manufacturerpartparameter' ) - # Create some existing templates - for ii in range(3): - PartParameterTemplate.objects.create( - name=f'Parameter {ii}', description=f'Description for parameter {ii}' - ) - # Create a ManufacturerPart part = Part.objects.create( name='PART', @@ -415,15 +407,11 @@ class TestManufacturerPartParameterMigration(MigratorTestCase): part=part, manufacturer=manufacturer, MPN='MPN-001' ) - # Create some parameters which correlate with existing templates - for ii in range(3): - ManufacturerPartParameter.objects.create( - manufacturer_part=manu_part, name=f'Parameter {ii}', value=str(ii * 10) - ) - # Create a parameter which does NOT correlate with any existing template for name in ['Width', 'Height', 'Depth']: - ManufacturerPartParameter.objects.create(name=name, value='100', units='mm') + ManufacturerPartParameter.objects.create( + manufacturer_part=manu_part, name=name, value='100', units='mm' + ) def test_manufacturer_part_parameter_migration(self): """Test that ManufacturerPartParameter data has been migrated correctly.""" @@ -433,7 +421,7 @@ class TestManufacturerPartParameterMigration(MigratorTestCase): ManufacturerPart = self.new_state.apps.get_model('company', 'manufacturerpart') # There should be 6 ParameterTemplate objects - self.assertEqual(ParameterTemplate.objects.count(), 6) + self.assertEqual(ParameterTemplate.objects.count(), 3) manu_part = ManufacturerPart.objects.first() @@ -441,19 +429,12 @@ class TestManufacturerPartParameterMigration(MigratorTestCase): app_label='company', model='manufacturerpart' ) - # There should be 6 Parameter objects linked to the ManufacturerPart + # There should be 3 Parameter objects linked to the ManufacturerPart params = Parameter.objects.filter( content_type=content_type, object_id=manu_part.pk ) - self.assertEqual(params.count(), 6) + self.assertEqual(params.count(), 3) - for name in [ - 'Parameter 0', - 'Parameter 1', - 'Parameter 2', - 'Width', - 'Height', - 'Depth', - ]: + for name in ['Width', 'Height', 'Depth']: self.assertTrue(params.filter(template__name=name).exists()) diff --git a/src/backend/InvenTree/part/test_migrations.py b/src/backend/InvenTree/part/test_migrations.py index 10d528e2a2..003a3ee72e 100644 --- a/src/backend/InvenTree/part/test_migrations.py +++ b/src/backend/InvenTree/part/test_migrations.py @@ -52,7 +52,7 @@ class TestBomItemMigrations(MigratorTestCase): """Tests for BomItem migrations.""" migrate_from = ('part', '0002_auto_20190520_2204') - migrate_to = ('part', unit_test.getNewestMigrationFile('part')) + migrate_to = ('part', '0010_auto_20190620_2135') def prepare(self): """Create initial dataset.""" @@ -158,7 +158,7 @@ class PartUnitsMigrationTest(MigratorTestCase): """Test for data migration of Part.units field.""" migrate_from = ('part', '0109_auto_20230517_1048') - migrate_to = ('part', unit_test.getNewestMigrationFile('part')) + migrate_to = ('part', '0115_part_responsible_owner') def prepare(self): """Prepare some parts with units.""" diff --git a/src/backend/InvenTree/stock/test_migrations.py b/src/backend/InvenTree/stock/test_migrations.py index 6407f5ea29..7d5bd7fdc9 100644 --- a/src/backend/InvenTree/stock/test_migrations.py +++ b/src/backend/InvenTree/stock/test_migrations.py @@ -2,14 +2,12 @@ from django_test_migrations.contrib.unittest_case import MigratorTestCase -from InvenTree import unit_test - class TestSerialNumberMigration(MigratorTestCase): """Test data migration which updates serial numbers.""" migrate_from = ('stock', '0067_alter_stockitem_part') - migrate_to = ('stock', unit_test.getNewestMigrationFile('stock')) + migrate_to = ('stock', '0070_auto_20211128_0151') def prepare(self): """Create initial data for this migration.""" @@ -72,7 +70,7 @@ class TestScheduledForDeletionMigration(MigratorTestCase): """Test data migration for removing 'scheduled_for_deletion' field.""" migrate_from = ('stock', '0066_stockitem_scheduled_for_deletion') - migrate_to = ('stock', unit_test.getNewestMigrationFile('stock')) + migrate_to = ('stock', '0069_auto_20211109_2347') def prepare(self): """Create some initial stock items."""