ok(!facet, "an invalid m2o default should yield a non-facet");
});
});
+ test("M2O default: values", {rpc: false}, function (instance) {
+ var view = {inputs: []};
+ var f = new instance.web.search.ManyToOneField(
+ {attrs: {name: 'dummy', string: 'Dummy'}},
+ {relation: 'dummy.model.name'},
+ view);
+ raises(function () { f.facet_for_defaults({dummy: [6, 7]}) },
+ "should not accept multiple default values");
+ })
});
- openerp.testing.section('completions', {
+ openerp.testing.section('search.completions', {
dependencies: ['web.search'],
rpc: 'mock',
templates: true
ok(!c, "no match should yield no completion");
});
});
+ test("M2O filtered", {asserts: 2}, function (instance, $s, mock) {
+ mock('dummy.model:name_search', function (args, kwargs) {
+ deepEqual(args, [], "should have no positional arguments");
+ deepEqual(kwargs, {
+ name: 'bob',
+ limit: 8,
+ args: [['foo', '=', 'bar']],
+ context: {flag: 1},
+ }, "should use filtering domain");
+ return [[42, "Match"]];
+ });
+ var view = {
+ inputs: [],
+ dataset: {get_context: function () { return {flag: 1}; }}
+ };
+ var f = new instance.web.search.ManyToOneField(
+ {attrs: {string: 'Dummy', domain: '[["foo", "=", "bar"]]'}},
+ {relation: 'dummy.model'}, view);
+ return f.complete("bob");
+ });
});
- openerp.testing.section('search-serialization', {
+ openerp.testing.section('search.serialization', {
dependencies: ['web.search'],
rpc: 'mock',
templates: true
"should have selected second filter");
});
});
+ test('creation', {asserts: 2}, function (instance, $fix, mock) {
+ // force a user context
+ instance.session.user_context = {foo: 'bar'};
+
+ var view = makeSearchView(instance);
+ var done = $.Deferred();
+ mock('ir.filters:get_filters', function () { return []; });
+ mock('ir.filters:create_or_replace', function (args) {
+ var filter = args[0];
+ deepEqual(filter.context, {}, "should have empty context");
+ deepEqual(filter.domain, [], "should have empty domain");
+ done.resolve();
+ });
+ return view.appendTo($fix)
+ .then(function () {
+ $fix.find('.oe_searchview_custom input#oe_searchview_custom_input')
+ .text("filter name")
+ .end()
+ .find('.oe_searchview_custom button').click();
+ return done.promise();
+ });
+ });
});
- openerp.testing.section('advanced', {
+ openerp.testing.section('search.advanced', {
dependencies: ['web.search'],
rpc: 'mock',
templates: true