54 lines
1.7 KiB
Python
54 lines
1.7 KiB
Python
from odoo.tests.common import TransactionCase, Form
|
|
|
|
|
|
class TestRoutes(TransactionCase):
|
|
|
|
def test_allow_rule_creation_for_route_without_company(self):
|
|
self.env['res.config.settings'].write({
|
|
'group_stock_adv_location': True,
|
|
'group_stock_multi_locations': True,
|
|
})
|
|
|
|
warehouse = self.env['stock.warehouse'].search([('company_id', '=', self.env.company.id)], limit=1)
|
|
|
|
location_1 = self.env['stock.location'].create({
|
|
'name': 'loc1',
|
|
'location_id': warehouse.id
|
|
})
|
|
|
|
location_2 = self.env['stock.location'].create({
|
|
'name': 'loc2',
|
|
'location_id': warehouse.id
|
|
})
|
|
|
|
receipt_1 = self.env['stock.picking.type'].create({
|
|
'name': 'Receipts from loc1',
|
|
'sequence_code': 'IN1',
|
|
'code': 'incoming',
|
|
'warehouse_id': warehouse.id,
|
|
'default_location_dest_id': location_1.id,
|
|
})
|
|
|
|
receipt_2 = self.env['stock.picking.type'].create({
|
|
'name': 'Receipts from loc2',
|
|
'sequence_code': 'IN2',
|
|
'code': 'incoming',
|
|
'warehouse_id': warehouse.id,
|
|
'default_location_dest_id': location_2.id,
|
|
})
|
|
|
|
route = self.env['stock.route'].create({
|
|
'name': 'Buy',
|
|
'company_id': False
|
|
})
|
|
|
|
with Form(route) as r:
|
|
with r.rule_ids.new() as line:
|
|
line.name = 'first rule'
|
|
line.action = 'buy'
|
|
line.picking_type_id = receipt_1
|
|
with r.rule_ids.new() as line:
|
|
line.name = 'second rule'
|
|
line.action = 'buy'
|
|
line.picking_type_id = receipt_2
|