summaryrefslogtreecommitdiff
path: root/addons/web/static/tests/control_panel/search_utils_tests.js
diff options
context:
space:
mode:
authorNicolas Lempereur <nle@odoo.com>2020-11-04 16:48:35 +0000
committerNicolas Lempereur <nle@odoo.com>2020-11-05 15:42:28 +0000
commit74ea66a107cfc98cce8e52903ec21e3d752fb4fb (patch)
tree3677ae8d4bae353536f4c73ebe14e0f1a67b2c7c /addons/web/static/tests/control_panel/search_utils_tests.js
parent5b022f433a44e627541d30ae21d7a867f4a3a6ff (diff)
[FIX] web: use latin number date domain in comparison menu
When using eg. arabic locale, the figures inside dates were replaced by arabic figures which are not supported server side (they are almost always sent in latin figures). With this changeset, the we are using english locale to get date in domains. Without the change, added test fails with: Numbers in domain should not use addoneForTest locale Expected:...[date_field, >=, 2020-06-01], [date_field, <=, 2020-06-30] Result:...[date_field, >=, 3131-17-12], [date_field, <=, 3131-17-41] opw-2370392 closes #61354 Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Diffstat (limited to 'addons/web/static/tests/control_panel/search_utils_tests.js')
-rw-r--r--addons/web/static/tests/control_panel/search_utils_tests.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/addons/web/static/tests/control_panel/search_utils_tests.js b/addons/web/static/tests/control_panel/search_utils_tests.js
index 60a7ae5089d..ab7ef429ca9 100644
--- a/addons/web/static/tests/control_panel/search_utils_tests.js
+++ b/addons/web/static/tests/control_panel/search_utils_tests.js
@@ -332,5 +332,31 @@ odoo.define('web.search_utils_tests', function (require) {
testUtils.mock.unpatch(_t.database.db);
testUtils.mock.unpatch(_t.database.parameters);
});
+
+ QUnit.test("Moment.js localization does not affect formatted domain dates", async function (assert) {
+ assert.expect(1);
+
+ const unpatchDate = patchDate(2020, 5, 1, 13, 0, 0);
+ const initialLocale = moment.locale();
+ moment.defineLocale('addoneForTest', {
+ postformat: function (string) {
+ return string.replace(/\d/g, match => (1 + parseInt(match)) % 10);
+ }
+ });
+ const referenceMoment = moment().locale('addoneForTest');
+
+ assert.deepEqual(
+ constructDateDomain(referenceMoment, 'date_field', 'date', ['this_month', 'this_year']),
+ {
+ domain: `["&", ["date_field", ">=", "2020-06-01"], ["date_field", "<=", "2020-06-30"]]`,
+ description: "June 3131",
+ },
+ "Numbers in domain should not use addoneForTest locale"
+ );
+
+ moment.locale(initialLocale);
+ moment.updateLocale("addoneForTest", null);
+ unpatchDate();
+ });
});
});