summaryrefslogtreecommitdiff
path: root/addons/web/static/tests/views/control_panel_tests.js
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2019-02-26 16:39:30 +0100
committerChristophe Simonis <chs@odoo.com>2019-02-26 16:39:30 +0100
commitff9c9341d6ed4e9ab18a0aa02e79441999d658f1 (patch)
tree47ffd01e071d3783cff6013cfc4b6c3d8e47a841 /addons/web/static/tests/views/control_panel_tests.js
parentbc84fdf71b15ad419f8693861aea682ee751f85c (diff)
parentfcb972db9dc778eeaf7d6b6ba3638c78d93998ad (diff)
[MERGE] forward port branch saas-12.2 up to fcb972db9dc
Diffstat (limited to 'addons/web/static/tests/views/control_panel_tests.js')
-rw-r--r--addons/web/static/tests/views/control_panel_tests.js81
1 files changed, 81 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 ee191e4d3a9..f2654e55e1b 100644
--- a/addons/web/static/tests/views/control_panel_tests.js
+++ b/addons/web/static/tests/views/control_panel_tests.js
@@ -415,5 +415,86 @@ QUnit.module('Views', {
controlPanel.destroy();
});
+
+ QUnit.test('load filter', async function (assert) {
+ assert.expect(1);
+
+ var controlPanel = await createControlPanel({
+ model: 'partner',
+ arch: "<search></search>",
+ data: this.data,
+ searchMenuTypes: ['filter'],
+ intercepts: {
+ load_filters: function (ev) {
+ ev.data.on_success([
+ {
+ user_id: [2,"Mitchell Admin"],
+ name: 'sorted filter',
+ id: 5,
+ context: {},
+ sort: "[\"foo\", \"-bar\"]",
+ domain: "[('user_id', '=', uid)]",
+ }
+ ]);
+ }
+ }
+ });
+
+ _.each(controlPanel.exportState().filters, function (filter) {
+ if (filter.type === 'favorite') {
+ assert.deepEqual(filter.orderedBy,
+ [{
+ name: 'foo',
+ asc: true,
+ }, {
+ name: 'bar',
+ asc: false,
+ }],
+ 'the filter should have the right orderedBy values');
+ }
+ });
+
+ controlPanel.destroy();
+ });
+
+ QUnit.test('save filter', async function (assert) {
+ assert.expect(1);
+
+ var controlPanel = await createControlPanel({
+ model: 'partner',
+ arch: "<search></search>",
+ data: this.data,
+ searchMenuTypes: ['filter'],
+ intercepts: {
+ create_filter: function (ev) {
+ assert.strictEqual(ev.data.filter.sort, "[\"foo\",\"bar desc\"]",
+ 'The right format for the string "sort" should be sent to the server');
+ },
+ get_controller_query_params: function (ev) {
+ ev.data.callback({
+ orderedBy: [
+ {
+ name: 'foo',
+ asc: true,
+ }, {
+ name: 'bar',
+ asc: false,
+ }
+ ]
+ });
+ }
+ }
+ });
+
+ controlPanel._onNewFavorite({
+ data: {
+ description: 'Morbier',
+ type: 'favorite',
+ },
+ stopPropagation: function () {return;}
+ });
+
+ controlPanel.destroy();
+ });
});
});