summaryrefslogtreecommitdiff
path: root/addons/web/static/tests
diff options
context:
space:
mode:
authorMohammed Shekha <msh@odoo.com>2020-08-13 07:54:49 +0000
committerMathieu Duckerts-Antoine <dam@odoo.com>2020-08-25 13:17:51 +0000
commit87aa0ea2c494f63a3cf4864770aee47b1ebbf364 (patch)
tree87095cc04b72490211db9eb29289fc9e32bd1591 /addons/web/static/tests
parent826a5c05c1cf6212de53643fed29b23781c20324 (diff)
[IMP] web: do not resize quick create form on window resize
The quick create form view is explicitly given the o_xxs_form_view class at initialization but resizing the window sometimes changes that class on form element in enterprise. To avoid this in the quick create case, the method _applyFormSizeClass has been overriden in QuickCreateFormRenderer in order to do nothing when the window is resized, so that the class and the related style stay the same as expected. Task ID: 2317807 closes odoo/odoo#56517 X-original-commit: f9c605ea578267de17e6c1dcc69dfd179d5d95fe Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
Diffstat (limited to 'addons/web/static/tests')
-rw-r--r--addons/web/static/tests/views/kanban_tests.js37
1 files changed, 37 insertions, 0 deletions
diff --git a/addons/web/static/tests/views/kanban_tests.js b/addons/web/static/tests/views/kanban_tests.js
index 8c3f1b90029..56f37a82a23 100644
--- a/addons/web/static/tests/views/kanban_tests.js
+++ b/addons/web/static/tests/views/kanban_tests.js
@@ -4,6 +4,7 @@ odoo.define('web.kanban_tests', function (require) {
var AbstractField = require('web.AbstractField');
const Domain = require('web.Domain');
var fieldRegistry = require('web.field_registry');
+const FormRenderer = require("web.FormRenderer");
var KanbanColumnProgressBar = require('web.KanbanColumnProgressBar');
var kanbanExamplesRegistry = require('web.kanban_examples_registry');
var KanbanRenderer = require('web.KanbanRenderer');
@@ -898,6 +899,42 @@ QUnit.module('Views', {
kanban.destroy();
});
+ QUnit.test('window resize should not change quick create form size', async function (assert) {
+ assert.expect(2);
+
+ testUtils.mock.patch(FormRenderer, {
+ start: function () {
+ this._super.apply(this, arguments);
+ window.addEventListener("resize", this._applyFormSizeClass.bind(this));
+ },
+
+ });
+ const kanban = await createView({
+ View: KanbanView,
+ model: 'partner',
+ data: this.data,
+ arch: '<kanban on_create="quick_create">' +
+ '<field name="bar"/>' +
+ '<templates><t t-name="kanban-box">' +
+ '<div><field name="foo"/></div>' +
+ '</t></templates></kanban>',
+ groupBy: ['bar'],
+ });
+
+ // click to add an element and cancel the quick creation by pressing ESC
+ await testUtils.dom.click(kanban.el.querySelector('.o_kanban_header .o_kanban_quick_add i'));
+
+ const quickCreate = kanban.el.querySelector('.o_kanban_quick_create');
+ assert.hasClass(quickCreate.querySelector('.o_form_view'), "o_xxs_form_view");
+
+ // trigger window resize explicitly to call _applyFormSizeClass
+ window.dispatchEvent(new Event('resize'));
+ assert.hasClass(quickCreate.querySelector('.o_form_view'), 'o_xxs_form_view');
+
+ kanban.destroy();
+ testUtils.mock.unpatch(FormRenderer);
+ });
+
QUnit.test('quick create record: cancel and validate without using the buttons', async function (assert) {
assert.expect(8);