diff options
| author | Christophe Simonis <chs@odoo.com> | 2018-02-09 16:13:08 +0100 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2018-02-09 16:13:08 +0100 |
| commit | 5f3301e5cbbb2c6e7bff732761eef80e8dd5a33d (patch) | |
| tree | 48ab6bd9bbda92dea713c0c52bca3396ef939d82 /addons/sms/static/src/tests | |
| parent | 715e602bf04ae5a0c9704c599f2145b2808b31b7 (diff) | |
| parent | 20e4cd5bcd1816a478aedd441efa90a34cf63334 (diff) | |
[MERGE] forward port branch 11.0 up to 20e4cd5bcd1
Diffstat (limited to 'addons/sms/static/src/tests')
| -rw-r--r-- | addons/sms/static/src/tests/sms_widget_test.js | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/addons/sms/static/src/tests/sms_widget_test.js b/addons/sms/static/src/tests/sms_widget_test.js new file mode 100644 index 00000000000..b346c5a6f98 --- /dev/null +++ b/addons/sms/static/src/tests/sms_widget_test.js @@ -0,0 +1,67 @@ +odoo.define('sms.sms_widget_tests', function (require) { +"use strict"; + +var FormView = require('web.FormView'); +var testUtils = require('web.test_utils'); + +var createView = testUtils.createView; + +QUnit.module('fields', { + beforeEach: function () { + this.data = { + partner: { + fields: { + message: {string: "message", type: "text"}, + }, + records: [{ + id: 1, + message: "", + }] + }, + }; + } +}, function () { + + QUnit.module('SmsWidget'); + + QUnit.test('Sms widgets are correctly rendered', function (assert) { + assert.expect(9); + var form = createView({ + View: FormView, + model: 'partner', + data: this.data, + arch: '<form><sheet><field name="message" widget="sms_widget"/></sheet></form>', + }); + form.$buttons.find('.o_form_button_edit').click(); + assert.ok(form.$('.o_sms_count').length, "Should have a sms counter"); + assert.strictEqual(form.$('.o_sms_count').text(), '0 / 0 SMS (GSM7) ', 'Should be "0 / 0 SMS (GSM7) " by default'); + // GSM-7 + form.$('.o_input').val("Hello from Odoo").trigger('input'); + assert.strictEqual(form.$('.o_sms_count').text(), '15 / 1 SMS (GSM7) ', 'Should be "15 / 1 SMS (GSM7) " for "Hello from Odoo"'); + // GSM-7 with \n => this one count as 2 characters + form.$('.o_input').val("Hello from Odoo\n").trigger('input'); + assert.strictEqual(form.$('.o_sms_count').text(), '17 / 1 SMS (GSM7) ', 'Should be "17 / 1 SMS (GSM7) " for "Hello from Odoo\\n"'); + // Unicode => ê + form.$('.o_input').val("Hêllo from Odoo").trigger('input'); + assert.strictEqual(form.$('.o_sms_count').text(), '15 / 1 SMS (UNICODE) ', 'Should be "15 / 1 SMS (UNICODE) " for "Hêllo from Odoo"'); + // GSM-7 with 160c + var text = Array(161).join('a'); + form.$('.o_input').val(text).trigger('input'); + assert.strictEqual(form.$('.o_sms_count').text(), '160 / 1 SMS (GSM7) ', 'Should be "160 / 1 SMS (GSM7) " for 160 x "a"'); + // GSM-7 with 161c + text = Array(162).join('a'); + form.$('.o_input').val(text).trigger('input'); + assert.strictEqual(form.$('.o_sms_count').text(), '161 / 2 SMS (GSM7) ', 'Should be "161 / 2 SMS (GSM7) " for 161 x "a"'); + // Unicode with 70c + text = Array(71).join('ê'); + form.$('.o_input').val(text).trigger('input'); + assert.strictEqual(form.$('.o_sms_count').text(), '70 / 1 SMS (UNICODE) ', 'Should be "70 / 1 SMS (UNICODE) " for 70 x "ê"'); + // Unicode with 71c + text = Array(72).join('ê'); + form.$('.o_input').val(text).trigger('input'); + assert.strictEqual(form.$('.o_sms_count').text(), '71 / 2 SMS (UNICODE) ', 'Should be "71 / 2 SMS (UNICODE) " for 71 x "ê"'); + + form.destroy(); + }); +}); +}); |
