summaryrefslogtreecommitdiff
path: root/addons/web/static/tests/fields
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/static/tests/fields')
-rw-r--r--addons/web/static/tests/fields/special_fields.js42
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) {