diff options
| author | Aaron Bohy <aab@odoo.com> | 2017-06-15 12:37:42 +0200 |
|---|---|---|
| committer | Aaron Bohy <aab@odoo.com> | 2017-06-16 11:14:16 +0200 |
| commit | 8859d25bc5b719734b7d02bc26adfd38dca79e56 (patch) | |
| tree | 6106160ae2da305999149bbc141950442d802e26 /addons/web/static/tests/fields/basic_fields_tests.js | |
| parent | 1fa67917ba648bc15f5a895f6bdcea173e2a7258 (diff) | |
[FIX] web: FieldWidgets: use correct format/parse functions
Field widgets must format and parse values according to the widget
type, not to the field type. For example, if a monetary field is
inserted in a form view with widget="float", the field's value must
be formatted with the float formatter, not the montetary one. This
wasn't the case before this rev.
Diffstat (limited to 'addons/web/static/tests/fields/basic_fields_tests.js')
| -rw-r--r-- | addons/web/static/tests/fields/basic_fields_tests.js | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/addons/web/static/tests/fields/basic_fields_tests.js b/addons/web/static/tests/fields/basic_fields_tests.js index 4b850b26d34..a2d0c100fd8 100644 --- a/addons/web/static/tests/fields/basic_fields_tests.js +++ b/addons/web/static/tests/fields/basic_fields_tests.js @@ -536,6 +536,35 @@ QUnit.module('basic_fields', { form.destroy(); }); + QUnit.test('float widget on monetary field', function (assert) { + assert.expect(1); + + this.data.partner.fields.monetary = {string: "Monetary", type: 'monetary'}; + this.data.partner.records[0].monetary = 9.99; + this.data.partner.records[0].currency_id = 1; + + var form = createView({ + View: FormView, + model: 'partner', + data: this.data, + arch:'<form string="Partners">' + + '<sheet>' + + '<field name="monetary" widget="float"/>' + + '<field name="currency_id" invisible="1"/>' + + '</sheet>' + + '</form>', + res_id: 1, + session: { + currencies: _.indexBy(this.data.currency.records, 'id'), + }, + }); + + assert.strictEqual(form.$('.o_field_widget[name=monetary]').text(), '9.99', + 'value should be correctly formatted (with the float formatter)'); + + form.destroy(); + }); + QUnit.module('FieldEmail'); QUnit.test('email field in form view', function (assert) { |
