summaryrefslogtreecommitdiff
path: root/addons/web/static/tests/widgets/dropdown_menu_tests.js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/static/tests/widgets/dropdown_menu_tests.js')
-rw-r--r--addons/web/static/tests/widgets/dropdown_menu_tests.js87
1 files changed, 44 insertions, 43 deletions
diff --git a/addons/web/static/tests/widgets/dropdown_menu_tests.js b/addons/web/static/tests/widgets/dropdown_menu_tests.js
index c46c15fe649..83f5d3fecb7 100644
--- a/addons/web/static/tests/widgets/dropdown_menu_tests.js
+++ b/addons/web/static/tests/widgets/dropdown_menu_tests.js
@@ -8,7 +8,7 @@ function createDropdownMenu(dropdownTitle, groups, params) {
params = params || {};
var target = params.debug ? document.body : $('#qunit-fixture');
var menu = new DropdownMenu(null, dropdownTitle, groups);
- testUtils.addMockEnvironment(menu, params);
+ testUtils.mock.addMockEnvironment(menu, params);
menu.appendTo(target);
return menu;
}
@@ -44,7 +44,7 @@ QUnit.module('Web', {
assert.expect(2);
var dropdownMenu = createDropdownMenu(this.dropdownHeader, this.items);
- assert.strictEqual(dropdownMenu.$('.dropdown-divider, .dropdown-item, .dropdown-item-text').length, 4, 'should have 4 elements counting the dividers');
+ assert.containsN(dropdownMenu, '.dropdown-divider, .dropdown-item, .dropdown-item-text', 4, 'should have 4 elements counting the dividers');
assert.strictEqual(dropdownMenu.$('.dropdown-divider, .dropdown-item, .dropdown-item-text').eq(1).text().trim(), 'Some Item',
'first element should have "Some Item" description');
dropdownMenu.destroy();
@@ -68,14 +68,14 @@ QUnit.module('Web', {
},
},
});
- dropdownMenu.$('button:first').click();
- assert.ok(!dropdownMenu.$('.o_menu_item:first > .dropdown-item').hasClass('selected'));
- dropdownMenu.$('.o_menu_item a').first().click();
- assert.ok(dropdownMenu.$('.o_menu_item:first > .dropdown-item').hasClass('selected'));
+ testUtils.dom.click(dropdownMenu.$('button:first'));
+ assert.doesNotHaveClass(dropdownMenu.$('.o_menu_item:first > .dropdown-item'), 'selected');
+ testUtils.dom.click(dropdownMenu.$('.o_menu_item a').first());
+ assert.hasClass(dropdownMenu.$('.o_menu_item:first > .dropdown-item'), 'selected');
assert.ok(dropdownMenu.$('.o_menu_item:first').is(':visible'),
'item should still be visible');
- dropdownMenu.$('.o_menu_item a').first().click();
- assert.ok(!dropdownMenu.$('.o_menu_item:first > .dropdown-item').hasClass('selected'));
+ testUtils.dom.click(dropdownMenu.$('.o_menu_item a').first());
+ assert.doesNotHaveClass(dropdownMenu.$('.o_menu_item:first > .dropdown-item'), 'selected');
assert.ok(dropdownMenu.$('.o_menu_item:first').is(':visible'),
'item should still be visible');
@@ -86,11 +86,12 @@ QUnit.module('Web', {
assert.expect(0);
var dropdownMenu = createDropdownMenu(this.dropdownHeader, this.items);
+ testUtils.dom.click(dropdownMenu.$('.o_dropdown_toggler_btn'));
dropdownMenu.$el.click(function () {
// we do not want a click to get out and change the url, for example
throw new Error('No click should get out of the dropdown menu');
});
- dropdownMenu.$('.o_menu_item a').first().click();
+ testUtils.dom.click(dropdownMenu.$('.o_menu_item a').first());
dropdownMenu.destroy();
});
@@ -102,14 +103,14 @@ QUnit.module('Web', {
var dropdownMenu = createDropdownMenu(this.dropdownHeader, this.items);
// open dropdown
- dropdownMenu.$('button:first').click();
- assert.strictEqual(dropdownMenu.$('.dropdown-divider, .dropdown-item, .dropdown-item-text').length, 4);
+ testUtils.dom.click(dropdownMenu.$('button:first'));
+ assert.containsN(dropdownMenu, '.dropdown-divider, .dropdown-item, .dropdown-item-text', 4);
// open options menu
- dropdownMenu.$('span.fa-caret-right').click();
- assert.strictEqual(dropdownMenu.$('.dropdown-divider, .dropdown-item, .dropdown-item-text').length, 7);
+ testUtils.dom.click(dropdownMenu.$('span.fa-caret-right'));
+ assert.containsN(dropdownMenu, '.dropdown-divider, .dropdown-item, .dropdown-item-text', 7);
// close options menu
- dropdownMenu.$('span.fa-caret-down').click();
- assert.strictEqual(dropdownMenu.$('.dropdown-divider, .dropdown-item, .dropdown-item-text').length, 4);
+ testUtils.dom.click(dropdownMenu.$('span.fa-caret-down'));
+ assert.containsN(dropdownMenu, '.dropdown-divider, .dropdown-item, .dropdown-item-text', 4);
dropdownMenu.destroy();
});
@@ -120,13 +121,13 @@ QUnit.module('Web', {
this.items[0].options = [{optionId: 1, description: "First Option"}, {optionId: 2, description: "Second Option"}];
var dropdownMenu = createDropdownMenu(this.dropdownHeader, this.items);
- dropdownMenu.$('button:first').click();
+ testUtils.dom.click(dropdownMenu.$('button:first'));
// open options menu
- dropdownMenu.$('span.fa-caret-right').click();
- assert.strictEqual(dropdownMenu.$('.dropdown-divider, .dropdown-item, .dropdown-item-text').length, 7);
- dropdownMenu.$('button:first').click();
- dropdownMenu.$('button:first').click();
- assert.strictEqual(dropdownMenu.$('.dropdown-divider, .dropdown-item, .dropdown-item-text').length, 4);
+ testUtils.dom.click(dropdownMenu.$('span.fa-caret-right'));
+ assert.containsN(dropdownMenu, '.dropdown-divider, .dropdown-item, .dropdown-item-text', 7);
+ testUtils.dom.click(dropdownMenu.$('button:first'));
+ testUtils.dom.click(dropdownMenu.$('button:first'));
+ assert.containsN(dropdownMenu, '.dropdown-divider, .dropdown-item, .dropdown-item-text', 4);
dropdownMenu.destroy();
});
@@ -162,26 +163,26 @@ QUnit.module('Web', {
},
});
// open dropdown menu
- dropdownMenu.$('button:first').click();
+ testUtils.dom.click(dropdownMenu.$('button:first'));
// open options menu
- dropdownMenu.$('span.fa-caret-right').click();
- assert.strictEqual(dropdownMenu.$('.dropdown-divider, .dropdown-item, .dropdown-item-text').length, 7);
+ testUtils.dom.click(dropdownMenu.$('span.fa-caret-right'));
+ assert.containsN(dropdownMenu, '.dropdown-divider, .dropdown-item, .dropdown-item-text', 7);
// Don't forget there is a hidden li.divider element at first place among children
- assert.ok(!dropdownMenu.$('.o_menu_item:nth-child(2) > .dropdown-item').hasClass('selected'));
- assert.ok(!dropdownMenu.$('.o_item_option:nth-child(2) > .dropdown-item').hasClass('selected'));
- assert.ok(!dropdownMenu.$('.o_item_option:nth-child(3) > .dropdown-item').hasClass('selected'));
- dropdownMenu.$('.o_item_option:first').click();
- assert.ok(dropdownMenu.$('.o_menu_item:nth-child(2) > .dropdown-item').hasClass('selected'));
- assert.ok(dropdownMenu.$('.o_item_option:nth-child(2) > .dropdown-item').hasClass('selected'));
- assert.ok(!dropdownMenu.$('.o_item_option:nth-child(3) > .dropdown-item').hasClass('selected'));
- dropdownMenu.$('.o_item_option:nth-child(3)').click();
- assert.ok(dropdownMenu.$('.o_menu_item:nth-child(2) > .dropdown-item').hasClass('selected'));
- assert.ok(!dropdownMenu.$('.o_item_option:nth-child(2) > .dropdown-item').hasClass('selected'));
- assert.ok(dropdownMenu.$('.o_item_option:nth-child(3) > .dropdown-item').hasClass('selected'));
- dropdownMenu.$('.o_item_option:nth-child(3)').click();
- assert.ok(!dropdownMenu.$('.o_menu_item:nth-child(2) > .dropdown-item').hasClass('selected'));
- assert.ok(!dropdownMenu.$('.o_item_option:nth-child(2) > .dropdown-item').hasClass('selected'));
- assert.ok(!dropdownMenu.$('.o_item_option:nth-child(3) > .dropdown-item').hasClass('selected'));
+ assert.doesNotHaveClass(dropdownMenu.$('.o_menu_item:nth-child(2) > .dropdown-item'), 'selected');
+ assert.doesNotHaveClass(dropdownMenu.$('.o_item_option:nth-child(2) > .dropdown-item'), 'selected');
+ assert.doesNotHaveClass(dropdownMenu.$('.o_item_option:nth-child(3) > .dropdown-item'), 'selected');
+ testUtils.dom.click(dropdownMenu.$('.o_item_option:first'));
+ assert.hasClass(dropdownMenu.$('.o_menu_item:nth-child(2) > .dropdown-item'), 'selected');
+ assert.hasClass(dropdownMenu.$('.o_item_option:nth-child(2) > .dropdown-item'), 'selected');
+ assert.doesNotHaveClass(dropdownMenu.$('.o_item_option:nth-child(3) > .dropdown-item'), 'selected');
+ testUtils.dom.click(dropdownMenu.$('.o_item_option:nth-child(3)'));
+ assert.hasClass(dropdownMenu.$('.o_menu_item:nth-child(2) > .dropdown-item'), 'selected');
+ assert.doesNotHaveClass(dropdownMenu.$('.o_item_option:nth-child(2) > .dropdown-item'), 'selected');
+ assert.hasClass(dropdownMenu.$('.o_item_option:nth-child(3) > .dropdown-item'), 'selected');
+ testUtils.dom.click(dropdownMenu.$('.o_item_option:nth-child(3)'));
+ assert.doesNotHaveClass(dropdownMenu.$('.o_menu_item:nth-child(2) > .dropdown-item'), 'selected');
+ assert.doesNotHaveClass(dropdownMenu.$('.o_item_option:nth-child(2) > .dropdown-item'), 'selected');
+ assert.doesNotHaveClass(dropdownMenu.$('.o_item_option:nth-child(3) > .dropdown-item'), 'selected');
dropdownMenu.destroy();
});
@@ -195,10 +196,10 @@ QUnit.module('Web', {
},
},
});
- dropdownMenu.$('button:first').click();
- assert.strictEqual(dropdownMenu.$('.dropdown-divider, .dropdown-item, .dropdown-item-text').length, 4);
- dropdownMenu.$('span.o_trash_button').click();
- assert.strictEqual(dropdownMenu.$('.dropdown-divider, .dropdown-item, .dropdown-item-text').length, 2);
+ testUtils.dom.click(dropdownMenu.$('button:first'));
+ assert.containsN(dropdownMenu, '.dropdown-divider, .dropdown-item, .dropdown-item-text', 4);
+ testUtils.dom.click(dropdownMenu.$('span.o_trash_button'));
+ assert.containsN(dropdownMenu, '.dropdown-divider, .dropdown-item, .dropdown-item-text', 2);
dropdownMenu.destroy();
});
});