2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-06-18 04:55:44 +00:00

Update test fixtures

- Can't assume that pk values will be assigned sensibly!
- Need to hard-code them in
This commit is contained in:
Oliver Walters
2020-09-02 19:47:07 +10:00
parent bc2f131144
commit 911727f7b7
15 changed files with 85 additions and 57 deletions

View File

@ -29,6 +29,7 @@
# 250 x ACME0002 (M2x4 LPHS)
# Partially received (50)
- model: order.purchaseorderlineitem
pk: 2
fields:
order: 1
part: 2
@ -37,6 +38,7 @@
# 1000 x ACME0003
- model: order.purchaseorderlineitem
pk: 3
fields:
order: 1
part: 3

View File

@ -27,8 +27,8 @@ class SalesOrderTest(TestCase):
self.part = Part.objects.create(name='Spanner', salable=True, description='A spanner that I sell')
# Create some stock!
StockItem.objects.create(part=self.part, quantity=100)
StockItem.objects.create(part=self.part, quantity=200)
self.Sa = StockItem.objects.create(part=self.part, quantity=100)
self.Sb = StockItem.objects.create(part=self.part, quantity=200)
# Create a SalesOrder to ship against
self.order = SalesOrder.objects.create(
@ -57,15 +57,16 @@ class SalesOrderTest(TestCase):
SalesOrderLineItem.objects.create(order=self.order, part=self.part)
def allocate_stock(self, full=True):
# Allocate stock to the order
SalesOrderAllocation.objects.create(
line=self.line,
item=StockItem.objects.get(pk=1),
item=StockItem.objects.get(pk=self.Sa.pk),
quantity=25)
SalesOrderAllocation.objects.create(
line=self.line,
item=StockItem.objects.get(pk=2),
item=StockItem.objects.get(pk=self.Sb.pk),
quantity=25 if full else 20
)
@ -119,15 +120,23 @@ class SalesOrderTest(TestCase):
# There should now be 4 stock items
self.assertEqual(StockItem.objects.count(), 4)
self.assertEqual(StockItem.objects.get(pk=1).quantity, 75)
self.assertEqual(StockItem.objects.get(pk=2).quantity, 175)
self.assertEqual(StockItem.objects.get(pk=3).quantity, 25)
self.assertEqual(StockItem.objects.get(pk=3).quantity, 25)
Sa = StockItem.objects.get(pk=self.Sa.pk)
Sb = StockItem.objects.get(pk=self.Sb.pk)
# 25 units subtracted from each of the original items
self.assertEqual(Sa.quantity, 75)
self.assertEqual(Sb.quantity, 175)
# And 2 items created which are associated with the order
outputs = StockItem.objects.filter(sales_order=self.order)
self.assertEqual(outputs.count(), 2)
for item in outputs.all():
self.assertEqual(item.quantity, 25)
self.assertEqual(StockItem.objects.get(pk=1).sales_order, None)
self.assertEqual(StockItem.objects.get(pk=2).sales_order, None)
self.assertEqual(StockItem.objects.get(pk=3).sales_order, self.order)
self.assertEqual(StockItem.objects.get(pk=4).sales_order, self.order)
self.assertEqual(Sa.sales_order, None)
self.assertEqual(Sb.sales_order, None)
# And no allocations
self.assertEqual(SalesOrderAllocation.objects.count(), 0)