diff --git a/addons/website_sale_delivery/static/src/js/website_free_delivery_tour.js b/addons/website_sale_delivery/static/src/js/website_free_delivery_tour.js new file mode 100644 index 00000000000..f6e68d66b25 --- /dev/null +++ b/addons/website_sale_delivery/static/src/js/website_free_delivery_tour.js @@ -0,0 +1,36 @@ +odoo.define('website_sale_delivery.tour', function (require) { +'use strict'; + +var base = require('web_editor.base'); +var tour = require("web_tour.tour"); + +tour.register('check_free_delivery', { + test: true, + url: '/shop?search=conference chair', + wait_for: base.ready(), +}, + [ + { + content: "select conference chair", + trigger: '.oe_product_cart:first a:contains("Conference Chair")', + }, + { + content: "click on add to cart", + extra_trigger: 'label:contains(Steel) input:propChecked', + trigger: '#product_detail form[action^="/shop/cart/update"] .btn-primary', + }, + { + content: "click in modal on 'Proceed to checkout' button", + trigger: 'button:contains("Proceed to Checkout")', + }, + { + content: "go to checkout", + extra_trigger: '#cart_products input.js_quantity:propValue(1)', + trigger: 'a[href*="/shop/checkout"]', + }, + { + content: "Check Free Delivery value to be zero", + trigger: "#delivery_carrier span:contains('0.0')" + }, + ]); +}); diff --git a/addons/website_sale_delivery/tests/__init__.py b/addons/website_sale_delivery/tests/__init__.py new file mode 100644 index 00000000000..2235dde4188 --- /dev/null +++ b/addons/website_sale_delivery/tests/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import test_ui diff --git a/addons/website_sale_delivery/tests/test_ui.py b/addons/website_sale_delivery/tests/test_ui.py new file mode 100644 index 00000000000..74b73e47b36 --- /dev/null +++ b/addons/website_sale_delivery/tests/test_ui.py @@ -0,0 +1,14 @@ +import odoo.tests +# Part of Odoo. See LICENSE file for full copyright and licensing details. + + +@odoo.tests.tagged('post_install', '-at_install') +class TestUi(odoo.tests.HttpCase): + + def test_01_free_delivery_when_exceed_threshold(self): + self.env.ref("delivery.free_delivery_carrier").write({ + 'fixed_price': 2, + 'free_over': True, + 'amount': 10, + }) + self.phantom_js("/web", "odoo.__DEBUG__.services['web_tour.tour'].run('check_free_delivery')", "odoo.__DEBUG__.services['web_tour.tour'].tours.check_free_delivery.ready", login="admin") diff --git a/addons/website_sale_delivery/views/website_sale_delivery_templates.xml b/addons/website_sale_delivery/views/website_sale_delivery_templates.xml index 59f3c72f42c..c8f29137cc2 100644 --- a/addons/website_sale_delivery/views/website_sale_delivery_templates.xml +++ b/addons/website_sale_delivery/views/website_sale_delivery_templates.xml @@ -22,6 +22,12 @@ + +