# -*- coding: utf-8 -*- # Copyright 2026 Nexa Systems Inc. # License OPL-1 """Tests for fusion.helpdesk.ticket.seen read-tracking.""" from odoo.tests import TransactionCase, tagged @tagged('post_install', '-at_install', 'fusion_helpdesk') class TestSeen(TransactionCase): def test_mark_seen_upserts_and_is_monotonic(self): Seen = self.env['fusion.helpdesk.ticket.seen'] Seen._mark_seen(central_ticket_id=42, last_message_id=100) Seen._mark_seen(central_ticket_id=42, last_message_id=120) Seen._mark_seen(central_ticket_id=42, last_message_id=90) # stale, ignored rec = Seen.search([ ('user_id', '=', self.env.uid), ('central_ticket_id', '=', 42), ]) self.assertEqual(len(rec), 1, "should upsert, not duplicate") self.assertEqual(rec.last_seen_message_id, 120, "monotonic — never moves back") def test_seen_map(self): Seen = self.env['fusion.helpdesk.ticket.seen'] Seen._mark_seen(1, 10) Seen._mark_seen(2, 20) self.assertEqual(Seen._seen_map([1, 2, 3]), {1: 10, 2: 20})