From 45a718aa101ec14de549bd719cfec9a92065ee65 Mon Sep 17 00:00:00 2001 From: Aaron Bohy Date: Fri, 16 Sep 2022 13:12:20 +0000 Subject: [PATCH] [FIX] web: PhoneField: set correct type on input "phone" isn't a valid input type, so it had no effect, except breaking the tour system when a PhoneField input was the target of a step, since the "consume event" was then "click" instead of "input".. closes odoo/odoo#100388 Related: odoo/enterprise#31437 Signed-off-by: Pierre Paridans (app) --- addons/web/static/src/views/fields/phone/phone_field.xml | 2 +- addons/web/static/tests/helpers/utils.js | 6 +++++- addons/web/static/tests/views/fields/phone_field_tests.js | 6 +++--- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/addons/web/static/src/views/fields/phone/phone_field.xml b/addons/web/static/src/views/fields/phone/phone_field.xml index 5596be1f3e6..ac5c1dd15c4 100644 --- a/addons/web/static/src/views/fields/phone/phone_field.xml +++ b/addons/web/static/src/views/fields/phone/phone_field.xml @@ -9,7 +9,7 @@ diff --git a/addons/web/static/tests/helpers/utils.js b/addons/web/static/tests/helpers/utils.js index 628847b3817..e207d8119fb 100644 --- a/addons/web/static/tests/helpers/utils.js +++ b/addons/web/static/tests/helpers/utils.js @@ -437,7 +437,11 @@ export async function editInput(el, selector, value) { if (!(input instanceof HTMLInputElement || input instanceof HTMLTextAreaElement)) { throw new Error("Only 'input' and 'textarea' elements can be edited with 'editInput'."); } - if (!["text", "textarea", "email", "search", "color", "number", "file"].includes(input.type)) { + if ( + !["text", "textarea", "email", "search", "color", "number", "file", "tel"].includes( + input.type + ) + ) { throw new Error(`Type "${input.type}" not supported by 'editInput'.`); } diff --git a/addons/web/static/tests/views/fields/phone_field_tests.js b/addons/web/static/tests/views/fields/phone_field_tests.js index 18ef9ac3334..e33acf183be 100644 --- a/addons/web/static/tests/views/fields/phone_field_tests.js +++ b/addons/web/static/tests/views/fields/phone_field_tests.js @@ -60,17 +60,17 @@ QUnit.module("Fields", (hooks) => { await click(target.querySelector(".o_form_button_edit")); assert.containsOnce( target, - 'input[type="phone"]', + 'input[type="tel"]', "should have an input for the phone field" ); assert.strictEqual( - target.querySelector('input[type="phone"]').value, + target.querySelector('input[type="tel"]').value, "yop", "input should contain field value in edit mode" ); // change value in edit mode - await editInput(target, "input[type='phone']", "new"); + await editInput(target, "input[type='tel']", "new"); // save await click(target.querySelector(".o_form_button_save"));