summaryrefslogtreecommitdiff
path: root/addons/web/static/tests
diff options
context:
space:
mode:
authorMartin Geubelle <mge@odoo.com>2018-12-13 19:32:55 +0000
committerMartin Geubelle <mge@odoo.com>2018-12-17 10:39:03 +0000
commitae2dbc60c5c4e23a840f79071d81f2d4c0b3fa21 (patch)
treeb47c50c058074bbf2cab716437e9922e4626daea /addons/web/static/tests
parent0794a3c95623402fb7579ca7e7465e62fa7e9669 (diff)
[FIX] web: handle `context` in ControlPanel <filter>
The `context` key wasn't correctly taken into account when computing the search query for `filter``tags. It is now correctly handled. Task 1917628 closes odoo/odoo#29529
Diffstat (limited to 'addons/web/static/tests')
-rw-r--r--addons/web/static/tests/views/control_panel_tests.js6
-rw-r--r--addons/web/static/tests/views/search_view_tests.js34
2 files changed, 40 insertions, 0 deletions
diff --git a/addons/web/static/tests/views/control_panel_tests.js b/addons/web/static/tests/views/control_panel_tests.js
index 08cc1391719..10b1bb79879 100644
--- a/addons/web/static/tests/views/control_panel_tests.js
+++ b/addons/web/static/tests/views/control_panel_tests.js
@@ -120,6 +120,7 @@ QUnit.module('Views', {
assert.deepEqual(
controlPanelFactory.loadParams.groups,
[[{
+ context: {},
description: "Hello",
groupNumber: 2,
domain: "[]",
@@ -198,6 +199,7 @@ QUnit.module('Views', {
controlPanelFactory.loadParams.groups,
[[
{
+ "context": {},
"description": "Hello One",
"domain": "[]",
"groupNumber": 2,
@@ -205,6 +207,7 @@ QUnit.module('Views', {
"type": "filter"
},
{
+ "context": {},
"description": "Hello Two",
"domain": "[('bar', '=', 3)]",
"groupNumber": 2,
@@ -233,6 +236,7 @@ QUnit.module('Views', {
[
[
{
+ context: {},
description: "Hello One",
domain: "[]",
groupNumber: 2,
@@ -242,6 +246,7 @@ QUnit.module('Views', {
],
[
{
+ context: {},
description: "Hello Two",
domain: "[('bar', '=', 3)]",
groupNumber: 4,
@@ -267,6 +272,7 @@ QUnit.module('Views', {
[
[
{
+ context: {},
description: "Hello",
domain: "[]",
groupNumber: 2,
diff --git a/addons/web/static/tests/views/search_view_tests.js b/addons/web/static/tests/views/search_view_tests.js
index fa3fe817c2a..f4b0163ce07 100644
--- a/addons/web/static/tests/views/search_view_tests.js
+++ b/addons/web/static/tests/views/search_view_tests.js
@@ -2,6 +2,7 @@ odoo.define('web.search_view_tests', function (require) {
"use strict";
var FormView = require('web.FormView');
+var ListView = require('web.ListView');
var testUtils = require('web.test_utils');
var createActionManager = testUtils.createActionManager;
@@ -694,6 +695,39 @@ QUnit.module('Search View', {
window.Date = RealDate;
});
+ QUnit.test('`context` key in <filter> is used', function (assert) {
+ assert.expect(3);
+
+ this.archs['partner,4,search'] = '<search>'+
+ '<filter string="AAA" name="some_filter" context="{\'coucou_1\': 1}"></filter>' +
+ '</search>';
+
+ var actionManager = createActionManager({
+ actions: this.actions,
+ archs: this.archs,
+ data: this.data,
+ mockRPC: function (route, args) {
+ if (route === '/web/dataset/search_read') {
+ assert.step(JSON.stringify(args.context));
+ }
+ return this._super.apply(this, arguments);
+ },
+ });
+
+ actionManager.doAction(5);
+
+ // select filter
+ testUtils.dom.click($('.o_search_options .fa-filter'));
+ testUtils.dom.click($('.o_menu_item:contains(AAA)'));
+
+ assert.verifySteps([
+ "{}",
+ "{\"coucou_1\":1}",
+ ]);
+
+ actionManager.destroy();
+ });
+
QUnit.module('Favorites Menu');
QUnit.test('dynamic filters are saved dynamic', function (assert) {