forked from erp-dev/erp
feat: added migrate for set id init value into 8000 of plate_order
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.test import TestCase
|
||||
from django.utils import timezone
|
||||
from decimal import Decimal
|
||||
@@ -128,6 +129,54 @@ class StockServicesTestCase(TestCase):
|
||||
)
|
||||
|
||||
|
||||
class StockChangeRecordValidationTestCase(StockServicesTestCase):
|
||||
"""验证 StockChangeRecord.clean 的来源类型校验"""
|
||||
|
||||
def test_add_record_accepts_combine_source(self):
|
||||
record = models.StockChangeRecord(
|
||||
merchant=self.merchant,
|
||||
warehouse=self.warehouse_main,
|
||||
type=models.StockChangeTypeEnum.ADD,
|
||||
source_type=models.StockChangeSourceEnum.COMBINE,
|
||||
)
|
||||
try:
|
||||
record.full_clean()
|
||||
except ValidationError as exc:
|
||||
self.fail(f'合并应视为入库来源,但触发校验错误: {exc}')
|
||||
|
||||
def test_remove_record_accepts_explode_source(self):
|
||||
record = models.StockChangeRecord(
|
||||
merchant=self.merchant,
|
||||
warehouse=self.warehouse_main,
|
||||
type=models.StockChangeTypeEnum.REMOVE,
|
||||
source_type=models.StockChangeSourceEnum.EXPLODE,
|
||||
)
|
||||
try:
|
||||
record.full_clean()
|
||||
except ValidationError as exc:
|
||||
self.fail(f'拆卷应视为出库来源,但触发校验错误: {exc}')
|
||||
|
||||
def test_add_record_rejects_outgoing_source(self):
|
||||
record = models.StockChangeRecord(
|
||||
merchant=self.merchant,
|
||||
warehouse=self.warehouse_main,
|
||||
type=models.StockChangeTypeEnum.ADD,
|
||||
source_type=models.StockChangeSourceEnum.SALES,
|
||||
)
|
||||
with self.assertRaises(ValidationError):
|
||||
record.full_clean()
|
||||
|
||||
def test_remove_record_rejects_incoming_source(self):
|
||||
record = models.StockChangeRecord(
|
||||
merchant=self.merchant,
|
||||
warehouse=self.warehouse_main,
|
||||
type=models.StockChangeTypeEnum.REMOVE,
|
||||
source_type=models.StockChangeSourceEnum.PURCHASE,
|
||||
)
|
||||
with self.assertRaises(ValidationError):
|
||||
record.full_clean()
|
||||
|
||||
|
||||
class FindInventoryTestCase(StockServicesTestCase):
|
||||
"""测试 find_inventory 函数"""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user