1
0
forked from Mapan/odoo17e
odoo17e-kedaikipas58/addons/test_mail_enterprise/tests/test_activity.py
2024-12-10 09:04:09 +07:00

71 lines
2.6 KiB
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from datetime import timedelta
from markupsafe import Markup
from odoo import fields
from odoo.addons.sms.tests.common import SMSCommon
from odoo.addons.test_mail_sms.tests.common import TestSMSRecipients
from odoo.tests.common import users
from odoo.tests import tagged
from odoo.tools import mute_logger
@tagged('mail_activity')
class TestActivity(SMSCommon, TestSMSRecipients):
@classmethod
def setUpClass(cls):
super(TestActivity, cls).setUpClass()
cls.test_record_voip = cls.env['mail.test.activity.bl.sms.voip'].create({
'name': 'Test Record',
'customer_id': cls.partner_1.id,
'email_from': cls.partner_1.email,
'phone_nbr': '0456999999',
})
cls.phonecall_activity = cls.env.ref('mail.mail_activity_data_call')
cls.phonecall_activity.write({
'default_user_id': cls.user_admin.id,
'default_note': 'Test Default Note',
'summary': 'Test Default Summary',
})
# clean db to ease tests
cls.env['mail.activity.type'].search([
('category', '=', 'phonecall'),
('id', '!=', cls.phonecall_activity.id),
]).unlink()
def test_activity_data(self):
""" Ensure initial data for tests """
self.assertEqual(self.partner_1.mobile, '0456001122')
self.assertTrue(self.phonecall_activity)
self.assertEqual(self.phonecall_activity.category, 'phonecall')
@users('employee')
@mute_logger('odoo.addons.voip.models.voip_queue_mixin')
def test_create_call_activity(self):
record = self.test_record_voip.with_env(self.env)
activity = record.create_call_activity()
self.assertEqual(activity.activity_type_id, self.phonecall_activity)
self.assertFalse(activity.phone)
self.assertEqual(activity.mobile, self.partner_1.mobile)
self.assertFalse(activity.note)
self.assertFalse(activity.summary)
phonecall_activities = self.env['mail.activity'].sudo().search([
('activity_type_id', '=', self.phonecall_activity.id),
])
phonecall_activities.write({'activity_type_id': False})
self.phonecall_activity.unlink()
# no more phonecall activity -> will be dynamically created
self.assertFalse(self.env['mail.activity.type'].search([('category', '=', 'phonecall')]))
activity = record.create_call_activity()
new_activity_type = self.env['mail.activity.type'].search([('category', '=', 'phonecall')])
self.assertTrue(bool(new_activity_type))