This commit is contained in:
2026-04-02 13:16:17 +02:00
parent 6d52317804
commit 11526ef3ee
2 changed files with 32 additions and 9 deletions

View File

@@ -333,16 +333,25 @@ class PurchaseTradeTestCase(ModuleTestCase):
self.assertEqual(invoice.report_net, Decimal('800'))
def test_invoice_report_nb_bale_uses_abs_mt_difference(self):
'invoice final note displays bale count as rounded MT differential'
def test_invoice_report_nb_bale_uses_uom_conversion_with_sign(self):
'invoice final note converts signed net quantity to bale using UoM rules'
Invoice = Pool().get('account.invoice')
line = Mock(type='line', quantity=Decimal('-15'))
line.unit = Mock(rec_name='MT')
line.unit.category = Mock()
bale_uom = Mock(category=line.unit.category)
uom_model = Mock()
uom_model.get_by_name.return_value = bale_uom
uom_model.compute_qty.return_value = Decimal('-53.6')
invoice = Invoice()
invoice.lines = [line]
self.assertEqual(invoice.report_nb_bale, 'NB BALES: 15')
with patch(
'trytond.modules.purchase_trade.invoice.Pool'
) as PoolMock:
PoolMock.return_value.get.return_value = uom_model
self.assertEqual(invoice.report_nb_bale, 'NB BALES: -54')
def test_invoice_report_positive_rate_lines_keep_positive_components(self):
'invoice final note pricing section keeps only positive component lines'