02.04.26
This commit is contained in:
@@ -154,5 +154,46 @@ class PurchaseTradeTestCase(ModuleTestCase):
|
||||
sale.crop.name = 'Main Crop'
|
||||
self.assertEqual(sale.report_crop_name, 'Main Crop')
|
||||
|
||||
def test_sale_report_multi_line_helpers_aggregate_all_lines(self):
|
||||
'sale report helpers aggregate quantity, price lines and shipment periods'
|
||||
Sale = Pool().get('sale.sale')
|
||||
|
||||
def make_line(quantity, period, linked_price):
|
||||
line = Mock()
|
||||
line.type = 'line'
|
||||
line.quantity = quantity
|
||||
line.note = ''
|
||||
line.price_type = 'priced'
|
||||
line.unit_price = Decimal('0')
|
||||
line.linked_price = Decimal(linked_price)
|
||||
line.linked_currency = Mock(rec_name='USC')
|
||||
line.linked_unit = Mock(rec_name='POUND')
|
||||
line.unit = Mock(rec_name='MT')
|
||||
line.del_period = Mock(description=period)
|
||||
line.get_pricing_text = f'ON ICE Cotton #2 {period}'
|
||||
line.lots = []
|
||||
return line
|
||||
|
||||
sale = Sale()
|
||||
sale.currency = Mock(rec_name='USD')
|
||||
sale.lines = [
|
||||
make_line('1000', 'MARCH 2026', '72.5000'),
|
||||
make_line('1000', 'MAY 2026', '70.2500'),
|
||||
]
|
||||
|
||||
self.assertEqual(sale.report_total_quantity, '2000.0')
|
||||
self.assertEqual(sale.report_quantity_unit_upper, 'MT')
|
||||
self.assertEqual(sale.report_qt, 'TWO THOUSAND METRIC TONS')
|
||||
self.assertEqual(sale.report_nb_bale, '')
|
||||
self.assertEqual(
|
||||
sale.report_shipment_periods.splitlines(),
|
||||
['MARCH 2026', 'MAY 2026'])
|
||||
self.assertEqual(
|
||||
sale.report_price_lines.splitlines(),
|
||||
[
|
||||
'USC 72.5000 PER POUND (SEVENTY TWO USC AND FIFTY CENTS) ON ICE Cotton #2 MARCH 2026',
|
||||
'USC 70.2500 PER POUND (SEVENTY USC AND TWENTY FIVE CENTS) ON ICE Cotton #2 MAY 2026',
|
||||
])
|
||||
|
||||
|
||||
del ModuleTestCase
|
||||
|
||||
Reference in New Issue
Block a user