Odoo18-Base/addons/test_website/static/tests/tours/website_controller_page.js
2025-01-06 10:57:38 +07:00

74 lines
2.6 KiB
JavaScript

/** @odoo-module **/
import { clickOnSave, registerWebsitePreviewTour } from '@website/js/tours/tour_utils';
function assertEqual(actual, expected) {
if (actual !== expected) {
throw new Error(`Assert failed: expected: ${expected} ; got: ${actual}`);
}
}
registerWebsitePreviewTour('website_controller_page_listing_layout', {
url: '/model/exposed-model',
edition: true,
}, () => [
{
content: "website is in preview mode",
trigger: '.o_website_preview',
run: "click",
},
{
content: "records are listed in grid mode by default",
trigger: ':iframe .o_website_grid',
run() {
const iframeDocument = document.querySelector('.o_website_preview .o_iframe').contentDocument;
// grid option is selected by default in the switch
assertEqual(iframeDocument.querySelector(".listing_layout_switcher #o_wstudio_apply_grid").checked, true);
assertEqual([...iframeDocument.querySelectorAll(".test_record_listing")].length, 2);
},
},
{
content: "open customize tab",
trigger: '.o_we_customize_snippet_btn',
run: "click",
},
{
trigger: "#oe_snippets .o_we_customize_panel",
},
{
content: "open 'Layout' selector",
trigger: '[data-name="default_listing_layout"] we-toggler',
run: "click",
},
{
content: "click on 'List' option of the 'Layout' selector",
trigger: '.o_we_user_value_widget we-button[data-name="list_view_opt"]',
run: "click",
},
{
content: "records are now displayed in list mode",
trigger: ':iframe .o_website_list',
run() {
const iframeDocument = document.querySelector('.o_website_preview .o_iframe').contentDocument;
// list option is now selected in the switch
assertEqual(iframeDocument.querySelector(".listing_layout_switcher #o_wstudio_apply_list").checked, true);
},
},
...clickOnSave(),
]);
registerWebsitePreviewTour('website_controller_page_default_page_check', {
url: '/model/exposed-model',
}, () => [
{
content: "records are listed in list mode by default",
trigger: ':iframe .o_website_list',
run() {
const iframeDocument = document.querySelector('.o_website_preview .o_iframe').contentDocument;
// list option is selected by default in the switch
assertEqual(iframeDocument.querySelector(".listing_layout_switcher #o_wstudio_apply_list").checked, true);
assertEqual([...iframeDocument.querySelectorAll(".test_record_listing")].length, 2);
},
},
]);