summaryrefslogtreecommitdiff
path: root/addons/website_event_sale/static/tests
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_event_sale/static/tests
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/website_event_sale/static/tests')
-rw-r--r--addons/website_event_sale/static/tests/tours/website_event_sale.js98
1 files changed, 98 insertions, 0 deletions
diff --git a/addons/website_event_sale/static/tests/tours/website_event_sale.js b/addons/website_event_sale/static/tests/tours/website_event_sale.js
new file mode 100644
index 00000000..51f7627e
--- /dev/null
+++ b/addons/website_event_sale/static/tests/tours/website_event_sale.js
@@ -0,0 +1,98 @@
+odoo.define('website_event_sale.tour', function (require) {
+'use strict';
+
+var tour = require('web_tour.tour');
+
+tour.register('event_buy_tickets', {
+ test: true,
+ url: '/event',
+},
+ [
+ {
+ content: "Go to the `Events` page",
+ trigger: 'a[href*="/event"]:contains("Conference for Architects TEST"):first',
+ },
+ {
+ content: "Show available Tickets",
+ trigger: '.o_wevent_registration_btn',
+ },
+ {
+ content: "Select 1 unit of `Standard` ticket type",
+ extra_trigger: '#wrap:not(:has(a[href*="/event"]:contains("Conference for Architects")))',
+ trigger: 'select:eq(0)',
+ run: 'text 1',
+ },
+ {
+ content: "Select 2 units of `VIP` ticket type",
+ extra_trigger: 'select:eq(0):has(option:contains(1):propSelected)',
+ trigger: 'select:eq(1)',
+ run: 'text 2',
+ },
+ {
+ content: "Click on `Order Now` button",
+ extra_trigger: 'select:eq(1):has(option:contains(2):propSelected)',
+ trigger: '.btn-primary:contains("Register")',
+ },
+ {
+ content: "Fill attendees details",
+ trigger: 'form[id="attendee_registration"] .btn:contains("Continue")',
+ run: function () {
+ $("input[name='1-name']").val("Att1");
+ $("input[name='1-phone']").val("111 111");
+ $("input[name='1-email']").val("att1@example.com");
+ $("input[name='2-name']").val("Att2");
+ $("input[name='2-phone']").val("222 222");
+ $("input[name='2-email']").val("att2@example.com");
+ $("input[name='3-name']").val("Att3");
+ $("input[name='3-phone']").val("333 333");
+ $("input[name='3-email']").val("att3@example.com");
+ },
+ },
+ {
+ content: "Validate attendees details",
+ extra_trigger: "input[name='1-name'], input[name='2-name'], input[name='3-name']",
+ trigger: 'button:contains("Continue")',
+ },
+ {
+ content: "Check that the cart contains exactly 3 triggers",
+ trigger: 'a:has(.my_cart_quantity:containsExact(3)),.o_extra_menu_items .fa-plus',
+ run: function () {}, // it's a check
+ },
+ {
+ content: "go to cart",
+ trigger: 'a:contains(Return to Cart)',
+ },
+ {
+ content: "Modify the cart to add 1 unit of `VIP` ticket type",
+ extra_trigger: "#cart_products:contains(Standard):contains(VIP)",
+ trigger: "#cart_products tr:contains(VIP) .fa-plus",
+ },
+ {
+ content: "Now click on `Process Checkout`",
+ extra_trigger: 'a:has(.my_cart_quantity):contains(4),#cart_products input.js_quantity[value="3"]',
+ trigger: '.btn-primary:contains("Process Checkout")'
+ },
+ {
+ content: "Check that the subtotal is 5,500.00 USD", // this test will fail if the currency of the main company is not USD
+ trigger: '#order_total_untaxed .oe_currency_value:contains("5,500.00")',
+ run: function () {}, // it's a check
+ },
+ {
+ content: "Select `Wire Transfer` payment method",
+ trigger: '#payment_method label:contains("Wire Transfer")',
+ },
+ {
+ content: "Pay",
+ //Either there are multiple payment methods, and one is checked, either there is only one, and therefore there are no radio inputs
+ extra_trigger: '#payment_method label:contains("Wire Transfer") input:checked,#payment_method:not(:has("input:radio:visible"))',
+ trigger: 'button[id="o_payment_form_pay"]:visible',
+ },
+ {
+ content: "Last step",
+ trigger: '.oe_website_sale:contains("Please make a payment to:")',
+ timeout: 30000,
+ }
+ ]
+);
+
+});