odoo/addons/web/static/test/form.js

60 lines
2.1 KiB
JavaScript

$(document).ready(function () {
var openerp;
module("form.widget", {
setup: function () {
openerp = window.openerp.init([]);
window.openerp.web.corelib(openerp);
window.openerp.web.coresetup(openerp);
window.openerp.web.chrome(openerp);
// views loader stuff
window.openerp.web.data(openerp);
window.openerp.web.views(openerp);
window.openerp.web.list(openerp);
window.openerp.web.form(openerp);
}
});
test("compute_domain", function () {
var fields = {
'a': {value: 3},
'group_method': {value: 'line'},
'select1': {value: 'day'},
'rrule_type': {value: 'monthly'}
};
ok(openerp.web.form.compute_domain(
[['a', '=', 3]], fields));
ok(openerp.web.form.compute_domain(
[['group_method','!=','count']], fields));
ok(openerp.web.form.compute_domain(
[['select1','=','day'], ['rrule_type','=','monthly']], fields));
});
test("compute_domain or", function () {
var web = {
'section_id': {value: null},
'user_id': {value: null},
'member_ids': {value: null}
};
var domain = ['|', ['section_id', '=', 42],
'|', ['user_id','=',3],
['member_ids', 'in', [3]]];
ok(openerp.web.form.compute_domain(domain, _.extend(
{}, web, {'section_id': {value: 42}})));
ok(openerp.web.form.compute_domain(domain, _.extend(
{}, web, {'user_id': {value: 3}})));
ok(openerp.web.form.compute_domain(domain, _.extend(
{}, web, {'member_ids': {value: 3}})));
});
test("compute_domain not", function () {
var fields = {
'a': {value: 5},
'group_method': {value: 'line'}
};
ok(openerp.web.form.compute_domain(
['!', ['a', '=', 3]], fields));
ok(openerp.web.form.compute_domain(
['!', ['group_method','=','count']], fields));
});
});