"""Coexistence tests: fusion_accounting_followup menu only visible when Enterprise account_followup is NOT installed.""" from odoo.tests.common import TransactionCase from odoo.tests import tagged @tagged('post_install', '-at_install') class TestFollowupCoexistence(TransactionCase): def setUp(self): super().setUp() self.coex_group = self.env.ref( 'fusion_accounting_core.group_fusion_show_when_enterprise_absent', raise_if_not_found=False, ) self.assertIsNotNone(self.coex_group, "Coexistence group must exist") def test_engine_always_available(self): self.assertIn('fusion.followup.engine', self.env.registry) def test_menu_gated_by_coexistence_group(self): menu = self.env.ref('fusion_accounting_followup.menu_fusion_followup_root', raise_if_not_found=False) if not menu: self.skipTest("Menu not loaded") menu_groups = getattr(menu, 'group_ids', None) or menu.groups_id self.assertIn(self.coex_group, menu_groups, "Followup root menu must require the coexistence group") def test_levels_menu_gated(self): menu = self.env.ref('fusion_accounting_followup.menu_fusion_followup_levels', raise_if_not_found=False) if not menu: self.skipTest("Menu not loaded") menu_groups = getattr(menu, 'group_ids', None) or menu.groups_id self.assertIn(self.coex_group, menu_groups)