diff options
| author | Christophe Simonis <chs@odoo.com> | 2018-10-10 14:40:01 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2018-10-10 14:40:01 +0200 |
| commit | 7415f40fbd3a809602b83c78f2ad00e2d79e6b98 (patch) | |
| tree | 66f78201e74c94a2fb01b4706818f02a3b279dcb /addons/board/static/tests/dashboard_tests.js | |
| parent | 61df7749ccf8b6a1c9eb6328aaee6323f0c4dbb6 (diff) | |
| parent | a69f117bbf5031bde6c2d353a2adcfb399bf466a (diff) | |
[MERGE] forward port branch 11.0 up to a69f117bbf5
Diffstat (limited to 'addons/board/static/tests/dashboard_tests.js')
| -rw-r--r-- | addons/board/static/tests/dashboard_tests.js | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/addons/board/static/tests/dashboard_tests.js b/addons/board/static/tests/dashboard_tests.js index e777b7b36b7..1329d883696 100644 --- a/addons/board/static/tests/dashboard_tests.js +++ b/addons/board/static/tests/dashboard_tests.js @@ -191,6 +191,57 @@ QUnit.test('basic functionality, with one sub action', function (assert) { form.destroy(); }); +QUnit.test('can render an action without view_mode attribute', function (assert) { + // The view_mode attribute is automatically set to the 'action' nodes when + // the action is added to the dashboard using the 'Add to dashboard' button + // in the searchview. However, other dashboard views can be written by hand + // (see openacademy tutorial), and in this case, we don't want hardcode + // action's params (like context or domain), as the dashboard can directly + // retrieve them from the action. Same applies for the view_type, as the + // first view of the action can be used, by default. + assert.expect(2); + + var form = createView({ + View: FormView, // replace by BoardView when forwarported to saas-11.3 + model: 'board', + data: this.data, + arch: '<form string="My Dashboard">' + + '<board style="2-1">' + + '<column>' + + '<action string="ABC" name="51" context="{\'a\': 1}"></action>' + + '</column>' + + '</board>' + + '</form>', + archs: { + 'partner,4,list': + '<tree string="Partner"><field name="foo"/></tree>', + }, + mockRPC: function (route, args) { + if (route === '/board/static/src/img/layout_1-1-1.png') { + return $.when(); + } + if (route === '/web/action/load') { + return $.when({ + context: '{"b": 2}', + domain: '[["foo", "=", "yop"]]', + res_model: 'partner', + views: [[4, 'list'], [false, 'form']], + }); + } + if (route === '/web/dataset/search_read') { + assert.deepEqual(args.domain, [['foo', '=', 'yop']], + "should use the domain of the action"); + } + return this._super.apply(this, arguments); + }, + }); + + assert.strictEqual(form.$('.oe_action:contains(ABC) .o_list_view').length, 1, + "the list view (first view of action) should have been rendered correctly"); + + form.destroy(); +}); + QUnit.test('can sort a sub list', function (assert) { assert.expect(2); |
