"""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)