summaryrefslogtreecommitdiff
path: root/addons/web/static/tests
diff options
context:
space:
mode:
authorAaron Bohy <aab@odoo.com>2018-01-08 15:57:33 +0100
committerAaron Bohy <aab@odoo.com>2018-01-12 08:13:15 +0100
commit25b101f15bb3da914dd9fa2ca804a542e2303e7b (patch)
tree011716df96ae69bcbb2ce74d0f70396cd90e788f /addons/web/static/tests
parentb7b38ed141be9d525c016c64b2ff932e865a63ca (diff)
[FIX] web: Kanban: quick create several records in a row
Before this rev., when quick creating a record in a grouped kanban view, the quick create widget wasn't automatically re-opened, which didn't allow the user to quickly create several records in a row (without clicking each time on the '+'). This desired behavior had been broken by rev. 1d34e26, which aimed to properly reload the kanban column when a record was created (e.g. column counter, progress bar...).
Diffstat (limited to 'addons/web/static/tests')
-rw-r--r--addons/web/static/tests/views/kanban_tests.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/addons/web/static/tests/views/kanban_tests.js b/addons/web/static/tests/views/kanban_tests.js
index 9c8361e63ae..f10c459baf2 100644
--- a/addons/web/static/tests/views/kanban_tests.js
+++ b/addons/web/static/tests/views/kanban_tests.js
@@ -493,6 +493,58 @@ QUnit.module('Views', {
kanban.destroy();
});
+ QUnit.test('quick create several records in a row', function (assert) {
+ assert.expect(6);
+
+ var kanban = createView({
+ View: KanbanView,
+ model: 'partner',
+ data: this.data,
+ arch: '<kanban class="o_kanban_test" on_create="quick_create">' +
+ '<field name="bar"/>' +
+ '<templates><t t-name="kanban-box">' +
+ '<div><field name="foo"/></div>' +
+ '</t></templates></kanban>',
+ groupBy: ['bar'],
+ });
+
+ assert.strictEqual(kanban.$('.o_kanban_group:first .o_kanban_record').length, 1,
+ "first column should contain one record");
+
+ // click to add an element, fill the input and press ENTER
+ kanban.$('.o_kanban_header .o_kanban_quick_add i').first().click();
+
+ assert.strictEqual(kanban.$('.o_kanban_quick_create').length, 1,
+ "the quick create should be open");
+
+ kanban.$('.o_kanban_quick_create input')
+ .val('new partner 1')
+ .trigger($.Event('keypress', {
+ which: $.ui.keyCode.ENTER,
+ keyCode: $.ui.keyCode.ENTER,
+ }));
+
+ assert.strictEqual(kanban.$('.o_kanban_group:first .o_kanban_record').length, 2,
+ "first column should now contain two records");
+ assert.strictEqual(kanban.$('.o_kanban_quick_create').length, 1,
+ "the quick create should still be open");
+
+ // create a second element in a row
+ kanban.$('.o_kanban_quick_create input')
+ .val('new partner 2')
+ .trigger($.Event('keypress', {
+ which: $.ui.keyCode.ENTER,
+ keyCode: $.ui.keyCode.ENTER,
+ }));
+
+ assert.strictEqual(kanban.$('.o_kanban_group:first .o_kanban_record').length, 3,
+ "first column should now contain three records");
+ assert.strictEqual(kanban.$('.o_kanban_quick_create').length, 1,
+ "the quick create should still be open");
+
+ kanban.destroy();
+ });
+
QUnit.test('quick create fail in grouped', function (assert) {
assert.expect(7);