summaryrefslogtreecommitdiff
path: root/addons/web/static/test
diff options
context:
space:
mode:
authorFabien Meghazi <fme@openerp.com>2013-08-07 12:06:43 +0200
committerFabien Meghazi <fme@openerp.com>2013-08-07 12:06:43 +0200
commit11fb809e6081ff3196fc6853ca5d286ee5049c8a (patch)
treec2afa35df9c0b69c535258460edbd892065f9984 /addons/web/static/test
parent55e3a0dedd98b512ec6f649d5ff645add53c38ab (diff)
parent1f726f78266ff6130f1ed701799ca969671a1dfc (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.js8
-rw-r--r--addons/web/static/test/evals.js8
-rw-r--r--addons/web/static/test/formats.js2
-rw-r--r--addons/web/static/test/framework.js60
-rw-r--r--addons/web/static/test/fulltest.html3
-rw-r--r--addons/web/static/test/jsonrpc.js181
-rw-r--r--addons/web/static/test/mutex.js2
-rw-r--r--addons/web/static/test/registry.js2
-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