2018-01-16 11:34:37 +01:00
|
|
|
flectra.define('web.domain_tests', function (require) {
|
2018-01-16 06:58:15 +01:00
|
|
|
"use strict";
|
|
|
|
|
|
|
|
var Domain = require('web.Domain');
|
|
|
|
|
|
|
|
QUnit.module('core', {}, function () {
|
|
|
|
|
|
|
|
QUnit.module('domain');
|
|
|
|
|
|
|
|
QUnit.test("basic", function (assert) {
|
|
|
|
assert.expect(3);
|
|
|
|
|
|
|
|
var fields = {
|
|
|
|
a: 3,
|
|
|
|
group_method: 'line',
|
|
|
|
select1: 'day',
|
|
|
|
rrule_type: 'monthly',
|
|
|
|
};
|
|
|
|
assert.ok(new Domain([['a', '=', 3]]).compute(fields));
|
|
|
|
assert.ok(new Domain([['group_method','!=','count']]).compute(fields));
|
|
|
|
assert.ok(new Domain([['select1','=','day'], ['rrule_type','=','monthly']]).compute(fields));
|
|
|
|
});
|
|
|
|
|
|
|
|
QUnit.test("or", function (assert) {
|
|
|
|
assert.expect(3);
|
|
|
|
|
|
|
|
var web = {
|
|
|
|
section_id: null,
|
|
|
|
user_id: null,
|
|
|
|
member_ids: null,
|
|
|
|
};
|
|
|
|
var currentDomain = [
|
|
|
|
'|',
|
|
|
|
['section_id', '=', 42],
|
|
|
|
'|',
|
|
|
|
['user_id', '=', 3],
|
|
|
|
['member_ids', 'in', [3]]
|
|
|
|
];
|
|
|
|
assert.ok(new Domain(currentDomain).compute(_.extend({}, web, {section_id: 42})));
|
|
|
|
assert.ok(new Domain(currentDomain).compute(_.extend({}, web, {user_id: 3})));
|
|
|
|
assert.ok(new Domain(currentDomain).compute(_.extend({}, web, {member_ids: 3})));
|
|
|
|
});
|
|
|
|
|
|
|
|
QUnit.test("not", function (assert) {
|
|
|
|
assert.expect(2);
|
|
|
|
|
|
|
|
var fields = {
|
|
|
|
a: 5,
|
|
|
|
group_method: 'line',
|
|
|
|
};
|
|
|
|
assert.ok(new Domain(['!', ['a', '=', 3]]).compute(fields));
|
|
|
|
assert.ok(new Domain(['!', ['group_method','=','count']]).compute(fields));
|
|
|
|
});
|
|
|
|
|
|
|
|
QUnit.test("domains initialized with a number", function (assert) {
|
|
|
|
assert.expect(2);
|
|
|
|
|
|
|
|
assert.ok(new Domain(1).compute({}));
|
|
|
|
assert.notOk(new Domain(0).compute({}));
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|