2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-07-02 03:30: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

@ -25,33 +25,34 @@ class SalesOrderTest(TestCase):
'users',
]
def setUp(self):
@classmethod
def setUpTestData(cls):
"""Initial setup for this set of unit tests"""
# Create a Company to ship the goods to
self.customer = Company.objects.create(name="ABC Co", description="My customer", is_customer=True)
cls.customer = Company.objects.create(name="ABC Co", description="My customer", is_customer=True)
# Create a Part to ship
self.part = Part.objects.create(name='Spanner', salable=True, description='A spanner that I sell')
cls.part = Part.objects.create(name='Spanner', salable=True, description='A spanner that I sell')
# Create some stock!
self.Sa = StockItem.objects.create(part=self.part, quantity=100)
self.Sb = StockItem.objects.create(part=self.part, quantity=200)
cls.Sa = StockItem.objects.create(part=cls.part, quantity=100)
cls.Sb = StockItem.objects.create(part=cls.part, quantity=200)
# Create a SalesOrder to ship against
self.order = SalesOrder.objects.create(
customer=self.customer,
cls.order = SalesOrder.objects.create(
customer=cls.customer,
reference='SO-1234',
customer_reference='ABC 55555'
)
# Create a Shipment against this SalesOrder
self.shipment = SalesOrderShipment.objects.create(
order=self.order,
cls.shipment = SalesOrderShipment.objects.create(
order=cls.order,
reference='SO-001',
)
# Create a line item
self.line = SalesOrderLineItem.objects.create(quantity=50, order=self.order, part=self.part)
cls.line = SalesOrderLineItem.objects.create(quantity=50, order=cls.order, part=cls.part)
def test_so_reference(self):
"""Unit tests for sales order generation"""