Files
enterprise-addons/voip_hr_recruitment/tests/test_mail_activity.py
T

39 lines
1.9 KiB
Python

from odoo.tests import common, tagged
from odoo.tests.common import new_test_user
@tagged("voip", "post_install", "-at_install")
class TestVoipHrRecruitmentMailActivity(common.TransactionCase):
def test_voip_hr_recruitment_fetch_applicant_related_call_activities(self):
"""
Tests that "call activities" associated with an hr.applicant record are
fetched correctly, and only if the user has the appropriate access
rights.
"""
interviewer = new_test_user(
self.env,
"interviewer",
groups="base.group_user,hr_recruitment.group_hr_recruitment_interviewer",
name="Interviewer",
)
not_an_interviewer = new_test_user(self.env, "not_an_interviewer")
applicant_partner = self.env["res.partner"].create({"name": "Applicant's partner", "phone": "070-1740605"})
applicant = self.env["hr.applicant"].create(
{
"partner_name": "Applicant",
"partner_id": applicant_partner.id,
"interviewer_ids": interviewer.ids,
}
)
applicant.activity_schedule("mail.mail_activity_data_call", user_id=not_an_interviewer.id)
activity = applicant.activity_schedule("mail.mail_activity_data_call", user_id=interviewer.id)
activities_of_interviewer = self.env["mail.activity"].with_user(interviewer).get_today_call_activities()
activities_of_not_an_interviewer = (
self.env["mail.activity"].with_user(not_an_interviewer).get_today_call_activities()
)
self.assertEqual(activities_of_not_an_interviewer, {})
self.assertEqual(len(activities_of_interviewer["mail.activity"]), 1)
activity_data = activities_of_interviewer["mail.activity"][0]
self.assertEqual(activity_data["id"], activity.id)
self.assertEqual(activity_data["res_model"], "hr.applicant")