/** @odoo-module **/ import { registry } from "@web/core/registry"; registry.category("web_tour.tours").add('test_survey_prefill', { test: true, url: '/survey/start/b137640d-14d4-4748-9ef6-344caaaaaae', steps: () => [{ // Page-1 trigger: 'button.btn.btn-primary.btn-lg:contains("Start Survey")', }, { // Question: Where do you live? trigger: 'div.js_question-wrapper:contains("Where do you live?") input', run: 'text Grand-Rosiere', }, { // Question: When is your date of birth? trigger: 'div.js_question-wrapper:contains("When is your date of birth?") input', run: 'text 05/05/1980', }, { // Question: How frequently do you buy products online? trigger: 'div.js_question-wrapper:contains("How frequently do you buy products online?") label:contains("Once a week")', }, { // Question: How many times did you order products on our website? trigger: 'div.js_question-wrapper:contains("How many times did you order products on our website?") input', run: 'text 42', }, { content: 'Click on Next Page', trigger: 'button[value="next"]', }, // Page-2 { // Question: Which of the following words would you use to describe our products? content: 'Answer Which of the following words would you use to describe our products (High Quality)', trigger: 'div.js_question-wrapper:contains("Which of the following words would you use to describe our products") label:contains("High quality")', }, { content: 'Answer Which of the following words would you use to describe our products (Good value for money)', trigger: 'div.js_question-wrapper:contains("Which of the following words would you use to describe our products") label:contains("Good value for money")', }, { content: 'Answer What do your think about our new eCommerce (The new layout and design is fresh and up-to-date)', trigger: 'div.js_question-wrapper:contains("What do your think about our new eCommerce") tr:contains("The new layout and design is fresh and up-to-date") td:first', }, { content: 'Answer What do your think about our new eCommerce (It is easy to find the product that I want)', trigger: 'div.js_question-wrapper:contains("What do your think about our new eCommerce") tr:contains("It is easy to find the product that I want") td:eq(2)', }, { content: 'Answer What do your think about our new eCommerce (The tool to compare the products is useful to make a choice)', trigger: 'div.js_question-wrapper:contains("What do your think about our new eCommerce") tr:contains("The tool to compare the products is useful to make a choice") td:eq(3)', }, { content: 'Answer What do your think about our new eCommerce (The checkout process is clear and secure)', trigger: 'div.js_question-wrapper:contains("What do your think about our new eCommerce") tr:contains("The checkout process is clear and secure") td:eq(2)', }, { content: 'Answer What do your think about our new eCommerce (I have added products to my wishlist)', trigger: 'div.js_question-wrapper:contains("What do your think about our new eCommerce") tr:contains("I have added products to my wishlist") td:last', }, { content: 'Answer Do you have any other comments, questions, or concerns', trigger: 'div.js_question-wrapper:contains("Do you have any other comments, questions, or concerns") textarea', run: 'text Is the prefill working?', }, { // Go back to previous page content: 'Click on the previous page name in the breadcrumb', trigger: 'ol.breadcrumb a:first', }, { trigger: 'div.js_question-wrapper:contains("How many times did you order products on our website?") input', run: function () { var $inputQ3 = $('div.js_question-wrapper:contains("How many times did you order products on our website?") input'); if ($inputQ3.val() === '42.0') { $('.o_survey_title').addClass('prefilled'); } } }, { trigger: '.o_survey_title.prefilled', run: function () { // check that all the answers are prefilled in Page 1 var $inputQ1 = $('div.js_question-wrapper:contains("Where do you live?") input'); if ($inputQ1.val() !== 'Grand-Rosiere') { return; } var $inputQ2 = $('div.js_question-wrapper:contains("When is your date of birth?") input'); if ($inputQ2.val() !== '05/05/1980') { return; } var $inputQ3 = $('div.js_question-wrapper:contains("How frequently do you buy products online?") label:contains("Once a week") input'); if (!$inputQ3.is(':checked')) { return; } var $inputQ4 = $('div.js_question-wrapper:contains("How many times did you order products on our website?") input'); if ($inputQ4.val() !== '42.0') { return; } $('.o_survey_title').addClass('tour_success'); } }, { trigger: '.o_survey_title.tour_success' }, { content: 'Click on Next Page', trigger: 'button[value="next"]', }, { trigger: 'div.js_question-wrapper:contains("Do you have any other comments, questions, or concerns") textarea', run: function () { var $inputQ3 = $('div.js_question-wrapper:contains("Do you have any other comments, questions, or concerns") textarea'); if ($inputQ3.val() === "Is the prefill working?") { $('.o_survey_title').addClass('prefilled2'); } } }, { trigger: '.o_survey_title.prefilled2', run: function () { // check that all the answers are prefilled in Page 2 var $input1Q1 = $('div.js_question-wrapper:contains("Which of the following words would you use to describe our products") label:contains("High quality") input'); if (!$input1Q1.is(':checked')) { return; } var $input2Q1 = $('div.js_question-wrapper:contains("Which of the following words would you use to describe our products") label:contains("Good value for money") input'); if (!$input2Q1.is(':checked')) { return; } var $input1Q2 = $('div.js_question-wrapper:contains("What do your think about our new eCommerce") tr:contains("The new layout and design is fresh and up-to-date") input:first'); if (!$input1Q2.is(':checked')) { return; } var $input2Q2 = $('div.js_question-wrapper:contains("What do your think about our new eCommerce") tr:contains("It is easy to find the product that I want") input:eq(2)'); if (!$input2Q2.is(':checked')) { return; } var $input3Q2 = $('div.js_question-wrapper:contains("What do your think about our new eCommerce") tr:contains("The tool to compare the products is useful to make a choice") input:eq(3)'); if (!$input3Q2.is(':checked')) { return; } var $input4Q2 = $('div.js_question-wrapper:contains("What do your think about our new eCommerce") tr:contains("The checkout process is clear and secure") input:eq(2)'); if (!$input4Q2.is(':checked')) { return; } var $input5Q2 = $('div.js_question-wrapper:contains("What do your think about our new eCommerce") tr:contains("I have added products to my wishlist") input:last'); if (!$input5Q2.is(':checked')) { return; } var $inputQ3 = $('div.js_question-wrapper:contains("Do you have any other comments, questions, or concerns") textarea'); if ($inputQ3.val() !== "Is the prefill working?") { return; } $('.o_survey_title').addClass('tour_success_2'); } }, { trigger: '.o_survey_title.tour_success_2', isCheck: true, } ]});