summaryrefslogtreecommitdiff
path: root/addons/web/static/tests/fields/relational_fields_tests.js
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2019-02-11 17:00:35 +0100
committerChristophe Simonis <chs@odoo.com>2019-02-11 17:00:35 +0100
commit8c29df10e02e6777840ffd7a318472de29f77dd1 (patch)
tree49c08eeab2620aa7e91e87256754763400c93376 /addons/web/static/tests/fields/relational_fields_tests.js
parent0e71f91fa1ea8df0111d034069dcb92e27c5f0a3 (diff)
parent93d736e905e0d3b110c36ee93af341021eba42c4 (diff)
[MERGE] forward port branch saas-12.1 up to 93d736e905e
Diffstat (limited to 'addons/web/static/tests/fields/relational_fields_tests.js')
-rw-r--r--addons/web/static/tests/fields/relational_fields_tests.js36
1 files changed, 36 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 463effad124..faf3df6f2e8 100644
--- a/addons/web/static/tests/fields/relational_fields_tests.js
+++ b/addons/web/static/tests/fields/relational_fields_tests.js
@@ -205,6 +205,42 @@ QUnit.module('relational_fields', {
form.destroy();
});
+ QUnit.test('do not call name_get if display_name already known', function (assert) {
+ // default_get only returns the id for many2one fields
+ // onchange returns an array with the id and the display_name
+ // thus, when an onchange is performed, there is no need to call
+ // name_get as the display_name is alreay available
+ assert.expect(6);
+
+ this.data.partner.fields.product_id.default = 37;
+ this.data.partner.onchanges = {
+ trululu: function (obj) {
+ obj.trululu = [1, 'first record'];
+ },
+ };
+
+ var form = createView({
+ View: FormView,
+ model: 'partner',
+ data: this.data,
+ arch: '<form><field name="trululu"/><field name="product_id"/></form>',
+ mockRPC: function (route, args) {
+ assert.step(args.method + ' on ' + args.model);
+ return this._super.apply(this, arguments);
+ },
+ });
+
+ assert.strictEqual(form.$('.o_field_widget[name=trululu] input').val(), 'first record');
+ assert.strictEqual(form.$('.o_field_widget[name=product_id] input').val(), 'xphone');
+ assert.verifySteps([
+ 'default_get on partner',
+ 'onchange on partner',
+ 'name_get on product',
+ ]);
+
+ form.destroy();
+ });
+
QUnit.test('x2many default_order multiple fields', function (assert) {
assert.expect(7);