odoo18/addons/website_sale/tests/test_sale_order.py

60 lines
2.0 KiB
Python

# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import Command
from odoo.tests import tagged
from odoo.addons.sale.tests.common import SaleCommon
@tagged('post_install', '-at_install')
class TestSaleOrder(SaleCommon):
def test_delivery_methods_match_order_company(self):
company_1 = self.env['res.company'].create({'name': 'Test Company 1'})
company_2 = self.env['res.company'].create({'name': 'Test Company 2'})
product_delivery_1 = self.env['product.product'].create(
{
'name': 'Delivery Product 1',
'type': 'service',
'company_id': company_1.id,
}
)
product_delivery_2 = self.env['product.product'].create(
{
'name': 'Delivery Product 2',
'type': 'service',
'company_id': company_2.id,
}
)
delivery_1 = self.env['delivery.carrier'].create(
{
'name': 'Delivery 1',
'delivery_type': 'fixed',
'product_id': product_delivery_1.id,
'is_published': True,
}
)
delivery_2 = self.env['delivery.carrier'].create(
{
'name': 'Delivery 2',
'delivery_type': 'fixed',
'product_id': product_delivery_2.id,
'is_published': True,
}
)
sale_order = self.env['sale.order'].create(
{
'partner_id': self.partner.id,
'company_id': company_1.id,
'order_line': [
Command.create(
{
'product_id': self.product.id,
}
)],
}
)
available_dms = sale_order._get_delivery_methods()
self.assertIn(delivery_1, available_dms)
self.assertNotIn(delivery_2, available_dms)