"""Tests for ReportsAdapter Phase-2 (engine-routed) methods.""" from odoo.tests.common import TransactionCase, tagged from odoo.addons.fusion_accounting_ai.services.data_adapters.reports import ( ReportsAdapter, ) @tagged('post_install', '-at_install') class TestReportsAdapter(TransactionCase): def setUp(self): super().setUp() self.adapter = ReportsAdapter(self.env) def test_run_fusion_report_via_fusion_pnl(self): result = self.adapter.run_fusion_report_via_fusion( report_type='pnl', date_from='2026-01-01', date_to='2026-12-31', company_id=self.env.company.id, ) self.assertEqual(result.get('report_type'), 'pnl') self.assertIn('rows', result) def test_run_fusion_report_via_community_returns_error(self): result = self.adapter.run_fusion_report_via_community( report_type='pnl', date_from='2026-01-01', date_to='2026-12-31', ) self.assertIn('error', result) def test_get_anomalies_via_fusion(self): result = self.adapter.get_anomalies_via_fusion( report_type='pnl', date_from='2026-01-01', date_to='2026-12-31', comparison='previous_year', company_id=self.env.company.id, ) self.assertIn('anomalies', result) self.assertIsInstance(result['anomalies'], list) def test_get_commentary_via_fusion(self): result = self.adapter.get_commentary_via_fusion( report_type='pnl', date_from='2026-01-01', date_to='2026-12-31', company_id=self.env.company.id, ) self.assertIn('summary', result) self.assertIn('highlights', result) self.assertIn('concerns', result) self.assertIn('next_actions', result)