Hide field ITSA
This commit is contained in:
@@ -272,6 +272,46 @@ class PurchaseTradeTestCase(ModuleTestCase):
|
||||
self.assertEqual(fee.quantity, Decimal('40.00000'))
|
||||
save.assert_called_once_with([fee])
|
||||
|
||||
def test_fee_pnl_regeneration_uses_shipment_lotqt_purchase_line(self):
|
||||
'fee pnl regeneration follows shipment lot.qt back to purchase line'
|
||||
Fee = Pool().get('fee.fee')
|
||||
purchase_line = Mock(id=1)
|
||||
lot_p = Mock(line=purchase_line, sale_line=None)
|
||||
shipment = Mock(
|
||||
incoming_moves=[],
|
||||
lotqt=[Mock(lot_p=lot_p, lot_s=None)],
|
||||
)
|
||||
fee = Mock(line=None, sale_line=None, lots=[], shipment_in=shipment)
|
||||
valuation = Mock()
|
||||
|
||||
with patch('trytond.modules.purchase_trade.fee.Pool') as PoolMock:
|
||||
PoolMock.return_value.get.return_value = valuation
|
||||
|
||||
Fee._regenerate_fee_pnl(fees=[fee])
|
||||
|
||||
valuation.generate.assert_called_once_with(
|
||||
purchase_line, valuation_type='fees')
|
||||
valuation.generate_from_sale_line.assert_not_called()
|
||||
|
||||
def test_fee_pnl_regeneration_updates_purchase_and_sale_lot_lines(self):
|
||||
'fee pnl regeneration follows physical fee lots to purchase and sale'
|
||||
Fee = Pool().get('fee.fee')
|
||||
purchase_line = Mock(id=1)
|
||||
sale_line = Mock(id=2)
|
||||
lot = Mock(line=purchase_line, sale_line=sale_line)
|
||||
fee = Mock(line=None, sale_line=None, lots=[lot], shipment_in=None)
|
||||
valuation = Mock()
|
||||
|
||||
with patch('trytond.modules.purchase_trade.fee.Pool') as PoolMock:
|
||||
PoolMock.return_value.get.return_value = valuation
|
||||
|
||||
Fee._regenerate_fee_pnl(fees=[fee])
|
||||
|
||||
valuation.generate.assert_called_once_with(
|
||||
purchase_line, valuation_type='fees')
|
||||
valuation.generate_from_sale_line.assert_called_once_with(
|
||||
sale_line, valuation_type='fees')
|
||||
|
||||
def test_purchase_fee_pnl_ignores_virtual_fee_lot_when_physical_exists(self):
|
||||
'purchase fee pnl uses physical fee lots instead of the residual virtual'
|
||||
Valuation = Pool().get('valuation.valuation')
|
||||
|
||||
Reference in New Issue
Block a user