39 lines
1.9 KiB
Python
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")
|