feat: restore compact ticket notification format

This commit is contained in:
2026-07-24 10:10:33 +02:00
parent 93b6947feb
commit b0fb879914
6 changed files with 86 additions and 21 deletions
+31 -6
View File
@@ -92,15 +92,40 @@ class TicketingStateTest(unittest.TestCase):
},
]
message = ticketing.build_notification_message(tickets, previous_state, 1)
message = ticketing.build_notification_message(
tickets,
previous_state,
1,
"{odoo_url}/web#id={id}&model={model}&view_type=form",
"https://odoo.example.test",
"helpdesk.ticket",
)
self.assertIn("Tickets Odoo mis a jour depuis la derniere verification : 2", message)
self.assertIn("#1 | Probleme imprimante | type: modifie", message)
self.assertIn("statut: En cours", message)
self.assertIn("ancienne date: 2026-07-24 09:00:00", message)
self.assertIn("1 ticket(s) supplementaire(s) non affiche(s)", message)
self.assertIn("Les tickets suivants ont ete mis a jour depuis la derniere verification :", message)
self.assertIn(
"1 : Sujet : Probleme imprimante gere par Support : "
"[cliquer ici pour ouvrir le ticket]"
"(https://odoo.example.test/web#id=1&model=helpdesk.ticket&view_type=form)",
message,
)
self.assertIn("1 ticket(s) supplementaire(s) non affiche(s) sur 2 au total", message)
self.assertNotIn("Nouveau ticket", message)
def test_format_ticket_line_uses_personne_when_no_assignee(self):
line = ticketing.format_ticket_line(
{"id": 2, "name": "Nouveau ticket", "user_id": False},
"{odoo_url}/web#id={id}&model={model}&view_type=form",
"https://odoo.example.test",
"helpdesk.ticket",
)
self.assertEqual(
line,
"2 : Sujet : Nouveau ticket gere par Personne : "
"[cliquer ici pour ouvrir le ticket]"
"(https://odoo.example.test/web#id=2&model=helpdesk.ticket&view_type=form)",
)
def test_load_tickets_state_returns_empty_dict_when_file_is_missing(self):
missing_path = os.path.join(tempfile.gettempdir(), "missing-ticket-state.json")