summaryrefslogtreecommitdiff
path: root/addons/board/static
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2018-01-19 12:43:58 +0100
committerChristophe Simonis <chs@odoo.com>2018-01-19 12:43:58 +0100
commit2f95cfb8ed2a2e4dda2aee4f1f6f003587f9005c (patch)
treeb788f0bcbc56b155e35f2af195f1dd0273c8da11 /addons/board/static
parentfdb585caf597b5a77d241087260ac42e3c3fb94e (diff)
parentf99c4f2b48b29f19a0d2ee1cd999008c92ab2a89 (diff)
[MERGE] forward port branch saas-16 up to f99c4f2b48b
Diffstat (limited to 'addons/board/static')
-rw-r--r--addons/board/static/tests/dashboard_tests.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/addons/board/static/tests/dashboard_tests.js b/addons/board/static/tests/dashboard_tests.js
index 21067b32c44..ab0feaf2c96 100644
--- a/addons/board/static/tests/dashboard_tests.js
+++ b/addons/board/static/tests/dashboard_tests.js
@@ -402,5 +402,57 @@ QUnit.test('non-existing action in a dashboard', function (assert) {
form.destroy();
});
+QUnit.test('clicking on a kanban\'s button should trigger the action', function (assert) {
+ assert.expect(2);
+
+ var form = createView({
+ View: FormView,
+ model: 'board',
+ data: this.data,
+ arch: '<form string="My Dashboard">' +
+ '<board style="2-1">' +
+ '<column>' +
+ '<action name="149" string="Partner" view_mode="kanban" id="action_0_1"></action>' +
+ '</column>' +
+ '</board>' +
+ '</form>',
+ archs: {
+ 'partner,false,kanban':
+ '<kanban class="o_kanban_test"><templates><t t-name="kanban-box">' +
+ '<div>' +
+ '<field name="foo"/>' +
+ '</div>' +
+ '<div><button name="sitting_on_a_park_bench" type="object">Eying little girls with bad intent</button>' +
+ '</div>' +
+ '</t></templates></kanban>',
+ },
+ intercepts: {
+ execute_action: function (event) {
+ var data = event.data;
+ assert.strictEqual(data.env.model, 'partner', "should have correct model");
+ assert.strictEqual(data.action_data.name, 'sitting_on_a_park_bench',
+ "should call correct method");
+ }
+ },
+
+ mockRPC: function (route) {
+ if (route === '/board/static/src/img/layout_1-1-1.png') {
+ return $.when();
+ }
+ if (route === '/web/action/load') {
+ return $.when({res_model: 'partner', view_mode: 'kanban', views: [[false, 'kanban']]});
+ }
+ if (route === '/web/dataset/search_read') {
+ return $.when({records: [{foo: 'aqualung'}]});
+ }
+ return this._super.apply(this, arguments);
+ }
+ });
+
+ form.$('.o_kanban_test').find('button:first').click();
+
+ form.destroy();
+});
+
});