41 lines
1.5 KiB
Python
41 lines
1.5 KiB
Python
"""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)
|