*: test_website, website_blog, website_crm, website_event, website_forum, website_hr_recruitment, website_mass_mailing, website_sale, website_sale_wishlist, website_slides - Make sure that all website tours reaching the website preview before their first step use the related website util to register their tour. - Rename the website util to register a tour starting on the website preview from `registerEditionTour` to `registerWebsitePreviewTour`. Having a method using "Edition" in its name and having a boolean parameter named `edition` was a bit... strange. - For both non edit mode and edit mode as a first step, ensure the util sets a high timeout for the first step. Indeed loading both the backend and the frontend (in the iframe) and potentially starting the edit mode can take a long time in automatic tests. We'll try and decrease the need for this high timeout of course. - Review the implementation of those utils to be more consistent and also fix one or two mistakes in them. closes odoo/odoo#100024 Related: odoo/design-themes#588 Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
110 lines
3.6 KiB
JavaScript
110 lines
3.6 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_snippets.o_loaded .oe_snippet[name='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: "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
|
|
},
|
|
]);
|
|
|
|
});
|