summaryrefslogtreecommitdiff
path: root/addons/web
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web')
-rw-r--r--addons/web/static/src/js/tools/test_menus.js7
-rw-r--r--addons/web/static/src/js/tools/test_menus_loader.js4
-rw-r--r--addons/web/tests/test_click_everywhere.py12
3 files changed, 20 insertions, 3 deletions
diff --git a/addons/web/static/src/js/tools/test_menus.js b/addons/web/static/src/js/tools/test_menus.js
index 1875c0e776e..9767aa29fed 100644
--- a/addons/web/static/src/js/tools/test_menus.js
+++ b/addons/web/static/src/js/tools/test_menus.js
@@ -9,6 +9,7 @@
var testedApps;
var testedMenus;
var blackListedMenus = ['base.menu_theme_store', 'base.menu_third_party'];
+ var appsMenusOnly = false;
function createWebClientHooks() {
var AbstractController = odoo.__DEBUG__.services['web.AbstractController'];
@@ -45,7 +46,8 @@
}
}
- function clickEverywhere(menu_id){
+ function clickEverywhere(menu_id, light){
+ appsMenusOnly = light;
setTimeout(_clickEverywhere, 1000, menu_id);
}
@@ -104,6 +106,7 @@
if (testedApps.indexOf(element.dataset.menuXmlid) >= 0) return Promise.resolve(); // Another infinite loop protection
testedApps.push(element.dataset.menuXmlid);
return testMenuItem(element).then(function () {
+ if (appsMenusOnly === true) return Promise.resolve();
var $subMenuItems;
$subMenuItems = $('.o_menu_entry_lvl_1, .o_menu_entry_lvl_2, .o_menu_entry_lvl_3, .o_menu_entry_lvl_4');
var testMenuPromise = Promise.resolve();
@@ -172,6 +175,7 @@
* the click on each of them
*/
function testViews() {
+ if (appsMenusOnly === true) return Promise.resolve();
var $switches = $("nav.o_cp_switch_buttons > button:not(.active):visible");
var testSwitchPromise = Promise.resolve();
// chainDeferred($switches, testSwitchPromise, testViewSwitch # FIXME
@@ -210,6 +214,7 @@
* Click on each filter in the control pannel
*/
function testFilters() {
+ if (appsMenusOnly === true) return Promise.resolve();
var filterProm = Promise.resolve();
// var $filters = $('div.o_control_panel div.btn-group.o_dropdown > ul.o_filters_menu > li:not(.o_add_custom_filter)');
var $filters = $('.o_filters_menu > .o_menu_item:not(.d-none)');
diff --git a/addons/web/static/src/js/tools/test_menus_loader.js b/addons/web/static/src/js/tools/test_menus_loader.js
index d3e697cec75..160bb3e6b90 100644
--- a/addons/web/static/src/js/tools/test_menus_loader.js
+++ b/addons/web/static/src/js/tools/test_menus_loader.js
@@ -1,10 +1,10 @@
odoo.define('web.clickEverywhere', function (require) {
"use strict";
var ajax = require('web.ajax');
- function startClickEverywhere(menu_id) {
+ function startClickEverywhere(menu_id, appsMenusOnly) {
ajax.loadJS('web/static/src/js/tools/test_menus.js').then(
function() {
- clickEverywhere(menu_id);
+ clickEverywhere(menu_id, appsMenusOnly);
}
);
}
diff --git a/addons/web/tests/test_click_everywhere.py b/addons/web/tests/test_click_everywhere.py
index 3fb1a00f954..7f2d16d75d6 100644
--- a/addons/web/tests/test_click_everywhere.py
+++ b/addons/web/tests/test_click_everywhere.py
@@ -28,3 +28,15 @@ class TestMenusDemo(odoo.tests.HttpCase):
_logger.log(25, 'Testing %s', app['name'])
self.browser_js("/web", "odoo.__DEBUG__.services['web.clickEverywhere'](%d);" % app['id'], "odoo.isReady === true", login="demo", timeout=300)
self.terminate_browser()
+
+@odoo.tests.tagged('post_install', '-at_install')
+class TestMenusAdminLight(odoo.tests.HttpCase):
+
+ def test_01_click_apps_menus_as_admin(self):
+ self.browser_js("/web", "odoo.__DEBUG__.services['web.clickEverywhere'](undefined, true);", "odoo.isReady === true", login="admin", timeout=120)
+
+@odoo.tests.tagged('post_install', '-at_install',)
+class TestMenusDemoLight(odoo.tests.HttpCase):
+
+ def test_01_click_apps_menus_as_demo(self):
+ self.browser_js("/web", "odoo.__DEBUG__.services['web.clickEverywhere'](undefined, true);", "odoo.isReady === true", login="demo", timeout=120)