Purchase & Sale Lines
This commit is contained in:
@@ -4161,6 +4161,66 @@ class PurchaseTradeTestCase(ModuleTestCase):
|
||||
'estimated_date': datetime.date(2026, 5, 1),
|
||||
}])])
|
||||
|
||||
def test_purchase_line_reporting_parent_fields_and_counts(self):
|
||||
'purchase line reporting fields mirror parent values and relation counts'
|
||||
PurchaseLine = Pool().get('purchase.line')
|
||||
line = PurchaseLine()
|
||||
line.purchase = Mock(
|
||||
trader=Mock(id=10),
|
||||
operator=Mock(id=11),
|
||||
broker=Mock(id=12),
|
||||
contract_template=Mock(id=13),
|
||||
our_reference='OUR-PUR',
|
||||
lc_date=datetime.date(2026, 5, 2),
|
||||
product_origin='Origin',
|
||||
)
|
||||
line.price_components = [Mock(), Mock()]
|
||||
line.price_pricing = [Mock()]
|
||||
line.mtm = [Mock(), Mock(), Mock()]
|
||||
line.lots = []
|
||||
|
||||
self.assertEqual(line.get_parent_field('parent_trader'), 10)
|
||||
self.assertEqual(line.get_parent_field('parent_operator'), 11)
|
||||
self.assertEqual(
|
||||
line.get_parent_field('parent_contract_template'), 13)
|
||||
self.assertEqual(line.get_parent_field('parent_our_reference'), 'OUR-PUR')
|
||||
self.assertEqual(
|
||||
line.get_relation_count('price_component_count'), 2)
|
||||
self.assertEqual(line.get_relation_count('pricing_count'), 1)
|
||||
self.assertEqual(line.get_relation_count('mtm_count'), 3)
|
||||
self.assertEqual(line.get_relation_count('lot_count'), 0)
|
||||
|
||||
def test_sale_line_reporting_parent_fields_and_counts(self):
|
||||
'sale line reporting fields mirror parent values and relation counts'
|
||||
SaleLine = Pool().get('sale.line')
|
||||
line = SaleLine()
|
||||
line.sale = Mock(
|
||||
trader=Mock(id=20),
|
||||
operator=Mock(id=21),
|
||||
invoice_party=Mock(id=22),
|
||||
shipment_party=Mock(id=23),
|
||||
contract_template=Mock(id=24),
|
||||
our_reference='OUR-SALE',
|
||||
lc_date=datetime.date(2026, 5, 3),
|
||||
product_origin='Origin',
|
||||
)
|
||||
line.price_components = [Mock()]
|
||||
line.price_composition = [Mock(), Mock()]
|
||||
line.price_pricing = []
|
||||
line.fees = [Mock(), Mock(), Mock()]
|
||||
|
||||
self.assertEqual(line.get_parent_field('parent_trader'), 20)
|
||||
self.assertEqual(line.get_parent_field('parent_operator'), 21)
|
||||
self.assertEqual(line.get_parent_field('parent_invoice_party'), 22)
|
||||
self.assertEqual(line.get_parent_field('parent_shipment_party'), 23)
|
||||
self.assertEqual(line.get_parent_field('parent_our_reference'), 'OUR-SALE')
|
||||
self.assertEqual(
|
||||
line.get_relation_count('price_component_count'), 1)
|
||||
self.assertEqual(
|
||||
line.get_relation_count('price_composition_count'), 2)
|
||||
self.assertEqual(line.get_relation_count('pricing_count'), 0)
|
||||
self.assertEqual(line.get_relation_count('fee_count'), 3)
|
||||
|
||||
def test_purchase_and_sale_line_keep_explicit_estimated_bl_date(self):
|
||||
'new lines keep explicit estimated BL date'
|
||||
PurchaseLine = Pool().get('purchase.line')
|
||||
|
||||
Reference in New Issue
Block a user