2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-07-01 03:00:54 +00:00

Unit test speed improvements (#4463)

* Unit test speed improvements

- Move from insantiating data in setUp to setUpTestData

* Update UserMixin class for API testing

* Bunch of test updates

* Further test updates

* Test fixes

* Add allowances for exchange rate server not responding

* Fixes for group role test
This commit is contained in:
Oliver
2023-03-08 15:22:08 +11:00
committed by GitHub
parent 9c594ed52b
commit 2dfea9b825
20 changed files with 258 additions and 180 deletions

View File

@ -50,9 +50,10 @@ class StockLocationTest(StockAPITestCase):
list_url = reverse('api-location-list')
def setUp(self):
@classmethod
def setUpTestData(cls):
"""Setup for all tests."""
super().setUp()
super().setUpTestData()
# Add some stock locations
StockLocation.objects.create(name='top', description='top category')
@ -1413,30 +1414,32 @@ class StockMergeTest(StockAPITestCase):
URL = reverse('api-stock-merge')
def setUp(self):
@classmethod
def setUpTestData(cls):
"""Setup for all tests."""
super().setUp()
self.part = part.models.Part.objects.get(pk=25)
self.loc = StockLocation.objects.get(pk=1)
self.sp_1 = company.models.SupplierPart.objects.get(pk=100)
self.sp_2 = company.models.SupplierPart.objects.get(pk=101)
super().setUpTestData()
self.item_1 = StockItem.objects.create(
part=self.part,
supplier_part=self.sp_1,
cls.part = part.models.Part.objects.get(pk=25)
cls.loc = StockLocation.objects.get(pk=1)
cls.sp_1 = company.models.SupplierPart.objects.get(pk=100)
cls.sp_2 = company.models.SupplierPart.objects.get(pk=101)
cls.item_1 = StockItem.objects.create(
part=cls.part,
supplier_part=cls.sp_1,
quantity=100,
)
self.item_2 = StockItem.objects.create(
part=self.part,
supplier_part=self.sp_2,
cls.item_2 = StockItem.objects.create(
part=cls.part,
supplier_part=cls.sp_2,
quantity=100,
)
self.item_3 = StockItem.objects.create(
part=self.part,
supplier_part=self.sp_2,
cls.item_3 = StockItem.objects.create(
part=cls.part,
supplier_part=cls.sp_2,
quantity=50,
)

View File

@ -30,19 +30,20 @@ class StockTestBase(InvenTreeTestCase):
'stock_tests',
]
def setUp(self):
@classmethod
def setUpTestData(cls):
"""Setup for all tests."""
super().setUp()
super().setUpTestData()
# Extract some shortcuts from the fixtures
self.home = StockLocation.objects.get(name='Home')
self.bathroom = StockLocation.objects.get(name='Bathroom')
self.diningroom = StockLocation.objects.get(name='Dining Room')
cls.home = StockLocation.objects.get(name='Home')
cls.bathroom = StockLocation.objects.get(name='Bathroom')
cls.diningroom = StockLocation.objects.get(name='Dining Room')
self.office = StockLocation.objects.get(name='Office')
self.drawer1 = StockLocation.objects.get(name='Drawer_1')
self.drawer2 = StockLocation.objects.get(name='Drawer_2')
self.drawer3 = StockLocation.objects.get(name='Drawer_3')
cls.office = StockLocation.objects.get(name='Office')
cls.drawer1 = StockLocation.objects.get(name='Drawer_1')
cls.drawer2 = StockLocation.objects.get(name='Drawer_2')
cls.drawer3 = StockLocation.objects.get(name='Drawer_3')
# Ensure the MPTT objects are correctly rebuild
Part.objects.rebuild()