From 71ee2c0995f4684a20d1b99aa31aa225274fc729 Mon Sep 17 00:00:00 2001 From: Mathieu Duckerts-Antoine Date: Mon, 20 Nov 2023 13:20:24 +0100 Subject: [PATCH] [FIX] web: expression editor: between operator MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We make the expression editor support the between operator. closes odoo/odoo#142483 Signed-off-by: Michaƫl Mattiello (mcm) --- .../expression_editor_operator_editor.js | 1 + .../tests/core/expression_editor_tests.js | 23 +++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/addons/web/static/src/core/expression_editor/expression_editor_operator_editor.js b/addons/web/static/src/core/expression_editor/expression_editor_operator_editor.js index f79f11b28ff..e9d58a61806 100644 --- a/addons/web/static/src/core/expression_editor/expression_editor_operator_editor.js +++ b/addons/web/static/src/core/expression_editor/expression_editor_operator_editor.js @@ -7,6 +7,7 @@ const EXPRESSION_VALID_OPERATORS = [ "<=", ">", ">=", + "between", "in", "not in", "=", diff --git a/addons/web/static/tests/core/expression_editor_tests.js b/addons/web/static/tests/core/expression_editor_tests.js index a38bd43cd9a..df91bcb9709 100644 --- a/addons/web/static/tests/core/expression_editor_tests.js +++ b/addons/web/static/tests/core/expression_editor_tests.js @@ -464,4 +464,27 @@ QUnit.module("Components", (hooks) => { ["Bar", "Foo"] ); }); + + QUnit.test("between operator", async (assert) => { + await makeExpressionEditor({ + expression: `id == 1`, + update(expression) { + assert.step(expression); + }, + }); + assert.deepEqual(getOperatorOptions(target), [ + "=", + "!=", + ">", + ">=", + "<", + "<=", + "is between", + "is set", + "is not set", + ]); + assert.verifySteps([]); + await selectOperator(target, "between"); + assert.verifySteps([`id >= 1 and id <= 1`]); + }); });