Files
Odoo-Modules/fusion_accounting_bank_rec/tests/test_auto_reconcile_wizard.py
gsinghpal 75850aad73 feat(fusion_accounting_bank_rec): auto-reconcile wizard
TransientModel that filters unreconciled bank lines by journal +
date range + strategy and runs engine.reconcile_batch. Shows
reconciled_count / skipped_count / error_summary in result view.

Made-with: Cursor
2026-04-19 13:16:06 -04:00

51 lines
1.9 KiB
Python

"""Tests for fusion.auto.reconcile.wizard."""
from odoo.tests.common import TransactionCase, tagged
from . import _factories as f
@tagged('post_install', '-at_install')
class TestAutoReconcileWizard(TransactionCase):
def setUp(self):
super().setUp()
self.partner = self.env['res.partner'].create({'name': 'Auto Wizard Partner'})
self.journal = f.make_bank_journal(self.env, name='Auto Bank', code='AUBK')
def test_wizard_runs_and_reconciles_matchable_lines(self):
statement = f.make_bank_statement(self.env, journal=self.journal)
for amount in [100.00, 200.00]:
f.make_invoice(self.env, partner=self.partner, amount=amount)
f.make_bank_line(
self.env, statement=statement, amount=amount, partner=self.partner)
wizard = self.env['fusion.auto.reconcile.wizard'].create({
'journal_id': self.journal.id,
'strategy': 'auto',
'only_with_partner': True,
})
wizard.action_run()
self.assertEqual(wizard.state, 'done')
self.assertGreaterEqual(wizard.reconciled_count, 2)
def test_wizard_filters_by_date_range(self):
wizard = self.env['fusion.auto.reconcile.wizard'].create({
'journal_id': self.journal.id,
'date_from': '2099-01-01',
'date_to': '2099-12-31',
'strategy': 'auto',
})
wizard.action_run()
self.assertEqual(wizard.reconciled_count, 0)
def test_wizard_skips_when_only_with_partner_excludes_orphans(self):
statement = f.make_bank_statement(self.env, journal=self.journal)
f.make_bank_line(self.env, statement=statement, amount=999, partner=None)
wizard = self.env['fusion.auto.reconcile.wizard'].create({
'journal_id': self.journal.id,
'strategy': 'auto',
'only_with_partner': True,
})
wizard.action_run()
self.assertEqual(wizard.reconciled_count, 0)