Files
odoo_source/addons/project_sms/tests/test_project_sharing.py
T
Audric Onockx (auon) 4b3a8b4f7a [FIX] project_sms: send sms, but for real
`/project_sms:ProjectTask._send_sms` called `_message_sms_with_template`
without numbers, and so no sms was sent.
Now, we give the method an `sms_numbers` arg, and it works.

closes odoo/odoo#116514

X-original-commit: 5de1b941ce580253a21f0e4f6da0a8ca818f26b3
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-03-25 18:58:00 +01:00

55 lines
2.4 KiB
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import Command
from odoo.addons.project.tests.test_project_sharing import TestProjectSharingCommon
from odoo.addons.sms.tests.common import SMSCommon
class TestProjectSharingWithSms(TestProjectSharingCommon, SMSCommon):
@classmethod
def setUpClass(cls):
super().setUpClass()
project_settings = cls.env["res.config.settings"].create({'group_project_stages': True})
project_settings.execute()
cls.sms_template = cls.env['sms.template'].sudo().create({
'body': '{{ object.name }}',
'model_id': cls.env['ir.model'].sudo().search([('model', '=', 'project.task')]).id,
})
cls.task_stage_with_sms = cls.project_portal.type_ids[-1]
cls.task_stage_with_sms.write({'sms_template_id': cls.sms_template.id})
cls.sms_template_2 = cls.env['sms.template'].sudo().create({
'body': '{{ object.name }}',
'model_id': cls.env['ir.model'].sudo().search([('model', '=', 'project.project')]).id,
})
cls.project_stage_with_sms = cls.project_portal.stage_id.browse(2)
cls.project_stage_with_sms.write({'sms_template_id': cls.sms_template_2.id})
cls.project_portal.write({
'collaborator_ids': [
Command.create({'partner_id': cls.user_portal.partner_id.id}),
],
})
cls.project_portal.partner_id.mobile = cls.random_numbers[0]
def test_portal_user_can_change_stage_with_sms_template(self):
""" Test user portal can change the stage of a task to a stage with a sms template
The sms template should be sent and the stage should be changed on the task.
"""
with self.mockSMSGateway():
self.task_portal.with_user(self.user_portal).write({
'stage_id': self.task_stage_with_sms.id,
})
self.assertEqual(self.task_portal.stage_id, self.task_stage_with_sms)
self.assertSMSIapSent([self.task_portal.partner_id.mobile])
with self.mockSMSGateway():
self.project_portal.write({
'stage_id': self.project_stage_with_sms.id,
})
self.assertEqual(self.project_portal.stage_id, self.project_stage_with_sms)
self.assertSMSIapSent([self.project_portal.partner_id.mobile])