diff --git a/addons/web/static/test/list-editable.js b/addons/web/static/test/list-editable.js index 6ac3d96df2c..4a8fbae1094 100644 --- a/addons/web/static/test/list-editable.js +++ b/addons/web/static/test/list-editable.js @@ -1,44 +1,13 @@ $(document).ready(function () { var $fix = $('#qunit-fixture'); - var xhr = QWeb2.Engine.prototype.get_xhr(); - xhr.open('GET', '/web/static/src/xml/base.xml', false); - xhr.send(null); - var doc = xhr.responseXML; - - var noop = function () {}; - /** - * Make connection RPC responses mockable by setting keys on the - * Connection#responses object (key is the URL, value is the function to - * call with the RPC request payload) - * - * @param {openerp.web.Connection} connection connection instance to mockify - * @param {Object} [responses] url:function mapping to seed the mock connection - */ - var mockifyRPC = function (connection, responses) { - connection.responses = responses || {}; - connection.rpc_function = function (url, payload) { - if (!(url.url in this.responses)) { - return $.Deferred().reject({}, 'failed', _.str.sprintf("Url %s not found in mock responses", url.url)).promise(); - } - return $.when(this.responses[url.url](payload)); - }; - }; var instance; var baseSetup = function () { - instance = window.openerp.init([]); - window.openerp.web.corelib(instance); - window.openerp.web.coresetup(instance); - window.openerp.web.chrome(instance); - window.openerp.web.data(instance); - window.openerp.web.views(instance); - window.openerp.web.list(instance); - window.openerp.web.form(instance); - window.openerp.web.list_editable(instance); + instance = openerp.testing.instanceFor('list_editable'); - instance.web.qweb.add_template(doc); + openerp.testing.loadTemplate(instance); - mockifyRPC(instance.connection); + openerp.testing.mockifyRPC(instance); }; module('editor', { setup: baseSetup diff --git a/addons/web/static/test/search.js b/addons/web/static/test/search.js index e5beab22498..a57a017e666 100644 --- a/addons/web/static/test/search.js +++ b/addons/web/static/test/search.js @@ -1,37 +1,8 @@ $(document).ready(function () { - var xhr = QWeb2.Engine.prototype.get_xhr(); - xhr.open('GET', '/web/static/src/xml/base.xml', false); - xhr.send(null); - var doc = xhr.responseXML; - - var noop = function () {}; - /** - * Make connection RPC responses mockable by setting keys on the - * Connection#responses object (key is the URL, value is the function to - * call with the RPC request payload) - * - * @param {openerp.web.Connection} connection connection instance to mockify - * @param {Object} [responses] url:function mapping to seed the mock connection - */ - var mockifyRPC = function (connection, responses) { - connection.responses = responses || {}; - connection.rpc_function = function (url, payload) { - if (!(url.url in this.responses)) { - return $.Deferred().reject({}, 'failed', _.str.sprintf("Url %s not found in mock responses", url.url)).promise(); - } - return $.when(this.responses[url.url](payload)); - }; - }; - var instance; module('query', { setup: function () { - instance = window.openerp.init([]); - window.openerp.web.corelib(instance); - window.openerp.web.coresetup(instance); - window.openerp.web.chrome(instance); - window.openerp.web.data(instance); - window.openerp.web.search(instance); + instance = openerp.testing.instanceFor('search'); } }); test('Adding a facet to the query creates a facet and a value', function () { @@ -167,16 +138,11 @@ $(document).ready(function () { module('defaults', { setup: function () { - instance = window.openerp.init([]); - window.openerp.web.corelib(instance); - window.openerp.web.coresetup(instance); - window.openerp.web.chrome(instance); - window.openerp.web.data(instance); - window.openerp.web.search(instance); + instance = openerp.testing.instanceFor('search'); - instance.web.qweb.add_template(doc); + openerp.testing.loadTemplate(instance); - mockifyRPC(instance.connection); + openerp.testing.mockifyRPC(instance); } }); @@ -404,18 +370,11 @@ $(document).ready(function () { module('completions', { setup: function () { - instance = window.openerp.init([]); - window.openerp.web.corelib(instance); - window.openerp.web.coresetup(instance); - window.openerp.web.chrome(instance); - window.openerp.web.data(instance); - // date complete - window.openerp.web.formats(instance); - window.openerp.web.search(instance); + instance = openerp.testing.instanceFor('search'); - instance.web.qweb.add_template(doc); + openerp.testing.loadTemplate(instance); - mockifyRPC(instance.connection); + openerp.testing.mockifyRPC(instance); } }); asyncTest('calling', 4, function () { @@ -454,7 +413,11 @@ $(document).ready(function () { var completion = { label: "Dummy", facet: { - field: {get_domain: noop, get_context: noop, get_groupby: noop}, + field: { + get_domain: openerp.testing.noop, + get_context: openerp.testing.noop, + get_groupby: openerp.testing.noop + }, category: 'Dummy', values: [{label: 'dummy', value: 42}] } @@ -476,7 +439,11 @@ $(document).ready(function () { }); }); asyncTest('facet selection: new value existing facet', 3, function () { - var field = {get_domain: noop, get_context: noop, get_groupby: noop}; + var field = { + get_domain: openerp.testing.noop, + get_context: openerp.testing.noop, + get_groupby: openerp.testing.noop + }; var completion = { label: "Dummy", facet: { @@ -663,16 +630,11 @@ $(document).ready(function () { module('search-serialization', { setup: function () { - instance = window.openerp.init([]); - window.openerp.web.corelib(instance); - window.openerp.web.coresetup(instance); - window.openerp.web.chrome(instance); - window.openerp.web.data(instance); - window.openerp.web.search(instance); + instance = openerp.testing.instanceFor('search'); - instance.web.qweb.add_template(doc); + openerp.testing.loadTemplate(instance); - mockifyRPC(instance.connection); + openerp.testing.mockifyRPC(instance); } }); asyncTest('No facet, no call', 6, function () { @@ -919,16 +881,11 @@ $(document).ready(function () { module('removal', { setup: function () { - instance = window.openerp.init([]); - window.openerp.web.corelib(instance); - window.openerp.web.coresetup(instance); - window.openerp.web.chrome(instance); - window.openerp.web.data(instance); - window.openerp.web.search(instance); + instance = openerp.testing.instanceFor('search'); - instance.web.qweb.add_template(doc); + openerp.testing.loadTemplate(instance); - mockifyRPC(instance.connection); + openerp.testing.mockifyRPC(instance); } }); asyncTest('clear button', function () { @@ -954,16 +911,11 @@ $(document).ready(function () { module('drawer', { setup: function () { - instance = window.openerp.init([]); - window.openerp.web.corelib(instance); - window.openerp.web.coresetup(instance); - window.openerp.web.chrome(instance); - window.openerp.web.data(instance); - window.openerp.web.search(instance); + instance = openerp.testing.instanceFor('search'); - instance.web.qweb.add_template(doc); + openerp.testing.loadTemplate(instance); - mockifyRPC(instance.connection); + openerp.testing.mockifyRPC(instance); } }); asyncTest('is-drawn', 2, function () { @@ -982,16 +934,11 @@ $(document).ready(function () { module('filters', { setup: function () { - instance = window.openerp.init([]); - window.openerp.web.corelib(instance); - window.openerp.web.coresetup(instance); - window.openerp.web.chrome(instance); - window.openerp.web.data(instance); - window.openerp.web.search(instance); + instance = openerp.testing.instanceFor('search'); - instance.web.qweb.add_template(doc); + openerp.testing.loadTemplate(instance); - mockifyRPC(instance.connection, { + openerp.testing.mockifyRPC(instance, { '/web/searchview/load': function () { // view with a single group of filters return {result: {fields_view: { @@ -1096,17 +1043,11 @@ $(document).ready(function () { module('advanced', { setup: function () { - instance = window.openerp.init([]); - window.openerp.web.corelib(instance); - window.openerp.web.coresetup(instance); - window.openerp.web.chrome(instance); - window.openerp.web.data(instance); - window.openerp.web.formats(instance); - window.openerp.web.search(instance); + instance = openerp.testing.instanceFor('search'); - instance.web.qweb.add_template(doc); + openerp.testing.loadTemplate(instance); - mockifyRPC(instance.connection); + openerp.testing.mockifyRPC(instance); } }); asyncTest('single-advanced', 6, function () { diff --git a/addons/web/static/test/test.html b/addons/web/static/test/test.html index f06d68ed4da..21daf20241a 100644 --- a/addons/web/static/test/test.html +++ b/addons/web/static/test/test.html @@ -39,6 +39,8 @@ + +