71 lines
2.6 KiB
Python
71 lines
2.6 KiB
Python
# Copyright 2017 Tecnativa - Pedro M. Baeza
|
|
# Copyright 2020 Onestein - Andrea Stirpe
|
|
# Copyright 2021 Sodexis
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
|
|
from datetime import datetime
|
|
|
|
from werkzeug.urls import url_join
|
|
|
|
from odoo import _
|
|
from odoo.tests import common, tagged
|
|
|
|
|
|
@tagged("-at_install", "post_install")
|
|
class TestMailDebrandDigest(common.TransactionCase):
|
|
def setUp(self):
|
|
super().setUp()
|
|
if "digest.digest" in self.env:
|
|
self.mail_digest_id = self.env["digest.digest"].create(
|
|
{
|
|
"name": "Test Digest",
|
|
"user_ids": False,
|
|
"company_id": self.env.company.id,
|
|
"kpi_res_users_connected": True,
|
|
"kpi_mail_message_total": True,
|
|
}
|
|
)
|
|
else:
|
|
self.mail_digest_id = False
|
|
|
|
def test_mail_digest(self):
|
|
if not self.mail_digest_id:
|
|
self.assertEqual(True, True)
|
|
return
|
|
|
|
web_base_url = self.env["ir.config_parameter"].sudo().get_param("web.base.url")
|
|
rendered_body = self.env["mail.render.mixin"]._render_template(
|
|
"digest.digest_mail_main",
|
|
"digest.digest",
|
|
self.mail_digest_id.ids,
|
|
engine="qweb",
|
|
add_context={
|
|
"title": self.mail_digest_id.name,
|
|
"top_button_label": _("Connect"),
|
|
"top_button_url": url_join(web_base_url, "/web/login"),
|
|
"company": self.env.user.company_id,
|
|
"user": self.env.user,
|
|
"tips_count": 1,
|
|
"formatted_date": datetime.today().strftime("%B %d, %Y"),
|
|
"display_mobile_banner": True,
|
|
"kpi_data": self.mail_digest_id.compute_kpis(
|
|
self.env.user.company_id, self.env.user
|
|
),
|
|
"tips": self.mail_digest_id.compute_tips(
|
|
self.env.user.company_id, self.env.user, tips_count=1, consumed=True
|
|
),
|
|
"preferences": self.mail_digest_id.compute_preferences(
|
|
self.env.user.company_id, self.env.user
|
|
),
|
|
},
|
|
post_process=True,
|
|
)[self.mail_digest_id.id]
|
|
|
|
# ensure the template rendered correctly. if rendering failed,
|
|
# we sometimes end up with a string only containing the template
|
|
# name, or a null-ish value
|
|
self.assertNotEqual(rendered_body, "digest.digest_mail_main")
|
|
self.assertNotEqual(rendered_body, None)
|
|
self.assertNotEqual(rendered_body, False)
|
|
self.assertNotEqual(rendered_body, "")
|