Odoo18-Base/addons/l10n_ro_edi_stock/tests/common.py
2025-03-10 10:52:11 +07:00

46 lines
2.1 KiB
Python

from odoo.addons.stock_account.tests.test_anglo_saxon_valuation_reconciliation_common import ValuationReconciliationTestCommon
class TestL10nRoEdiStockCommon(ValuationReconciliationTestCommon):
@classmethod
def setUpClass(cls, chart_template_ref='ro'):
super().setUpClass(chart_template_ref=chart_template_ref)
cls.warehouse = cls.company_data['default_warehouse']
cls.customer_location = cls.env.ref('stock.stock_location_customers').id
cls.stock_location = cls.warehouse.lot_stock_id.id
@classmethod
def create_stock_picking(cls, partner, name=False, location_id=None, location_dest_id=None, picking_type=None, product_data=None):
picking = cls.env['stock.picking'].create({
'name': name or f'{cls.env.company.name} picking',
'partner_id': partner.id,
'location_id': location_id if location_id else cls.stock_location,
'location_dest_id': location_dest_id if location_dest_id else cls.customer_location,
'picking_type_id': picking_type.id if picking_type else cls.warehouse.out_type_id.id,
})
for data in product_data or []:
product = data['product_id']
cls.env['stock.move'].create({
'name': product.name,
'product_id': product.id,
'product_uom': product.uom_id.id,
'product_uom_qty': data['product_uom_qty'],
'quantity': data['quantity'],
'procure_method': data.get('procure_method', 'make_to_stock'),
'picking_id': picking.id,
'location_id': picking.location_id.id,
'location_dest_id': picking.location_dest_id.id,
'company_id': cls.env.company.id
})
return picking
def change_product_qty(self, product, new_quantity, product_tmpl=None):
self.env['stock.change.product.qty'].create({
'product_id': product.id,
'product_tmpl_id': product_tmpl.id if product_tmpl else product.product_tmpl_id.id,
'new_quantity': new_quantity,
}).change_product_qty()