diff options
| author | Fabien Meghazi <fme@openerp.com> | 2013-08-07 12:06:43 +0200 |
|---|---|---|
| committer | Fabien Meghazi <fme@openerp.com> | 2013-08-07 12:06:43 +0200 |
| commit | 11fb809e6081ff3196fc6853ca5d286ee5049c8a (patch) | |
| tree | c2afa35df9c0b69c535258460edbd892065f9984 /addons/web/static/test | |
| parent | 55e3a0dedd98b512ec6f649d5ff645add53c38ab (diff) | |
| parent | 1f726f78266ff6130f1ed701799ca969671a1dfc (diff) | |
[MERGE] upstream
bzr revid: fme@openerp.com-20130807100643-0olinq3584kzc3we
Diffstat (limited to 'addons/web/static/test')
| -rw-r--r-- | addons/web/static/test/data.js | 8 | ||||
| -rw-r--r-- | addons/web/static/test/evals.js | 8 | ||||
| -rw-r--r-- | addons/web/static/test/formats.js | 2 | ||||
| -rw-r--r-- | addons/web/static/test/framework.js | 60 | ||||
| -rw-r--r-- | addons/web/static/test/fulltest.html | 3 | ||||
| -rw-r--r-- | addons/web/static/test/jsonrpc.js | 181 | ||||
| -rw-r--r-- | addons/web/static/test/mutex.js | 2 | ||||
| -rw-r--r-- | addons/web/static/test/registry.js | 2 | ||||
| -rw-r--r-- | addons/web/static/test/rpc-misordered.js (renamed from addons/web/static/test/rpc.js) | 0 |
9 files changed, 223 insertions, 43 deletions
diff --git a/addons/web/static/test/data.js b/addons/web/static/test/data.js index d7a957ad920..bddf698ede9 100644 --- a/addons/web/static/test/data.js +++ b/addons/web/static/test/data.js @@ -18,16 +18,16 @@ openerp.testing.section('data.model.group_by', { "should have single grouping field"); return group_result; }); - mock('/web/dataset/search_read', function (args) { - deepEqual(args.params.domain, [['bar', '=', 3]], + mock('foo:search_read', function (args, kwargs) { + deepEqual(kwargs.domain, [['bar', '=', 3]], "should have domain matching that of group_by result"); - return {records: [ + return [ {bar: 3, id: 1}, {bar: 3, id: 2}, {bar: 3, id: 4}, {bar: 3, id: 8}, {bar: 3, id: 16} - ], length: 5}; + ]; }); return m.query().group_by('bar') diff --git a/addons/web/static/test/evals.js b/addons/web/static/test/evals.js index 405589e1be8..840ad051aca 100644 --- a/addons/web/static/test/evals.js +++ b/addons/web/static/test/evals.js @@ -1,5 +1,5 @@ openerp.testing.section('eval.types', { - dependencies: ['web.coresetup'], + dependencies: ['web.core'], setup: function (instance) { instance.session.uid = 42; } @@ -562,7 +562,7 @@ openerp.testing.section('eval.edc.nonliterals', { }); }); openerp.testing.section('eval.contexts', { - dependencies: ['web.coresetup'] + dependencies: ['web.core'] }, function (test) { test('context_recursive', function (instance) { var context_to_eval = [{ @@ -773,7 +773,7 @@ openerp.testing.section('eval.contexts', { }); }); openerp.testing.section('eval.domains', { - dependencies: ['web.coresetup', 'web.dates'] + dependencies: ['web.core', 'web.dates'] }, function (test) { test('current_date', function (instance) { var current_date = instance.web.date_to_str(new Date()); @@ -802,7 +802,7 @@ openerp.testing.section('eval.domains', { }); }); openerp.testing.section('eval.groupbys', { - dependencies: ['web.coresetup'] + dependencies: ['web.core'] }, function (test) { test('groupbys_00', function (instance) { var result = instance.web.pyeval.eval('groupbys', [ diff --git a/addons/web/static/test/formats.js b/addons/web/static/test/formats.js index b9ff5e96371..db0887b4d4e 100644 --- a/addons/web/static/test/formats.js +++ b/addons/web/static/test/formats.js @@ -1,5 +1,5 @@ openerp.testing.section('server-formats', { - dependencies: ['web.coresetup', 'web.dates'] + dependencies: ['web.core', 'web.dates'] }, function (test) { test('Parse server datetime', function (instance) { var date = instance.web.str_to_datetime("2009-05-04 12:34:23"); diff --git a/addons/web/static/test/framework.js b/addons/web/static/test/framework.js index 8fb066bbce9..23ed5be6653 100644 --- a/addons/web/static/test/framework.js +++ b/addons/web/static/test/framework.js @@ -5,10 +5,10 @@ var ropenerp = window.openerp; var openerp = ropenerp.declare($, _, QWeb2); ropenerp.testing.section('class', { - dependencies: ['web.corelib'] + dependencies: ['web.core'] }, function (test) { test('Basic class creation', function () { - var C = openerp.web.Class.extend({ + var C = openerp.Class.extend({ foo: function () { return this.somevar; } @@ -20,12 +20,12 @@ ropenerp.testing.section('class', { strictEqual(i.foo(), 3); }); test('Class initialization', function () { - var C1 = openerp.web.Class.extend({ + var C1 = openerp.Class.extend({ init: function () { this.foo = 3; } }); - var C2 = openerp.web.Class.extend({ + var C2 = openerp.Class.extend({ init: function (arg) { this.foo = arg; } @@ -38,7 +38,7 @@ ropenerp.testing.section('class', { strictEqual(i2.foo, 42); }); test('Inheritance', function () { - var C0 = openerp.web.Class.extend({ + var C0 = openerp.Class.extend({ foo: function () { return 1; } @@ -59,7 +59,7 @@ ropenerp.testing.section('class', { strictEqual(new C2().foo(), 3); }); test('In-place extension', function () { - var C0 = openerp.web.Class.extend({ + var C0 = openerp.Class.extend({ foo: function () { return 3; }, @@ -85,7 +85,7 @@ ropenerp.testing.section('class', { strictEqual(new C0().qux(), 5); }); test('In-place extension and inheritance', function () { - var C0 = openerp.web.Class.extend({ + var C0 = openerp.Class.extend({ foo: function () { return 1; }, bar: function () { return 1; } }); @@ -103,7 +103,7 @@ ropenerp.testing.section('class', { strictEqual(new C1().bar(), 2); }); test('In-place extensions alter existing instances', function () { - var C0 = openerp.web.Class.extend({ + var C0 = openerp.Class.extend({ foo: function () { return 1; }, bar: function () { return 1; } }); @@ -119,7 +119,7 @@ ropenerp.testing.section('class', { strictEqual(i.bar(), 3); }); test('In-place extension of subclassed types', function () { - var C0 = openerp.web.Class.extend({ + var C0 = openerp.Class.extend({ foo: function () { return 1; }, bar: function () { return 1; } }); @@ -142,7 +142,7 @@ ropenerp.testing.section('class', { ropenerp.testing.section('Widget.proxy', { }, function (test) { test('(String)', function () { - var W = openerp.web.Widget.extend({ + var W = openerp.Widget.extend({ exec: function () { this.executed = true; } @@ -153,7 +153,7 @@ ropenerp.testing.section('Widget.proxy', { ok(w.executed, 'should execute the named method in the right context'); }); test('(String)(*args)', function () { - var W = openerp.web.Widget.extend({ + var W = openerp.Widget.extend({ exec: function (arg) { this.executed = arg; } @@ -167,7 +167,7 @@ ropenerp.testing.section('Widget.proxy', { test('(String), include', function () { // the proxy function should handle methods being changed on the class // and should always proxy "by name", to the most recent one - var W = openerp.web.Widget.extend({ + var W = openerp.Widget.extend({ exec: function () { this.executed = 1; } @@ -183,14 +183,14 @@ ropenerp.testing.section('Widget.proxy', { }); test('(Function)', function () { - var w = new (openerp.web.Widget.extend({ }))(); + var w = new (openerp.Widget.extend({ }))(); var fn = w.proxy(function () { this.executed = true; }); fn(); ok(w.executed, "should set the function's context (like Function#bind)"); }); test('(Function)(*args)', function () { - var w = new (openerp.web.Widget.extend({ }))(); + var w = new (openerp.Widget.extend({ }))(); var fn = w.proxy(function (arg) { this.executed = arg; }); fn(42); @@ -199,8 +199,8 @@ ropenerp.testing.section('Widget.proxy', { }); ropenerp.testing.section('Widget.renderElement', { setup: function () { - openerp.web.qweb = new QWeb2.Engine(); - openerp.web.qweb.add_template( + openerp.qweb = new QWeb2.Engine(); + openerp.qweb.add_template( '<no>' + '<t t-name="test.widget.template">' + '<ol>' + @@ -218,7 +218,7 @@ ropenerp.testing.section('Widget.renderElement', { } }, function (test) { test('no template, default', function () { - var w = new (openerp.web.Widget.extend({ }))(); + var w = new (openerp.Widget.extend({ }))(); var $original = w.$el; ok($original, "should initially have a root element"); @@ -233,7 +233,7 @@ ropenerp.testing.section('Widget.renderElement', { ok(_.isEmpty(w.$el.html(), "should not have generated any content")); }); test('no template, custom tag', function () { - var w = new (openerp.web.Widget.extend({ + var w = new (openerp.Widget.extend({ tagName: 'ul' }))(); w.renderElement(); @@ -241,7 +241,7 @@ ropenerp.testing.section('Widget.renderElement', { equal(w.el.nodeName, 'UL', "should have generated the custom element tag"); }); test('no template, @id', function () { - var w = new (openerp.web.Widget.extend({ + var w = new (openerp.Widget.extend({ id: 'foo' }))(); w.renderElement(); @@ -251,7 +251,7 @@ ropenerp.testing.section('Widget.renderElement', { equal(w.el.id, 'foo', "should also be available via property"); }); test('no template, @className', function () { - var w = new (openerp.web.Widget.extend({ + var w = new (openerp.Widget.extend({ className: 'oe_some_class' }))(); w.renderElement(); @@ -260,7 +260,7 @@ ropenerp.testing.section('Widget.renderElement', { equal(w.$el.attr('class'), 'oe_some_class', "should have the right attribute"); }); test('no template, bunch of attributes', function () { - var w = new (openerp.web.Widget.extend({ + var w = new (openerp.Widget.extend({ attributes: { 'id': 'some_id', 'class': 'some_class', @@ -287,7 +287,7 @@ ropenerp.testing.section('Widget.renderElement', { }); test('template', function () { - var w = new (openerp.web.Widget.extend({ + var w = new (openerp.Widget.extend({ template: 'test.widget.template' }))(); w.renderElement(); @@ -297,7 +297,7 @@ ropenerp.testing.section('Widget.renderElement', { equal(w.el.textContent, '01234'); }); test('repeated', { asserts: 4 }, function (_unused, $fix) { - var w = new (openerp.web.Widget.extend({ + var w = new (openerp.Widget.extend({ template: 'test.widget.template-value' }))(); w.value = 42; @@ -314,8 +314,8 @@ ropenerp.testing.section('Widget.renderElement', { }); ropenerp.testing.section('Widget.$', { setup: function () { - openerp.web.qweb = new QWeb2.Engine(); - openerp.web.qweb.add_template( + openerp.qweb = new QWeb2.Engine(); + openerp.qweb.add_template( '<no>' + '<t t-name="test.widget.template">' + '<ol>' + @@ -330,7 +330,7 @@ ropenerp.testing.section('Widget.$', { } }, function (test) { test('basic-alias', function () { - var w = new (openerp.web.Widget.extend({ + var w = new (openerp.Widget.extend({ template: 'test.widget.template' }))(); w.renderElement(); @@ -341,8 +341,8 @@ ropenerp.testing.section('Widget.$', { }); ropenerp.testing.section('Widget.events', { setup: function () { - openerp.web.qweb = new QWeb2.Engine(); - openerp.web.qweb.add_template( + openerp.qweb = new QWeb2.Engine(); + openerp.qweb.add_template( '<no>' + '<t t-name="test.widget.template">' + '<ol>' + @@ -358,7 +358,7 @@ ropenerp.testing.section('Widget.events', { }, function (test) { test('delegate', function () { var a = []; - var w = new (openerp.web.Widget.extend({ + var w = new (openerp.Widget.extend({ template: 'test.widget.template', events: { 'click': function () { @@ -382,7 +382,7 @@ ropenerp.testing.section('Widget.events', { }); test('undelegate', function () { var clicked = false, newclicked = false; - var w = new (openerp.web.Widget.extend({ + var w = new (openerp.Widget.extend({ template: 'test.widget.template', events: { 'click li': function () { clicked = true; } } }))(); diff --git a/addons/web/static/test/fulltest.html b/addons/web/static/test/fulltest.html index 2917b246b8d..47972dece90 100644 --- a/addons/web/static/test/fulltest.html +++ b/addons/web/static/test/fulltest.html @@ -27,8 +27,7 @@ <script src="/web/static/lib/py.js/lib/py.js"></script> <script src="/web/static/src/js/boot.js"></script> - <script src="/web/static/src/js/corelib.js"></script> - <script src="/web/static/src/js/coresetup.js"></script> + <script src="/web/static/src/js/core.js"></script> <script src="/web/static/src/js/dates.js"></script> <script src="/web/static/src/js/formats.js"></script> <script src="/web/static/src/js/chrome.js"></script> diff --git a/addons/web/static/test/jsonrpc.js b/addons/web/static/test/jsonrpc.js new file mode 100644 index 00000000000..a8b901d3b1c --- /dev/null +++ b/addons/web/static/test/jsonrpc.js @@ -0,0 +1,181 @@ +(function() { + +var ropenerp = window.openerp; + +var openerp = ropenerp.declare($, _, QWeb2); + +ropenerp.testing.section('jsonrpc', {}, +function (test) { + test('basic-jsonrpc', {asserts: 1}, function () { + var session = new openerp.Session(); + return session.rpc("/gen_session_id", {}).then(function(result) { + ok(result.length > 0, "Result returned by /gen_session_id"); + }); + }); + test('basic-jsonprpc', {asserts: 1}, function () { + var session = new openerp.Session(); + session.origin_server = false; + return session.rpc("/gen_session_id", {}).then(function(result) { + ok(result.length > 0, "Result returned by /gen_session_id"); + }); + }); + // desactivated because the phantomjs runner crash + /*test('basic-jsonprpc2', {asserts: 1}, function () { + var session = new openerp.Session(); + session.origin_server = false; + return session.rpc("/gen_session_id", {}, {force2step: true}).then(function(result) { + ok(result.length > 0, "Result returned by /gen_session_id"); + }); + });*/ + test('session-jsonrpc', {asserts: 2}, function () { + var session = new openerp.Session(); + var tmp = _.uniqueId("something"); + return session.rpc("/web/tests/set_session_value", {value: tmp}).then(function() { + ok(true, "set_session returned"); + return session.rpc("/web/tests/get_session_value", {}); + }).then(function(result) { + equal(result, tmp, "Got the same value from the session"); + }); + }); + test('session-jsonprpc', {asserts: 2}, function () { + var session = new openerp.Session(); + session.origin_server = false; + var tmp = _.uniqueId("something"); + return session.rpc("/web/tests/set_session_value", {value: tmp}).then(function() { + ok(true, "set_session returned"); + return session.rpc("/web/tests/get_session_value", {}); + }).then(function(result) { + equal(result, tmp, "Got the same value from the session"); + }); + }); + // desactivated because the phantomjs runner crash + /*test('session-jsonprpc2', {asserts: 2}, function () { + var session = new openerp.Session(); + session.origin_server = false; + var tmp = _.uniqueId("something"); + return session.rpc("/web/tests/set_session_value", {value: tmp}, {force2step: true}).then(function() { + ok(true, "set_session returned"); + return session.rpc("/web/tests/get_session_value", {}, {force2step: true}); + }).then(function(result) { + equal(result, tmp, "Got the same value from the session"); + }); + });*/ + test('overridesession-jsonrpc', {asserts: 4}, function () { + var origin_session = new openerp.Session(); + var origin_tmp = _.uniqueId("something"); + var session = new openerp.Session(null, null, {override_session: true}); + var tmp = _.uniqueId("something_else"); + return session.rpc("/web/tests/set_session_value", {value: tmp}).then(function() { + ok(true, "set_session returned"); + return origin_session.rpc("/web/tests/set_session_value", {value: origin_tmp}); + }).then(function(result) { + ok(true, "set_session on origin returned"); + return session.rpc("/web/tests/get_session_value", {}); + }).then(function(result) { + equal(result, tmp, "Got the same value from the session"); + notEqual(result, origin_tmp, "Values in the different sessions should be different"); + }); + }); + test('overridesession-jsonprpc', {asserts: 4}, function () { + var origin_session = new openerp.Session(); + var origin_tmp = _.uniqueId("something"); + var session = new openerp.Session(null, null, {override_session: true}); + var tmp = _.uniqueId("something_else"); + session.origin_server = false; + return session.rpc("/web/tests/set_session_value", {value: tmp}).then(function() { + ok(true, "set_session returned"); + return origin_session.rpc("/web/tests/set_session_value", {value: origin_tmp}); + }).then(function(result) { + ok(true, "set_session on origin returned"); + return session.rpc("/web/tests/get_session_value", {}); + }).then(function(result) { + equal(result, tmp, "Got the same value from the session"); + notEqual(result, origin_tmp, "Values in the different sessions should be different"); + }); + }); + // desactivated because the phantomjs runner crash + /*test('overridesession-jsonprpc2', {asserts: 4}, function () { + var origin_session = new openerp.Session(); + var origin_tmp = _.uniqueId("something"); + var session = new openerp.Session(null, null, {override_session: true}); + var tmp = _.uniqueId("something_else"); + session.origin_server = false; + return session.rpc("/web/tests/set_session_value", {value: tmp}, {force2step: true}).then(function() { + ok(true, "set_session returned"); + return origin_session.rpc("/web/tests/set_session_value", {value: origin_tmp}); + }).then(function(result) { + ok(true, "set_session on origin returned"); + return session.rpc("/web/tests/get_session_value", {}, {force2step: true}); + }).then(function(result) { + equal(result, tmp, "Got the same value from the session"); + notEqual(result, origin_tmp, "Values in the different sessions should be different"); + }); + });*/ +}); + + +// desactivated because I can't manage to make these work in the runbot +/* +var login = "admin"; +var password = "admin"; +var db = null; + +ropenerp.testing.section('jsonrpc-auth', { + setup: function() { + var session = new openerp.Session(); + return session.session_reload().then(function() { + db = session.db; + ok(db, "db must be valid"); + }); + }, +}, +function (test) { + test('basic-auth', {asserts: 4}, function () { + var session = new openerp.Session(); + equal(session.uid, undefined, "uid is expected to be undefined"); + return session.session_authenticate(db, login, password).then(function() { + equal(session.uid, 1, "Admin's uid must be 1"); + return session.rpc("/web/dataset/call_kw", { + model: "res.users", + method: "read", + args: [1, ["login"]], + kwargs: {}, + }).then(function(result) { + equal(result.login, "admin", "Admin's name must be 'admin'"); + }); + }); + }); + test('share-sessions', {asserts: 7}, function () { + var session = new openerp.Session(); + var session2; + return session.session_authenticate(db, login, password).then(function() { + equal(session.uid, 1, "Admin's uid must be 1"); + session2 = new openerp.Session(null, null, {session_id: session.session_id}); + equal(session2.uid, undefined, "uid should be undefined"); + equal(session2.override_session, true, "overwrite_session should be true"); + return session2.session_reload(); + }).then(function() { + equal(session2.uid, session.uid); + equal(session2.uid, 1); + return session2.rpc("/web/dataset/call_kw", { + model: "res.users", + method: "read", + args: [1, ["login"]], + kwargs: {}, + }).then(function(result) { + equal(result.login, "admin", "Admin's name must be 'admin'"); + }); + }); + }); + test('models', {asserts: 3}, function () { + var session = new openerp.Session(); + return session.session_authenticate(db, login, password).then(function() { + return session.model("res.users").call("search_read", {fields: ["login"], domain: [["id", "=", 1]]}); + }).then(function(result) { + equal(result.length, 1, "Must have one result"); + equal(result[0].login, "admin", "Must have admin's login"); + }); + }); +});*/ + +})(); diff --git a/addons/web/static/test/mutex.js b/addons/web/static/test/mutex.js index e88911b5b45..8cb9af0f622 100644 --- a/addons/web/static/test/mutex.js +++ b/addons/web/static/test/mutex.js @@ -1,5 +1,5 @@ openerp.testing.section('mutex', { - dependencies: ['web.coresetup'], + dependencies: ['web.core'], setup: function (instance) { } }, function (test) { diff --git a/addons/web/static/test/registry.js b/addons/web/static/test/registry.js index 2ad69a541bc..14f5c492812 100644 --- a/addons/web/static/test/registry.js +++ b/addons/web/static/test/registry.js @@ -1,5 +1,5 @@ openerp.testing.section('registry', { - dependencies: ['web.corelib'], + dependencies: ['web.core'], setup: function (instance) { instance.web.Foo = {}; instance.web.Bar = {}; diff --git a/addons/web/static/test/rpc.js b/addons/web/static/test/rpc-misordered.js index 0f6067e97a6..0f6067e97a6 100644 --- a/addons/web/static/test/rpc.js +++ b/addons/web/static/test/rpc-misordered.js |
