diff options
Diffstat (limited to 'addons/web/static/tests/fields')
| -rw-r--r-- | addons/web/static/tests/fields/special_fields.js | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/addons/web/static/tests/fields/special_fields.js b/addons/web/static/tests/fields/special_fields.js index 3592f813fae..8a605458546 100644 --- a/addons/web/static/tests/fields/special_fields.js +++ b/addons/web/static/tests/fields/special_fields.js @@ -213,6 +213,48 @@ QUnit.module('special_fields', { form.destroy(); }); + QUnit.test('widget timezone_mismatch in a form view edit mode with mismatch', function (assert) { + assert.expect(3); + + this.data.partner.fields.tz_offset = { + string: "tz_offset", + type: "char" + }; + this.data.partner.fields.tz = { + type: "selection", + selection: [['Europe/Brussels', "Europe/Brussels"], ['America/Los_Angeles', "America/Los_Angeles"]], + }; + this.data.partner.records[0].tz = 'America/Los_Angeles'; + this.data.partner.records[0].tz_offset = '+4800'; + + var form = createView({ + debug:true, + View: FormView, + model: 'partner', + res_id: 1, + data: this.data, + arch: '<form>' + + '<field name="tz_offset" invisible="True"/>' + + '<field name="tz" widget="timezone_mismatch" options="{\'tz_offset_field\': \'tz_offset\'}"/>' + + '</form>', + viewOptions: { + mode: 'edit', + }, + }); + + var $timezoneEl = form.$('select[name="tz"]'); + assert.strictEqual($timezoneEl.children().length, 3, + 'The select element should have 3 children'); + + var $timezoneMismatch = form.$('.o_tz_warning'); + assert.strictEqual($timezoneMismatch.length, 1, + 'timezone mismatch is present'); + + assert.notOk($timezoneMismatch.children().length, + 'The mismatch element should not have children'); + form.destroy(); + }); + QUnit.module('FieldReportLayout'); QUnit.test('report_layout widget in form view', function (assert) { |
