diff --git a/addons/web/static/tests/webclient/settings_form_view/settings_form_view_tests.js b/addons/web/static/tests/webclient/settings_form_view/settings_form_view_tests.js index d450afb4faa..b6bed1e193b 100644 --- a/addons/web/static/tests/webclient/settings_form_view/settings_form_view_tests.js +++ b/addons/web/static/tests/webclient/settings_form_view/settings_form_view_tests.js @@ -1495,6 +1495,59 @@ QUnit.module("SettingsFormView", (hooks) => { ); }); + QUnit.test("Settings with createLabelFromField", async function (assert) { + serverData.models["res.config.settings"].fields.baz.string = "Zab"; + + await makeView({ + type: "form", + resModel: "res.config.settings", + serverData, + arch: ` +
`, + }); + + await editSearch(target, "__comp__.props.record"); + await execTimeouts(); + assert.deepEqual( + [...target.querySelectorAll(".o_settings_container .o_setting_box .o_form_label")].map( + (x) => x.textContent + ), + [] + ); + + await editSearch(target, "baz"); + await execTimeouts(); + assert.deepEqual( + [...target.querySelectorAll(".o_settings_container .o_setting_box .o_form_label")].map( + (x) => x.textContent + ), + [] + ); + + await editSearch(target, "zab"); + await execTimeouts(); + assert.strictEqual( + target.querySelector(".highlighter").textContent, + "Zab", + "Zab word highlighted" + ); + assert.deepEqual( + [...target.querySelectorAll(".o_settings_container .o_setting_box .o_form_label")].map( + (x) => x.textContent + ), + ["Zab"] + ); + }); + QUnit.test("standalone field labels with string inside a settings page", async (assert) => { let compiled = undefined; patchWithCleanup(SettingsFormCompiler.prototype, {