summaryrefslogtreecommitdiff
path: root/addons/web/static/tests/fields
diff options
context:
space:
mode:
authorDavid Monjoie <dmo@odoo.com>2017-06-19 10:44:09 +0200
committerDavid Monjoie <dmo@odoo.com>2017-06-23 09:58:42 +0200
commit1192ca10487de40b86655eae1f2646970bc32f05 (patch)
treeff728f1ff9b9354f89a58983ce1a17284446dbcd /addons/web/static/tests/fields
parentacfb54055aa4016336515b01ed27326c91ed0098 (diff)
[FIX] web: fix searching on datetime fields
Previously, one could not create a custom filter on a datetime field without encountering a crash.
Diffstat (limited to 'addons/web/static/tests/fields')
-rw-r--r--addons/web/static/tests/fields/relational_fields_tests.js58
1 files changed, 58 insertions, 0 deletions
diff --git a/addons/web/static/tests/fields/relational_fields_tests.js b/addons/web/static/tests/fields/relational_fields_tests.js
index a1631e33139..b35a1e84000 100644
--- a/addons/web/static/tests/fields/relational_fields_tests.js
+++ b/addons/web/static/tests/fields/relational_fields_tests.js
@@ -199,6 +199,64 @@ QUnit.module('relational_fields', {
form.destroy();
});
+ QUnit.test('many2ones in form views with search more', function (assert) {
+ assert.expect(3);
+ this.data.partner.records.push({
+ id: 5,
+ display_name: "Partner 4",
+ }, {
+ id: 6,
+ display_name: "Partner 5",
+ }, {
+ id: 7,
+ display_name: "Partner 6",
+ }, {
+ id: 8,
+ display_name: "Partner 7",
+ }, {
+ id: 9,
+ display_name: "Partner 8",
+ }, {
+ id: 10,
+ display_name: "Partner 9",
+ });
+ this.data.partner.fields.datetime.searchable = true;
+ var form = createView({
+ View: FormView,
+ model: 'partner',
+ data: this.data,
+ arch: '<form string="Partners">' +
+ '<sheet>' +
+ '<group>' +
+ '<field name="trululu"/>' +
+ '</group>' +
+ '</sheet>' +
+ '</form>',
+ archs: {
+ 'partner,false,list': '<tree><field name="display_name"/></tree>',
+ 'partner,false,search': '<search><field name="datetime"/></search>',
+ },
+ res_id: 1,
+ });
+
+ form.$buttons.find('.o_form_button_edit').click();
+ var $dropdown = form.$('.o_field_many2one input').autocomplete('widget');
+ form.$('.o_field_many2one input').click();
+ $dropdown.find('.o_m2o_dropdown_option:contains(Search)').mouseenter().click(); // Open Search More
+
+ assert.strictEqual($('tr.o_data_row').length, 9, "should display 9 records");
+
+ $('.o_searchview_more').click(); // Magnifying class for more filters
+ $('button:contains(Filters)').click();
+ $('.o_add_filter').click(); // Add a custom filter, datetime field is selected
+ assert.strictEqual($('li.o_filter_condition select.o_searchview_extended_prop_field').val(), 'datetime',
+ "datetime field should be selected");
+ $('.o_apply_filter').click();
+
+ assert.strictEqual($('tr.o_data_row').length, 0, "should display 0 records");
+ form.destroy();
+ });
+
QUnit.test('onchanges on many2ones trigger when editing record in form view', function (assert) {
assert.expect(9);