Odoo18-Base/addons/test_website/static/tests/tours/custom_snippets.js
2025-03-10 11:12:23 +07:00

109 lines
3.5 KiB
JavaScript

odoo.define('test_website.custom_snippets', function (require) {
'use strict';
const wTourUtils = require('website.tour_utils');
/**
* The purpose of this tour is to check the custom snippets flow:
*
* -> go to edit mode
* -> drag a banner into page content
* -> customize banner (set text)
* -> save banner as custom snippet
* -> confirm save
* -> ensure custom snippet is available
* -> drag custom snippet
* -> ensure block appears as banner
* -> ensure block appears as custom banner
* -> rename custom banner
* -> verify rename took effect
* -> delete custom snippet
* -> confirm delete
* -> ensure it was deleted
*/
wTourUtils.registerWebsitePreviewTour('test_custom_snippet', {
url: '/',
edition: true,
test: true,
}, [
{
content: "drop a snippet",
trigger: ".oe_snippet[name='Banner'] .oe_snippet_thumbnail:not(.o_we_already_dragging)",
moveTrigger: ".oe_drop_zone",
run: "drag_and_drop iframe #wrap",
},
{
content: "customize snippet",
trigger: "iframe #wrapwrap .s_banner h1",
run: "text",
consumeEvent: "input",
},
{
content: "save custom snippet",
trigger: ".snippet-option-SnippetSave we-button",
},
{
content: "confirm reload",
trigger: ".modal-dialog button span:contains('Save and Reload')",
},
{
content: "ensure custom snippet appeared",
trigger: "#oe_snippets.o_loaded .oe_snippet[name='Custom Banner']",
run: function () {
$("#oe_snippets .oe_snippet[name='Custom Banner'] .o_rename_btn").attr("style", "display: block;");
// hover is needed for rename button to appear
},
},
{
content: "rename custom snippet",
trigger: ".oe_snippet[name='Custom Banner'] we-button.o_rename_btn",
extra_trigger: ".oe_snippet[name='Custom Banner'] .oe_snippet_thumbnail:not(.o_we_already_dragging)",
},
{
content: "set name",
trigger: ".oe_snippet[name='Custom Banner'] input",
run: "text Bruce Banner",
},
{
content: "confirm rename",
trigger: ".oe_snippet[name='Custom Banner'] we-button.o_we_confirm_btn",
},
{
content: "drop custom snippet",
trigger: ".oe_snippet[name='Bruce Banner'] .oe_snippet_thumbnail:not(.o_we_already_dragging)",
extra_trigger: "iframe body.editor_enable",
moveTrigger: ".oe_drop_zone",
run: "drag_and_drop iframe #wrap",
},
{
content: "ensure banner section exists",
trigger: "iframe #wrap section[data-name='Banner']",
run: function () {}, // check
},
{
content: "ensure custom banner section exists",
trigger: "iframe #wrap section[data-name='Bruce Banner']",
run: function () {
$("#oe_snippets .oe_snippet[name='Bruce Banner'] .o_delete_btn").attr("style", "display: block;");
// hover is needed for delete button to appear
},
},
{
content: "delete custom snippet",
trigger: ".oe_snippet[name='Bruce Banner'] we-button.o_delete_btn",
extra_trigger: ".oe_snippet[name='Bruce Banner'] .oe_snippet_thumbnail:not(.o_we_already_dragging)",
},
{
content: "confirm delete",
trigger: ".modal-dialog button:has(span:contains('Yes'))",
},
{
content: "ensure custom snippet disappeared",
trigger: "#oe_snippets:not(:has(.oe_snippet[name='Bruce Banner']))",
run: function () {}, // check
},
]);
});