forked from erp-dev/erp
feat: human_id for all objects in business module
This commit is contained in:
@@ -260,6 +260,7 @@ class PaymentReceiptServiceTestCase(TestCase):
|
||||
)
|
||||
self.assertFalse(order.is_external_source)
|
||||
self.assertIsNone(order.external_source_id)
|
||||
self.assertEqual(order.human_id, f'FK{order.created_at:%Y%m%d}{order.id:06d}')
|
||||
|
||||
order.is_external_source = True
|
||||
order.external_source_id = 'XT20260001'
|
||||
@@ -269,6 +270,7 @@ class PaymentReceiptServiceTestCase(TestCase):
|
||||
serializer = PaymentOrderSerializer(order)
|
||||
self.assertTrue(serializer.data['is_external_source'])
|
||||
self.assertEqual(serializer.data['external_source_id'], 'XT20260001')
|
||||
self.assertEqual(serializer.data['human_id'], order.human_id)
|
||||
|
||||
def test_receipt_order_external_source_fields_default_and_serialized(self):
|
||||
order = services.create_receipt_order(
|
||||
@@ -280,6 +282,7 @@ class PaymentReceiptServiceTestCase(TestCase):
|
||||
)
|
||||
self.assertFalse(order.is_external_source)
|
||||
self.assertIsNone(order.external_source_id)
|
||||
self.assertEqual(order.human_id, f'SK{order.created_at:%Y%m%d}{order.id:06d}')
|
||||
|
||||
order.is_external_source = True
|
||||
order.external_source_id = 'SK20225323'
|
||||
@@ -289,3 +292,4 @@ class PaymentReceiptServiceTestCase(TestCase):
|
||||
serializer = ReceiptOrderSerializer(order)
|
||||
self.assertTrue(serializer.data['is_external_source'])
|
||||
self.assertEqual(serializer.data['external_source_id'], 'SK20225323')
|
||||
self.assertEqual(serializer.data['human_id'], order.human_id)
|
||||
|
||||
@@ -66,7 +66,7 @@ class BusinessStatementServiceTestCase(TestCase):
|
||||
target_status=business_models.ReceiptOrderStatusEnum.APPROVED,
|
||||
)
|
||||
|
||||
business_models.ExternalCustomerStatementOrder.objects.create(
|
||||
external_sale_order = business_models.ExternalCustomerStatementOrder.objects.create(
|
||||
merchant=merchant,
|
||||
customer=customer,
|
||||
category=business_models.ExternalCustomerStatementCategoryEnum.SALE,
|
||||
@@ -77,7 +77,7 @@ class BusinessStatementServiceTestCase(TestCase):
|
||||
zk_amount=Decimal('3'),
|
||||
items_payload=[{'product_name': '外部销售'}],
|
||||
)
|
||||
business_models.ExternalCustomerStatementOrder.objects.create(
|
||||
external_return_order = business_models.ExternalCustomerStatementOrder.objects.create(
|
||||
merchant=merchant,
|
||||
customer=customer,
|
||||
category=business_models.ExternalCustomerStatementCategoryEnum.SALE_RETURN,
|
||||
@@ -102,11 +102,19 @@ class BusinessStatementServiceTestCase(TestCase):
|
||||
},
|
||||
)
|
||||
sales_record = next(record for record in payload['records'] if record['source_type'] == 'sales_order')
|
||||
self.assertEqual(sales_record['human_id'], sales_order.human_id)
|
||||
self.assertEqual(sales_record['items'][0]['quantity'], Decimal('10'))
|
||||
self.assertEqual(sales_record['items'][0]['quantity_of_rolls'], [6, 4])
|
||||
return_record = next(record for record in payload['records'] if record['source_type'] == 'sales_return_order')
|
||||
self.assertEqual(return_record['human_id'], return_order.human_id)
|
||||
receipt_record = next(record for record in payload['records'] if record['source_type'] == 'receipt_order')
|
||||
self.assertEqual(receipt_record['human_id'], receipt_order.human_id)
|
||||
self.assertEqual(receipt_record['positive_amount'], Decimal('-2.00'))
|
||||
self.assertEqual(receipt_record['negative_amount'], Decimal('20.00'))
|
||||
external_sale_record = next(record for record in payload['records'] if record['source_type'] == 'external_sales_order')
|
||||
self.assertEqual(external_sale_record['human_id'], str(external_sale_order.id))
|
||||
external_return_record = next(record for record in payload['records'] if record['source_type'] == 'external_sales_return_order')
|
||||
self.assertEqual(external_return_record['human_id'], str(external_return_order.id))
|
||||
summary = services.build_statement_summary(payload)
|
||||
self.assertIn('positive_total', summary)
|
||||
self.assertIn('negative_total', summary)
|
||||
@@ -162,9 +170,13 @@ class BusinessStatementServiceTestCase(TestCase):
|
||||
source_types = {record['source_type'] for record in payload['records']}
|
||||
self.assertEqual(source_types, {'purchase_order', 'purchase_return_order', 'payment_order'})
|
||||
purchase_record = next(record for record in payload['records'] if record['source_type'] == 'purchase_order')
|
||||
self.assertEqual(purchase_record['human_id'], purchase_order.human_id)
|
||||
self.assertEqual(purchase_record['items'][0]['quantity'], Decimal('10'))
|
||||
self.assertEqual(purchase_record['items'][0]['num_of_rolls'], 2)
|
||||
return_record = next(record for record in payload['records'] if record['source_type'] == 'purchase_return_order')
|
||||
self.assertEqual(return_record['human_id'], return_order.human_id)
|
||||
payment_record = next(record for record in payload['records'] if record['source_type'] == 'payment_order')
|
||||
self.assertEqual(payment_record['human_id'], payment_order.human_id)
|
||||
self.assertEqual(payment_record['negative_amount'], Decimal('15.00'))
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user