Pnl shipment

This commit is contained in:
2026-06-10 10:57:34 +02:00
parent 68bd105e59
commit 96ad6dd1c6
8 changed files with 86 additions and 11 deletions

View File

@@ -639,9 +639,11 @@ class PurchaseTradeTestCase(ModuleTestCase):
sale_line=sale_line)
sale_lot.get_current_quantity_converted.return_value = Decimal('2000')
purchase_line.lots = [purchase_lot]
shipment = Mock(id=70)
lotqt = Mock(
lot_p=purchase_lot, lot_s=sale_lot,
lot_quantity=Decimal('500'), lot_unit=unit)
lot_quantity=Decimal('500'), lot_unit=unit,
lot_shipment_in=shipment)
lotqt_model = Mock()
lotqt_model.search.return_value = [lotqt]
pool = Mock()
@@ -653,9 +655,11 @@ class PurchaseTradeTestCase(ModuleTestCase):
self.assertEqual(len(lines), 2)
self.assertEqual(lines[0]['type'], 'pur. priced')
self.assertEqual(lines[0]['quantity'], Decimal('500.00000'))
self.assertEqual(lines[0]['shipment_in'], shipment.id)
self.assertEqual(lines[0]['amount'], Decimal('-22500.00'))
self.assertEqual(lines[1]['type'], 'sale priced')
self.assertEqual(lines[1]['quantity'], Decimal('500.00000'))
self.assertEqual(lines[1]['shipment_in'], shipment.id)
self.assertEqual(lines[1]['amount'], Decimal('50000.00'))
@with_transaction()
@@ -2981,6 +2985,7 @@ class PurchaseTradeTestCase(ModuleTestCase):
'shipment PnL uses valuation lines from physical and open lot links'
ShipmentIn = Pool().get('stock.shipment.in')
shipment = ShipmentIn()
shipment.id = 99
physical_lot = Mock(id=1)
open_purchase_lot = Mock(id=2)
open_sale_lot = Mock(id=3)
@@ -3000,7 +3005,13 @@ class PurchaseTradeTestCase(ModuleTestCase):
self.assertEqual(shipment.get_pnl_lines(None), [10, 11])
valuation_model.search.assert_called_once_with(
[('lot', 'in', [1, 2, 3])],
['OR',
[('shipment_in', '=', 99)],
[
('shipment_in', '=', None),
('lot', 'in', [1, 2, 3]),
],
],
order=[('date', 'DESC'), ('id', 'DESC')])
def test_sale_and_purchase_tolerance_option_defaults_to_empty(self):