forked from Mapan/odoo17e
71 lines
2.6 KiB
Python
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))
|