Show weight report sale invoice reference

This commit is contained in:
2026-07-31 09:01:39 +02:00
parent d81a8750d3
commit 7fcc90d0a4
3 changed files with 51 additions and 57 deletions

View File

@@ -7417,34 +7417,22 @@ description</t></is></c>
shipment.report_insurance_issue_place_and_date,
'GENEVA, 06-04-2026')
def test_shipment_sale_invoice_numbers_use_physical_lot_invoices(self):
'shipment tree helper lists sale invoices linked to physical lots'
final_invoice = SimpleNamespace(id=1, rec_name='SINV-001')
provisional_invoice = SimpleNamespace(id=2, rec_name='SPRO-002')
final_line = SimpleNamespace(invoice=final_invoice)
provisional_line = SimpleNamespace(invoice=provisional_invoice)
physical_final = SimpleNamespace(
lot_type='physic',
sale_invoice_line=final_line,
sale_invoice_line_prov=provisional_line)
physical_provisional = SimpleNamespace(
lot_type='physic',
sale_invoice_line=None,
sale_invoice_line_prov=provisional_line)
virtual = SimpleNamespace(
lot_type='virtual',
sale_invoice_line=SimpleNamespace(
invoice=SimpleNamespace(id=3, rec_name='IGNORED')),
sale_invoice_line_prov=None)
shipment = SimpleNamespace(lotqt=[
SimpleNamespace(lot_p=physical_final, lot_s=virtual),
SimpleNamespace(lot_p=physical_provisional, lot_s=None),
SimpleNamespace(lot_p=physical_final, lot_s=None),
])
def test_shipment_sale_invoice_ref_uses_weight_report_message(self):
'shipment tree helper reads the sale invoice ref from instructions'
shipment = SimpleNamespace(
instructions=(
'<p><strong>Customer:</strong> CLIENT | '
'<strong>Invoice Nb:</strong> 4661 | '
'<strong>Invoice Date:</strong> 2026-07-28</p>'),
html_to_text=Mock(side_effect=lambda html_content:
stock_module.ShipmentIn.html_to_text(
SimpleNamespace(), html_content)),
_sale_invoice_ref_from_fintrade=Mock(return_value='IGNORED'))
self.assertEqual(
stock_module.ShipmentIn.get_sale_invoice_numbers(shipment),
'SINV-001, SPRO-002')
stock_module.ShipmentIn.get_sale_invoice_ref(shipment),
'4661')
shipment._sale_invoice_ref_from_fintrade.assert_not_called()
def test_shipment_insurance_amount_fallback_uses_lot_and_incoming_moves(self):
'insurance amount falls back to lot unit price and shipment quantities'