"""AssetsAdapter wiring tests — fusion-mode dispatch.""" from datetime import date from odoo.tests import tagged from odoo.tests.common import TransactionCase from odoo.addons.fusion_accounting_ai.services.data_adapters.assets import ( AssetsAdapter, ) @tagged('post_install', '-at_install') class TestAssetsAdapter(TransactionCase): def setUp(self): super().setUp() self.adapter = AssetsAdapter(self.env) def test_list_assets_via_fusion(self): self.env['fusion.asset'].create({ 'name': 'Adapter Test', 'cost': 1000, 'acquisition_date': date(2026, 1, 1), 'method': 'straight_line', 'useful_life_years': 4, }) result = self.adapter.list_assets_via_fusion(company_id=self.env.company.id) self.assertGreaterEqual(result['count'], 1) def test_suggest_useful_life_via_fusion_uses_templated_fallback(self): self.env['ir.config_parameter'].sudo().search([ ('key', 'in', ['fusion_accounting.provider.asset_useful_life', 'fusion_accounting.provider.default']) ]).unlink() result = self.adapter.suggest_useful_life_via_fusion(description='laptop') self.assertEqual(result['useful_life_years'], 4) self.assertEqual(result['depreciation_method'], 'straight_line') def test_dispose_asset_via_community_returns_error(self): result = self.adapter.dispose_asset_via_community(asset_id=1, sale_amount=100) self.assertIn('error', result)