From 21dffd53dffe1e48876060c6b32d8ca344f606a3 Mon Sep 17 00:00:00 2001 From: Aaron Bohy Date: Thu, 23 Mar 2017 08:24:24 +0100 Subject: [PATCH] [FIX] web: kanban_tests: throw error to simulate RPC fail Returning a rejected deferred isn't the correct way to notify the MockServer that something went wrong, throwing an error is. This error is then catched, and the RPC deferred is rejected with two arguments: an object describing the error and a JQuery event. --- addons/web/static/test/helpers/mock_server.js | 5 +++-- addons/web/static/test/views/kanban_tests.js | 6 +----- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/addons/web/static/test/helpers/mock_server.js b/addons/web/static/test/helpers/mock_server.js index 8e10b2b9f49..247562dbb96 100644 --- a/addons/web/static/test/helpers/mock_server.js +++ b/addons/web/static/test/helpers/mock_server.js @@ -90,13 +90,14 @@ var MockServer = Class.extend({ var def; try { def = this._performRpc(route, args); - } catch (error) { + } catch (e) { + var error = {code: 200, data: {}, message: e.message}; if (logLevel === 1) { console.warn('Mock: ' + route, error.message); } else if (logLevel === 2) { console.warn('%c[rpc] error response:', 'color: blue; font-weight: bold;', error.message); } - return $.Deferred().reject(error.message, $.Event()); + return $.Deferred().reject(error, $.Event()); } return def.then(function (result) { var resultString = JSON.stringify(result || false); diff --git a/addons/web/static/test/views/kanban_tests.js b/addons/web/static/test/views/kanban_tests.js index eaa33a0b396..ab67c103526 100644 --- a/addons/web/static/test/views/kanban_tests.js +++ b/addons/web/static/test/views/kanban_tests.js @@ -383,11 +383,7 @@ QUnit.module('Views', { groupBy: ['product_id'], mockRPC: function (route, args) { if (args.method === 'name_create') { - return $.Deferred().reject({ - code: 200, - data: {}, - message: 'Odoo server error', - }); + throw new Error("Odoo server error"); } return this._super.apply(this, arguments); },