diff options
| author | David Monjoie <dmo@odoo.com> | 2017-06-19 10:44:09 +0200 |
|---|---|---|
| committer | David Monjoie <dmo@odoo.com> | 2017-06-23 09:58:42 +0200 |
| commit | 1192ca10487de40b86655eae1f2646970bc32f05 (patch) | |
| tree | ff728f1ff9b9354f89a58983ce1a17284446dbcd /addons/web/static/tests/fields/relational_fields_tests.js | |
| parent | acfb54055aa4016336515b01ed27326c91ed0098 (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/relational_fields_tests.js')
| -rw-r--r-- | addons/web/static/tests/fields/relational_fields_tests.js | 58 |
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); |
