diff --git a/addons/website/static/tests/tours/website_navbar_menu.js b/addons/website/static/tests/tours/website_navbar_menu.js
new file mode 100644
index 00000000000..e3523f69076
--- /dev/null
+++ b/addons/website/static/tests/tours/website_navbar_menu.js
@@ -0,0 +1,20 @@
+odoo.define("website.tour.website_navbar_menu", function (require) {
+"use strict";
+
+var tour = require("web_tour.tour");
+
+tour.register("website_navbar_menu", {
+ test: true,
+ url: "/",
+}, [
+ {
+ content: "Ensure menus are in DOM",
+ trigger: '#top_menu .nav-item a:contains("Test Tour Menu")',
+ run: function () {}, // it's a check
+ }, {
+ content: "Ensure menus loading is done (so they are actually visible)",
+ trigger: 'body:not(:has(.o_menu_loading))',
+ run: function () {}, // it's a check
+ }
+]);
+});
diff --git a/addons/website/tests/test_ui.py b/addons/website/tests/test_ui.py
index 92f0796fc9b..d739ed877b6 100644
--- a/addons/website/tests/test_ui.py
+++ b/addons/website/tests/test_ui.py
@@ -110,6 +110,17 @@ class TestUi(odoo.tests.HttpCase):
def test_03_backend_dashboard(self):
self.start_tour("/", 'backend_dashboard', login='admin')
+ def test_04_website_navbar_menu(self):
+ website = self.env['website'].search([], limit=1)
+ self.env['website.menu'].create({
+ 'name': 'Test Tour Menu',
+ 'url': '/test-tour-menu',
+ 'parent_id': website.menu_id.id,
+ 'sequence': 0,
+ 'website_id': website.id,
+ })
+ self.start_tour("/", 'website_navbar_menu')
+
def test_05_specific_website_editor(self):
website_default = self.env['website'].search([], limit=1)
new_website = self.env['website'].create({'name': 'New Website'})
diff --git a/addons/website/views/assets.xml b/addons/website/views/assets.xml
index a0d00feb356..1015427043b 100644
--- a/addons/website/views/assets.xml
+++ b/addons/website/views/assets.xml
@@ -25,6 +25,7 @@
+