from odoo.tests.common import TransactionCase from odoo.tests import tagged from odoo.addons.fusion_accounting_followup.services.tone_selector import select_tone @tagged('post_install', '-at_install') class TestToneSelector(TransactionCase): def test_level_1_default_gentle(self): self.assertEqual(select_tone(level_sequence=1), 'gentle') def test_level_2_default_firm(self): self.assertEqual(select_tone(level_sequence=2), 'firm') def test_level_3_default_legal(self): self.assertEqual(select_tone(level_sequence=3), 'legal') def test_critical_risk_escalates_gentle_to_firm(self): self.assertEqual(select_tone(level_sequence=1, risk_score=85), 'firm') def test_extreme_risk_escalates_firm_to_legal(self): self.assertEqual(select_tone(level_sequence=2, risk_score=95), 'legal') def test_unknown_level_defaults_gentle(self): self.assertEqual(select_tone(level_sequence=99), 'gentle')