forked from erp-dev/erp
feat: added filter param for stock record list api. Support purchase order bind stock change record that is already exists
This commit is contained in:
@@ -17,6 +17,8 @@ from basic_info.models import (
|
||||
EmployeeStatusEnum,
|
||||
Merchant,
|
||||
MerchantTypeEnum,
|
||||
MerchantSetting,
|
||||
MerchantSettingKeyEnum,
|
||||
Product,
|
||||
ProductCategory,
|
||||
ProductUnitEnum,
|
||||
@@ -228,6 +230,30 @@ class PurchaseOrderAPITestCase(TestCase):
|
||||
self.assertEqual(response.data['human_id'], expected_human_id)
|
||||
mock_delay.assert_not_called()
|
||||
|
||||
def test_bind_purchase_order_stock_change_record(self):
|
||||
MerchantSetting.objects.filter(
|
||||
merchant=self.merchant,
|
||||
key=MerchantSettingKeyEnum.AUTO_CREATE_STOCK_CHANGE_TASKS,
|
||||
).update(val_bool=False)
|
||||
|
||||
order_id = self._create_purchase_order(self.strict_payload)
|
||||
record = stock_models.StockChangeRecord.objects.create(
|
||||
merchant=self.merchant,
|
||||
type=stock_models.StockChangeTypeEnum.ADD,
|
||||
warehouse=self.warehouse_strict,
|
||||
source_type=stock_models.StockChangeSourceEnum.PURCHASE,
|
||||
created_by=self.user,
|
||||
)
|
||||
|
||||
resp = self.client.post(
|
||||
f'/api/v1/purchase-orders/{order_id}/bind-stock-change/',
|
||||
{'stock_change_record_id': record.id},
|
||||
format='json',
|
||||
)
|
||||
self.assertEqual(resp.status_code, status.HTTP_200_OK)
|
||||
record.refresh_from_db()
|
||||
self.assertEqual(record.source_id, order_id)
|
||||
|
||||
def test_create_purchase_order_invalid_supplier(self):
|
||||
payload = {**self.strict_payload, 'supplier': 999}
|
||||
response = self.client.post('/api/v1/purchase-orders/', payload, format='json')
|
||||
|
||||
Reference in New Issue
Block a user