Odoo18-Base/addons/base_automation/tests/test_mail_composer.py
2025-03-10 11:12:23 +07:00

43 lines
1.8 KiB
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo.addons.mail.tests.common import MailCommon
from odoo.tests.common import tagged, HttpCase
@tagged('-at_install', 'post_install', 'mail_composer')
class TestMailFullComposer(MailCommon, HttpCase):
def test_full_composer_tour(self):
self.env['mail.template'].create({
'name': 'Test template', # name hardcoded for test
'partner_to': '${object.id}',
'lang': '${object.lang}',
'auto_delete': True,
'model_id': self.ref('base.model_res_partner'),
})
user = self.env['res.users'].create({
'email': 'testuser@testuser.com',
'groups_id': [
(6, 0, [self.ref('base.group_user'), self.ref('base.group_partner_manager')]),
],
'name': 'Test User',
'login': 'testuser',
'password': 'testuser',
})
automated_action = self.env['base.automation'].create({
'name': 'Test',
'active': True,
'trigger': 'on_change',
'on_change_field_ids': (4, self.ref('mail.field_mail_compose_message__template_id'),),
'state': 'code',
'model_id': self.env.ref('mail.model_mail_compose_message').id,
})
partner = self.env["res.partner"].create({"name": "Jane", "email": "jane@example.com"})
with self.mock_mail_app():
self.start_tour(f"/web#id={partner.id}&model=res.partner", 'mail/static/tests/tours/mail_full_composer_test_tour.js', login='testuser')
message = self._new_msgs.filtered(lambda message: message.author_id == user.partner_id)
self.assertEqual(len(message), 1)
automated_action.unlink()