summaryrefslogtreecommitdiff
path: root/addons/website_sale_delivery/tests/test_ui.py
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/website_sale_delivery/tests/test_ui.py
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/website_sale_delivery/tests/test_ui.py')
-rw-r--r--addons/website_sale_delivery/tests/test_ui.py72
1 files changed, 72 insertions, 0 deletions
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 00000000..e686eca2
--- /dev/null
+++ b/addons/website_sale_delivery/tests/test_ui.py
@@ -0,0 +1,72 @@
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+import odoo.tests
+
+
+@odoo.tests.tagged('post_install', '-at_install')
+class TestUi(odoo.tests.HttpCase):
+
+ def test_01_free_delivery_when_exceed_threshold(self):
+
+ # Avoid Shipping/Billing address page
+ self.env.ref('base.partner_admin').write({
+ 'street': '215 Vine St',
+ 'city': 'Scranton',
+ 'zip': '18503',
+ 'country_id': self.env.ref('base.us').id,
+ 'state_id': self.env.ref('base.state_us_39').id,
+ 'phone': '+1 555-555-5555',
+ 'email': 'admin@yourcompany.example.com',
+ })
+
+ office_chair = self.env['product.product'].create({
+ 'name': 'Office Chair Black TEST',
+ 'list_price': 12.50,
+ })
+ self.env.ref("delivery.free_delivery_carrier").write({
+ 'name': 'Delivery Now Free Over 10',
+ 'fixed_price': 2,
+ 'free_over': True,
+ 'amount': 10,
+ })
+ 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.carrier = self.env['delivery.carrier'].create({
+ 'name': 'The Poste',
+ 'sequence': 9999, # ensure last to load price async
+ 'fixed_price': 20.0,
+ 'delivery_type': 'base_on_rule',
+ 'product_id': self.product_delivery_poste.id,
+ 'website_published': True,
+ })
+ self.env['delivery.price.rule'].create([{
+ 'carrier_id': self.carrier.id,
+ 'max_value': 5,
+ 'list_base_price': 20,
+ }, {
+ 'carrier_id': self.carrier.id,
+ 'operator': '>=',
+ 'max_value': 5,
+ 'list_base_price': 50,
+ }, {
+ 'carrier_id': self.carrier.id,
+ 'operator': '>=',
+ 'max_value': 300,
+ 'variable': 'price',
+ 'list_base_price': 0,
+ }])
+
+ cash_journal = self.env['account.journal'].create({'name': 'Cash - Test', 'type': 'cash', 'code': 'CASH - Test'})
+ self.env.ref('payment.payment_acquirer_transfer').journal_id = cash_journal
+
+ # Ensure "Wire Transfer" is the default acquirer.
+ # Acquirers are sorted by state, showing `test` acquirers first (don't ask why).
+ self.env.ref("payment.payment_acquirer_transfer").write({"state": "test"})
+
+ self.start_tour("/", 'check_free_delivery', login="admin")