diff options
Diffstat (limited to 'addons/web/static/tests/chrome/action_manager_tests.js')
| -rw-r--r-- | addons/web/static/tests/chrome/action_manager_tests.js | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/addons/web/static/tests/chrome/action_manager_tests.js b/addons/web/static/tests/chrome/action_manager_tests.js index 3a452b20d52..02ba1d2472d 100644 --- a/addons/web/static/tests/chrome/action_manager_tests.js +++ b/addons/web/static/tests/chrome/action_manager_tests.js @@ -19,6 +19,7 @@ var Widget = require('web.Widget'); var createActionManager = testUtils.createActionManager; const cpHelpers = testUtils.controlPanel; +const { xml } = owl.tags; QUnit.module('ActionManager', { beforeEach: function () { @@ -1882,6 +1883,29 @@ QUnit.module('ActionManager', { delete core.action_registry.map.HelloWorldTest; }); + QUnit.test('action can use a custom control panel', async function (assert) { + assert.expect(1); + + class CustomControlPanel extends owl.Component {} + CustomControlPanel.template = xml/* xml */` + <div class="custom-control-panel">My custom control panel</div> + ` + const ClientAction = AbstractAction.extend({ + hasControlPanel: true, + config: { + ControlPanel: CustomControlPanel + }, + }); + const actionManager = await createActionManager(); + core.action_registry.add('HelloWorldTest', ClientAction); + await actionManager.doAction('HelloWorldTest'); + assert.containsOnce(actionManager, '.custom-control-panel', + "should have a custom control panel"); + + actionManager.destroy(); + delete core.action_registry.map.HelloWorldTest; + }); + QUnit.test('breadcrumb is updated on title change', async function (assert) { assert.expect(2); |
