social/mail_activity_done/tests/test_mail_activity_done.py

55 lines
1.9 KiB
Python

# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
# Copyright 2023 Tecnativa - Víctor Martínez
from datetime import date
from odoo.tests.common import TransactionCase, new_test_user
class TestMailActivityDoneMethods(TransactionCase):
@classmethod
def setUpClass(cls):
super().setUpClass()
cls.env = cls.env(
context=dict(
cls.env.context,
mail_activity_quick_update=True,
mail_create_nolog=True,
mail_create_nosubscribe=True,
mail_notrack=True,
no_reset_password=True,
tracking_disable=True,
)
)
cls.employee = new_test_user(
cls.env,
name="Test User",
login="testuser",
)
activity_type = cls.env["mail.activity.type"].search(
[("name", "=", "Meeting")], limit=1
)
cls.act1 = cls.env["mail.activity"].create(
{
"activity_type_id": activity_type.id,
"res_id": cls.env.ref("base.res_partner_1").id,
"res_model_id": cls.env["ir.model"]._get("res.partner").id,
"user_id": cls.employee.id,
"date_deadline": date.today(),
}
)
def test_mail_activity_done(self):
self.act1.done = True
self.assertEqual(self.act1.state, "done")
def test_systray_get_activities(self):
res = self.employee.with_user(self.employee).systray_get_activities()
self.assertEqual(res[0]["total_count"], 1)
self.act1.action_feedback()
self.assertFalse(self.act1.active)
self.assertEqual(self.act1.state, "done")
self.assertTrue(self.act1.done)
self.act1.flush()
res = self.employee.with_user(self.employee).systray_get_activities()
self.assertEqual(res[0]["total_count"], 0)