summaryrefslogtreecommitdiff
path: root/addons/mass_mailing/static/tests
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/mass_mailing/static/tests
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/mass_mailing/static/tests')
-rw-r--r--addons/mass_mailing/static/tests/mass_mailing_html_tests.js108
1 files changed, 108 insertions, 0 deletions
diff --git a/addons/mass_mailing/static/tests/mass_mailing_html_tests.js b/addons/mass_mailing/static/tests/mass_mailing_html_tests.js
new file mode 100644
index 00000000..e039fa14
--- /dev/null
+++ b/addons/mass_mailing/static/tests/mass_mailing_html_tests.js
@@ -0,0 +1,108 @@
+odoo.define('mass_mailing.field_html_tests', function (require) {
+"use strict";
+
+var ajax = require('web.ajax');
+var FormView = require('web.FormView');
+var FieldHtml = require('web_editor.field.html');
+var MassMailingFieldHtml = require('mass_mailing.FieldHtml');
+var testUtils = require('web.test_utils');
+var weTestUtils = require('web_editor.test_utils');
+var Wysiwyg = require('web_editor.wysiwyg');
+
+
+QUnit.module('mass_mailing', {}, function () {
+QUnit.module('field html', {
+ beforeEach: function () {
+ this.data = weTestUtils.wysiwygData({
+ 'mailing.mailing': {
+ fields: {
+ display_name: {
+ string: "Displayed name",
+ type: "char"
+ },
+ body_html: {
+ string: "Message Body inline (to send)",
+ type: "html"
+ },
+ body_arch: {
+ string: "Message Body for edition",
+ type: "html"
+ },
+ },
+ records: [{
+ id: 1,
+ display_name: "first record",
+ body_html: "<div class='field_body' style='background-color: red;'><p>code to edit</p></div>",
+ body_arch: "<div class='field_body'><p>code to edit</p></div>",
+ }],
+ },
+ });
+
+ testUtils.mock.patch(ajax, {
+ loadAsset: function (xmlId) {
+ if (xmlId === 'template.assets') {
+ return Promise.resolve({
+ cssLibs: [],
+ cssContents: ['.field_body {background-color: red;}']
+ });
+ }
+ if (xmlId === 'template.assets_all_style') {
+ return Promise.resolve({
+ cssLibs: $('link[href]:not([type="image/x-icon"])').map(function () {
+ return $(this).attr('href');
+ }).get(),
+ cssContents: ['.field_body {background-color: red;}']
+ });
+ }
+ throw 'Wrong template';
+ },
+ });
+ },
+ afterEach: function () {
+ testUtils.mock.unpatch(ajax);
+ },
+}, function () {
+
+QUnit.test('save arch and html', async function (assert) {
+ assert.expect(4);
+
+ var form = await testUtils.createView({
+ View: FormView,
+ model: 'mailing.mailing',
+ data: this.data,
+ arch: '<form>' +
+ ' <field name="body_html" class="oe_read_only" widget="html"'+
+ ' options="{'+
+ ' \'cssReadonly\': \'template.assets\','+
+ ' }"'+
+ ' />'+
+ ' <field name="body_arch" class="oe_edit_only" widget="mass_mailing_html"'+
+ ' options="{'+
+ ' \'snippets\': \'web_editor.snippets\','+
+ ' \'cssEdit\': \'template.assets\','+
+ ' \'inline-field\': \'body_html\''+
+ ' }"'+
+ ' />'+
+ '</form>',
+ res_id: 1,
+ });
+ var $fieldReadonly = form.$('.oe_form_field[name="body_html"]');
+ var $fieldEdit = form.$('.oe_form_field[name="body_arch"]');
+
+ assert.strictEqual($fieldReadonly.css('display'), 'block', "should display the readonly mode");
+ assert.strictEqual($fieldEdit.css('display'), 'none', "should hide the edit mode");
+
+ await testUtils.form.clickEdit(form);
+
+ $fieldReadonly = form.$('.oe_form_field[name="body_html"]');
+ $fieldEdit = form.$('.oe_form_field[name="body_arch"]');
+
+ assert.strictEqual($fieldReadonly.css('display'), 'none', "should hide the readonly mode");
+ assert.strictEqual($fieldEdit.css('display'), 'block', "should display the edit mode");
+
+ form.destroy();
+});
+
+});
+});
+});