Files
Odoo-Modules/fusion_accounting_bank_rec/tests/test_bulk_reconcile_wizard.py
gsinghpal 25f033d0c8 feat(fusion_accounting_bank_rec): bulk reconcile wizard for selected lines
TransientModel + view + binding action so users can select bank lines
from any list view and bulk-apply either engine.reconcile_batch or
a chosen reconcile model.

Made-with: Cursor
2026-04-19 13:17:58 -04:00

43 lines
1.8 KiB
Python

"""Tests for fusion.bulk.reconcile.wizard."""
from odoo.tests.common import TransactionCase, tagged
from . import _factories as f
@tagged('post_install', '-at_install')
class TestBulkReconcileWizard(TransactionCase):
def setUp(self):
super().setUp()
self.partner = self.env['res.partner'].create({'name': 'Bulk Wizard Partner'})
self.journal = f.make_bank_journal(self.env, name='Bulk Bank', code='BLKBK')
self.statement = f.make_bank_statement(self.env, journal=self.journal)
def test_wizard_default_picks_active_ids(self):
line1 = f.make_bank_line(
self.env, statement=self.statement, amount=100, partner=self.partner)
line2 = f.make_bank_line(
self.env, statement=self.statement, amount=200, partner=self.partner)
wizard = self.env['fusion.bulk.reconcile.wizard'].with_context(
active_model='account.bank.statement.line',
active_ids=[line1.id, line2.id],
).create({})
self.assertEqual(set(wizard.statement_line_ids.ids), {line1.id, line2.id})
self.assertEqual(wizard.selected_count, 2)
def test_wizard_auto_mode_runs_engine_batch(self):
line_ids = []
for amount in [110.00, 220.00]:
f.make_invoice(self.env, partner=self.partner, amount=amount)
line = f.make_bank_line(
self.env, statement=self.statement, amount=amount, partner=self.partner)
line_ids.append(line.id)
wizard = self.env['fusion.bulk.reconcile.wizard'].create({
'statement_line_ids': [(6, 0, line_ids)],
'mode': 'auto',
'strategy': 'auto',
})
wizard.action_run()
self.assertEqual(wizard.state, 'done')
self.assertGreaterEqual(wizard.reconciled_count, 2)