forked from erp-dev/erp
feat: added pre sales order in business module, and explode tests of business module
This commit is contained in:
68
business/tests/test_tasks.py
Normal file
68
business/tests/test_tasks.py
Normal file
@@ -0,0 +1,68 @@
|
||||
from django.test import TestCase, override_settings
|
||||
from unittest.mock import patch
|
||||
|
||||
from business import tasks
|
||||
|
||||
|
||||
@override_settings(
|
||||
CELERY_TASK_ALWAYS_EAGER=True,
|
||||
CELERY_TASK_EAGER_PROPAGATES=True,
|
||||
)
|
||||
class PurchaseOrderStockTaskTestCase(TestCase):
|
||||
def setUp(self):
|
||||
self.purchase_order_id = 123
|
||||
self.warehouse_id = 456
|
||||
self.items = [{'product_id': 1, 'quantities': ['5']}]
|
||||
|
||||
def test_task_delegates_to_service(self):
|
||||
with patch('business.tasks.business_services.create_purchase_order_stock_entries_sync') as mock_sync:
|
||||
mock_sync.return_value = {'purchase_order_id': self.purchase_order_id}
|
||||
|
||||
async_result = tasks.create_purchase_order_stock_entries.delay(
|
||||
purchase_order_id=self.purchase_order_id,
|
||||
warehouse_id=self.warehouse_id,
|
||||
items=self.items,
|
||||
created_by_id=999,
|
||||
)
|
||||
payload = async_result.get(timeout=5)
|
||||
|
||||
mock_sync.assert_called_once_with(
|
||||
purchase_order_id=self.purchase_order_id,
|
||||
warehouse_id=self.warehouse_id,
|
||||
items=self.items,
|
||||
created_by_id=999,
|
||||
)
|
||||
self.assertEqual(payload['purchase_order_id'], self.purchase_order_id)
|
||||
self.assertIn('task_id', payload)
|
||||
|
||||
|
||||
@override_settings(
|
||||
CELERY_TASK_ALWAYS_EAGER=True,
|
||||
CELERY_TASK_EAGER_PROPAGATES=True,
|
||||
)
|
||||
class SalesOrderStockTaskTestCase(TestCase):
|
||||
def setUp(self):
|
||||
self.sales_order_id = 321
|
||||
self.warehouse_id = 654
|
||||
self.items = [{'product_id': 2, 'quantities': ['4']}]
|
||||
|
||||
def test_task_delegates_to_service(self):
|
||||
with patch('business.tasks.business_services.create_sales_order_stock_entries_sync') as mock_sync:
|
||||
mock_sync.return_value = {'sales_order_id': self.sales_order_id}
|
||||
|
||||
async_result = tasks.create_sales_order_stock_entries.delay(
|
||||
sales_order_id=self.sales_order_id,
|
||||
warehouse_id=self.warehouse_id,
|
||||
items=self.items,
|
||||
created_by_id=777,
|
||||
)
|
||||
payload = async_result.get(timeout=5)
|
||||
|
||||
mock_sync.assert_called_once_with(
|
||||
sales_order_id=self.sales_order_id,
|
||||
warehouse_id=self.warehouse_id,
|
||||
items=self.items,
|
||||
created_by_id=777,
|
||||
)
|
||||
self.assertEqual(payload['sales_order_id'], self.sales_order_id)
|
||||
self.assertIn('task_id', payload)
|
||||
Reference in New Issue
Block a user