bemade-addons/helpdesk_sale_order/tests/test_helpdesk_sale.py
2025-07-09 08:41:17 -04:00

65 lines
2.5 KiB
Python

from odoo.tests import TransactionCase, tagged
from odoo import Command
@tagged("post_install", "-at_install")
class TestHelpdeskSale(TransactionCase):
def test_convert_ticket_to_sale_order_moves_messages(self):
# User needs to be part of a sales team, so set that up first
sale_team = self.env.ref("sales_team.crm_team_1")
helpdesk_team = self.env.ref("helpdesk.helpdesk_team1")
self.env.user.sale_team_id = sale_team
ticket = self.env["helpdesk.ticket"].create(
{
"name": "Test Ticket",
"description": "Test description",
"partner_id": self.env.ref("base.res_partner_2").id,
"user_id": self.env.user.id,
"team_id": helpdesk_team.id,
}
)
ticket.message_post(body="This is a test email message")
ticket.message_post(body="This is another message")
ticket.message_post(body="This is a comment.", message_type="comment")
num_messages = len(ticket.message_ids)
self.assertGreaterEqual(num_messages, 3)
messages = ticket.message_ids
action = ticket.action_convert_to_sale_order()
so = self.env["sale.order"].browse(action["res_id"])
for message in messages:
self.assertIn(message.body, so.message_ids.mapped("body"))
self.assertFalse(ticket.active)
def test_convert_ticket_to_sale_order_moves_activities(self):
# User needs to be part of a sales team, so set that up first
sale_team = self.env.ref("sales_team.crm_team_1")
helpdesk_team = self.env.ref("helpdesk.helpdesk_team1")
self.env.user.sale_team_id = sale_team
ticket = self.env["helpdesk.ticket"].create(
{
"name": "Test Ticket",
"description": "Test description",
"partner_id": self.env.ref("base.res_partner_2").id,
"user_id": self.env.user.id,
"team_id": helpdesk_team.id,
}
)
activity = self.env["mail.activity"].create(
{
"activity_type_id": self.env.ref("mail.mail_activity_data_call").id,
"res_model_id": self.env.ref("helpdesk.model_helpdesk_ticket").id,
"res_id": ticket.id,
"user_id": self.env.user.id,
}
)
action = ticket.action_convert_to_sale_order()
self.env.invalidate_all(flush=True)
so = self.env["sale.order"].browse(action["res_id"])
self.assertIn(activity, so.activity_ids)