[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.
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user