summaryrefslogtreecommitdiff
path: root/addons/web/static/tests/views/control_panel_tests.js
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2019-10-09 02:08:17 +0200
committerChristophe Simonis <chs@odoo.com>2019-10-09 02:08:17 +0200
commitd74b4518052066446e2a1975a91ce53c745ca75a (patch)
treec08180f88a512d15e37fbec628931f02b3825f65 /addons/web/static/tests/views/control_panel_tests.js
parentec162dd0cb5622ab6e56db1a63dab5f531a96f4a (diff)
parentf4105eb9c7010f8693e5d2fd20c0bd9d9cc2e483 (diff)
[MERGE] forward port branch 13.0 up to f4105eb9c70
Diffstat (limited to 'addons/web/static/tests/views/control_panel_tests.js')
-rw-r--r--addons/web/static/tests/views/control_panel_tests.js79
1 files changed, 43 insertions, 36 deletions
diff --git a/addons/web/static/tests/views/control_panel_tests.js b/addons/web/static/tests/views/control_panel_tests.js
index f51070091b2..d86e1b5428e 100644
--- a/addons/web/static/tests/views/control_panel_tests.js
+++ b/addons/web/static/tests/views/control_panel_tests.js
@@ -1,16 +1,18 @@
odoo.define('web.control_panel_tests', function (require) {
"use strict";
-var ControlPanelView = require('web.ControlPanelView');
-var testUtils = require('web.test_utils');
+const AbstractAction = require('web.AbstractAction');
+const ControlPanelView = require('web.ControlPanelView');
+const core = require('web.core');
+const testUtils = require('web.test_utils');
-var createControlPanel = testUtils.createControlPanel;
+const createActionManager = testUtils.createActionManager;
+const createControlPanel = testUtils.createControlPanel;
-function createControlPanelFactory(arch, fields, params) {
- params = params || {};
+function createControlPanelFactory(arch, fields) {
arch = arch || "<search></search>";
fields = fields || {};
- var viewInfo = {arch: arch, fields: fields};
+ var viewInfo = {arch: arch, fields: fields};
var controlPanelFactory = new ControlPanelView({viewInfo: viewInfo, context: {}});
return controlPanelFactory;
}
@@ -337,29 +339,6 @@ QUnit.module('Views', {
);
});
- QUnit.module('Control Panel Rendering');
-
- QUnit.test('invisible filters are not rendered', async function (assert) {
- assert.expect(2);
- var controlPanel = await createControlPanel({
- model: 'partner',
- arch: "<search>" +
- "<filter name=\"filterA\" string=\"A\" domain=\"[]\"/>" +
- "<filter name=\"filterB\" string=\"B\" invisible=\"1\" domain=\"[]\"/>" +
- "</search>",
- data: this.data,
- searchMenuTypes: ['filter'],
- context: {
- search_disable_custom_filters: true,
- },
- });
- await testUtils.dom.click(controlPanel.$('.o_filters_menu_button'));
- assert.containsOnce(controlPanel, '.o_menu_item a:contains("A")');
- assert.containsOnce(controlPanel, '.o_menu_item.d-none a:contains("B")');
-
- controlPanel.destroy();
- });
-
QUnit.module('Control Panel behaviour');
QUnit.test('remove a facet with backspace', async function (assert) {
@@ -397,23 +376,51 @@ QUnit.module('Views', {
QUnit.module('Control Panel Rendering');
+ QUnit.test('default breadcrumb in abstract action', async function (assert) {
+ assert.expect(1);
+
+ const ConcreteAction = AbstractAction.extend({
+ hasControlPanel: true,
+ });
+ core.action_registry.add('ConcreteAction', ConcreteAction);
+
+ const actionManager = await createActionManager();
+ await actionManager.doAction({id: 1,
+ name: 'A Concrete Action',
+ tag: 'ConcreteAction',
+ type: 'ir.actions.client',
+ });
+
+ assert.strictEqual(actionManager.$('.breadcrumb').text(), 'A Concrete Action');
+
+ actionManager.destroy();
+ });
+
QUnit.test('invisible filters are not rendered', async function (assert) {
- assert.expect(2);
+ assert.expect(5);
var controlPanel = await createControlPanel({
model: 'partner',
- arch: "<search>" +
- "<filter name=\"filterA\" string=\"A\" domain=\"[]\"/>" +
- "<filter name=\"filterB\" string=\"B\" invisible=\"1\" domain=\"[]\"/>" +
- "</search>",
+ arch: `<search>
+ <filter name="filterA" string="A" domain="[]"/>
+ <filter name="filterB" string="B" invisible="1" domain="[]"/>
+ </search>`,
data: this.data,
searchMenuTypes: ['filter'],
context: {
- search_disable_custom_filters: true,
+ search_default_filterB: true,
},
});
await testUtils.dom.click(controlPanel.$('.o_filters_menu_button'));
assert.containsOnce(controlPanel, '.o_menu_item a:contains("A")');
- assert.containsOnce(controlPanel, '.o_menu_item.d-none a:contains("B")');
+ assert.containsNone(controlPanel, '.o_menu_item a:contains("B")');
+ // default filter should be activated even if invisible
+ assert.containsOnce(controlPanel, '.o_searchview_facet .o_facet_values:contains(B)');
+
+ // Triggers an update of the filter menu
+ await testUtils.dom.click(controlPanel.$('.o_filters_menu .o_menu_item'));
+ // The displayed filters shhould be the same as before
+ assert.containsOnce(controlPanel, '.o_menu_item a:contains("A")');
+ assert.containsNone(controlPanel, '.o_menu_item a:contains("B")');
controlPanel.destroy();
});