mirror of
https://github.com/bringout/oca-ocb-sale.git
synced 2026-04-26 21:12:02 +02:00
19.0 vanilla
This commit is contained in:
parent
79f83631d5
commit
73afc09215
6267 changed files with 1534193 additions and 1130106 deletions
|
|
@ -0,0 +1,82 @@
|
|||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo.exceptions import UserError
|
||||
from odoo.fields import Command
|
||||
from odoo.tests import tagged
|
||||
|
||||
from odoo.addons.payment.tests.common import PaymentCommon
|
||||
from odoo.addons.website_sale.controllers.delivery import Delivery
|
||||
from odoo.addons.website_sale.tests.common import MockRequest, WebsiteSaleCommon
|
||||
|
||||
|
||||
@tagged('post_install', '-at_install')
|
||||
class TestWebsiteSaleDeliveryController(PaymentCommon, WebsiteSaleCommon):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
self.Controller = Delivery()
|
||||
|
||||
# test that changing the carrier while there is a pending transaction raises an error
|
||||
def test_controller_change_carrier_when_transaction(self):
|
||||
website = self.website.with_env(self.env)
|
||||
self.empty_cart.transaction_ids = self._create_transaction(flow='redirect', state='pending')
|
||||
with MockRequest(website.env, website=website, sale_order_id=self.empty_cart.id) as request, self.assertRaises(UserError):
|
||||
request.cart = self.empty_cart
|
||||
self.Controller.shop_set_delivery_method(dm_id=self.free_delivery.id)
|
||||
|
||||
# test that changing the carrier while there is a draft transaction doesn't raise an error
|
||||
def test_controller_change_carrier_when_draft_transaction(self):
|
||||
website = self.website.with_env(self.env)
|
||||
self.empty_cart.transaction_ids = self._create_transaction(flow='redirect', state='draft')
|
||||
with MockRequest(website.env, website=website, sale_order_id=self.empty_cart.id):
|
||||
self.Controller.shop_set_delivery_method(dm_id=self.free_delivery.id)
|
||||
|
||||
def test_available_methods(self):
|
||||
self.env['delivery.carrier'].search([]).action_archive()
|
||||
self.product_delivery_poste = self.env['product.product'].create({
|
||||
'name': 'The Poste',
|
||||
'type': 'service',
|
||||
'categ_id': self.env.ref('delivery.product_category_deliveries').id,
|
||||
'sale_ok': False,
|
||||
'purchase_ok': False,
|
||||
'list_price': 20.0,
|
||||
})
|
||||
self.env['delivery.carrier'].create([
|
||||
{
|
||||
'name': 'Over 300',
|
||||
'delivery_type': 'base_on_rule',
|
||||
'product_id': self.product_delivery_poste.id,
|
||||
'website_published': True,
|
||||
'price_rule_ids': [
|
||||
Command.create({
|
||||
'operator': '>=',
|
||||
'max_value': 300,
|
||||
'variable': 'price',
|
||||
}),
|
||||
],
|
||||
}, {
|
||||
'name': 'Under 300',
|
||||
'delivery_type': 'base_on_rule',
|
||||
'product_id': self.product_delivery_poste.id,
|
||||
'website_published': True,
|
||||
'price_rule_ids': [
|
||||
Command.create({
|
||||
'operator': '<',
|
||||
'max_value': 300,
|
||||
'variable': 'price',
|
||||
}),
|
||||
],
|
||||
}, {
|
||||
'name': 'No rules',
|
||||
'delivery_type': 'base_on_rule',
|
||||
'product_id': self.product_delivery_poste.id,
|
||||
'website_published': True,
|
||||
}, {
|
||||
'name': 'Fixed',
|
||||
'product_id': self.product_delivery_poste.id,
|
||||
'website_published': True,
|
||||
},
|
||||
])
|
||||
|
||||
self.assertEqual(
|
||||
self.empty_cart._get_delivery_methods().mapped('name'), ['Under 300', 'Fixed']
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue