19.0 vanilla

This commit is contained in:
Ernad Husremovic 2026-03-09 09:31:39 +01:00
parent 5df8c07b59
commit daa394e8b0
2114 changed files with 564841 additions and 299642 deletions

View file

@ -1,45 +1,32 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
import odoo.tests
from odoo.addons.base.tests.common import HttpCaseWithUserDemo
from odoo.addons.mass_mailing.tests.common import MassMailCommon
from odoo.tests import tagged
@odoo.tests.tagged('-at_install', 'post_install')
class TestUi(HttpCaseWithUserDemo):
def setUp(self):
super().setUp()
self.user_demo.groups_id |= self.env.ref('mass_mailing.group_mass_mailing_user')
self.user_demo.groups_id |= self.env.ref('mail.group_mail_template_editor')
self.user_demo.groups_id |= self.env.ref('mass_mailing.group_mass_mailing_campaign')
@tagged('-at_install', 'post_install')
class TestMailingUi(MassMailCommon, HttpCaseWithUserDemo):
def test_01_mass_mailing_editor_tour(self):
self.start_tour("/web", 'mass_mailing_editor_tour', login="demo")
mail = self.env['mailing.mailing'].search([('subject', '=', 'Test')])[0]
# The tour created and saved an email. The edited version should be
# saved in body_arch, and its transpiled version (see convert_inline)
# for email client compatibility should be saved in body_html. This
# ensures both fields have different values (the mailing body should
# have been converted to a table in body_html).
self.assertIn('data-snippet="s_title"', mail.body_arch)
self.assertTrue(mail.body_arch.startswith('<div'))
self.assertIn('data-snippet="s_title"', mail.body_html)
self.assertTrue(mail.body_html.startswith('<table'))
@classmethod
def setUpClass(cls):
super(TestMailingUi, cls).setUpClass()
def test_02_mass_mailing_snippets_menu_tabs(self):
self.start_tour("/web", 'mass_mailing_snippets_menu_tabs', login="demo")
cls.user_marketing.write({
'group_ids': [
(4, cls.env.ref('mail.group_mail_template_editor').id),
],
})
cls.user_demo.write({
'group_ids': [
(4, cls.env.ref('mass_mailing.group_mass_mailing_campaign').id),
(4, cls.env.ref('mass_mailing.group_mass_mailing_user').id),
],
})
def test_03_mass_mailing_snippets_toolbar_mobile_hide(self):
self.start_tour("/web", 'mass_mailing_snippets_menu_toolbar_new_mailing_mobile', login="demo")
def test_04_mass_mailing_snippets_menu_hide(self):
self.start_tour("/web", 'mass_mailing_snippets_menu_toolbar', login="demo")
def test_05_mass_mailing_basic_theme_toolbar(self):
self.start_tour('/web', 'mass_mailing_basic_theme_toolbar', login="demo")
def test_06_mass_mailing_campaign_new_mailing(self):
self.env.ref('base.group_user').write({'implied_ids': [(4, self.env.ref('mass_mailing.group_mass_mailing_campaign').id)]})
def test_mailing_campaign_tour(self):
# self.env.ref('base.group_user').write({'implied_ids': [(4, self.env.ref('mass_mailing.group_mass_mailing_campaign').id)]})
campaign = self.env['utm.campaign'].create({
'name': 'Test Newsletter',
'user_id': self.env.ref("base.user_admin").id,
@ -54,7 +41,44 @@ class TestUi(HttpCaseWithUserDemo):
self.env['mailing.list'].create({
'name': 'Test Newsletter',
})
self.start_tour("/web", 'mass_mailing_campaing_new_mailing', login="demo")
self.user_marketing.write({
'group_ids': [
(4, self.env.ref('mass_mailing.group_mass_mailing_campaign').id),
],
})
self.start_tour("/odoo", 'mailing_campaign', login="user_marketing")
def test_07_mass_mailing_code_view_tour(self):
self.start_tour("/web?debug=tests", 'mass_mailing_code_view_tour', login="demo")
def test_mailing_editor_tour(self):
mailing = self.env['mailing.mailing'].search([('subject', '=', 'TestFromTour')], limit=1)
self.assertFalse(mailing)
self.start_tour("/odoo", 'mailing_editor', login="user_marketing")
# The tour created and saved a mailing. The edited version should be
# saved in body_arch, and its transpiled version (see convert_inline)
# for email client compatibility should be saved in body_html. This
# ensures both fields have different values (the mailing body should
# have been converted to a table in body_html).
mailing = self.env['mailing.mailing'].search([('subject', '=', 'TestFromTour')], limit=1)
self.assertTrue(mailing)
self.assertIn('data-snippet="s_title"', mailing.body_arch)
self.assertTrue(mailing.body_arch.startswith('<div'))
self.assertIn('data-snippet="s_title"', mailing.body_html)
self.assertTrue(mailing.body_html.startswith('<table'))
def test_mailing_editor_theme_tour(self):
self.start_tour('/odoo', 'mailing_editor_theme', login="demo")
def test_snippets_mailing_menu_tabs_tour(self):
self.start_tour("/odoo", 'snippets_mailing_menu_tabs', login="demo")
def test_snippets_mailing_menu_toolbar_tour(self):
self.start_tour("/odoo", 'snippets_mailing_menu_toolbar', login="demo")
def test_snippets_mailing_menu_toolbar_mobile_tour(self):
self.start_tour("/odoo", 'snippets_mailing_menu_toolbar_mobile', login="demo")
def test_mass_mailing_code_view_tour(self):
self.start_tour("/odoo?debug=tests", 'mass_mailing_code_view_tour', login="demo")
def test_mass_mailing_dynamic_placeholder_tour(self):
self.start_tour("/odoo", 'mass_mailing_dynamic_placeholder_tour', login="demo")