1
0
forked from erp-dev/erp

feat: all the business models supported human_id now but it wont change statements api. Added new field 'order_quantity' into sales_order model (integer, allow null).

This commit is contained in:
2026-01-30 19:31:02 +08:00
parent cebaf85f6f
commit b7178f72b2
9 changed files with 127 additions and 5 deletions

View File

@@ -150,6 +150,22 @@ class PurchaseOrderServiceTestCase(TestCase):
self.assertEqual(item.split_quantity_of_rolls(), [10, 5])
mock_delay.assert_not_called()
def test_purchase_order_human_id_generation(self):
purchase_order = services.create_purchase_order(
merchant=self.merchant,
supplier=self.supplier,
order_date=timezone.now().date(),
warehouse=self.warehouse_strict,
operator=self.operator,
items=self.strict_items,
created_by=self.user,
)
self.assertIsNotNone(purchase_order.human_id)
self.assertEqual(
purchase_order.human_id,
f"{purchase_order.created_at.strftime('%Y%m%d')}{purchase_order.id:06d}",
)
def test_review_purchase_order_approval_triggers_task(self):
purchase_order = services.create_purchase_order(
merchant=self.merchant,
@@ -605,6 +621,22 @@ class PurchaseReturnServiceTestCase(TestCase):
self.assertEqual(item.quantity_of_rolls, '4,2')
self.assertEqual(item.split_quantity_of_rolls(), [4, 2])
def test_purchase_return_order_human_id_generation(self):
order = services.create_purchase_return_order(
merchant=self.merchant,
supplier=self.supplier,
return_date=timezone.now().date(),
warehouse=self.warehouse_strict,
operator=self.operator,
items=self.strict_items,
created_by=self.user,
)
self.assertIsNotNone(order.human_id)
self.assertEqual(
order.human_id,
f"{order.created_at.strftime('%Y%m%d')}{order.id:06d}",
)
def test_review_purchase_return_order_triggers_task_and_balance(self):
order = services.create_purchase_return_order(
merchant=self.merchant,
@@ -744,6 +776,22 @@ class SalesReturnServiceTestCase(TestCase):
item = order.items.first()
self.assertEqual(item.split_quantity_of_rolls(), [])
def test_sales_return_order_human_id_generation(self):
order = services.create_sales_return_order(
merchant=self.merchant,
customer=self.customer,
return_date=timezone.now().date(),
warehouse=self.warehouse_relaxed,
operator=self.operator,
items=[{'product_id': self.product.id, 'quantity': 50, 'num_of_rolls': 2, 'price': '19.5'}],
created_by=self.user,
)
self.assertIsNotNone(order.human_id)
self.assertEqual(
order.human_id,
f"{order.created_at.strftime('%Y%m%d')}{order.id:06d}",
)
def test_review_sales_return_order_updates_balance(self):
order = services.create_sales_return_order(
merchant=self.merchant,