46 lines
2.1 KiB
Python
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()
|