38 lines
1.4 KiB
Python
38 lines
1.4 KiB
Python
from odoo.tests.common import TransactionCase
|
|
from odoo.tests import tagged
|
|
from odoo.exceptions import UserError
|
|
|
|
|
|
@tagged('post_install', '-at_install')
|
|
class TestBatchFollowupWizard(TransactionCase):
|
|
|
|
def test_default_loads_active_ids(self):
|
|
partners = self.env['res.partner'].create([
|
|
{'name': 'B1'}, {'name': 'B2'},
|
|
])
|
|
wizard = self.env['fusion.batch.followup.wizard'].with_context(
|
|
active_model='res.partner', active_ids=partners.ids,
|
|
).create({})
|
|
self.assertEqual(set(wizard.partner_ids.ids), set(partners.ids))
|
|
|
|
def test_selected_scope_no_partners_raises(self):
|
|
wizard = self.env['fusion.batch.followup.wizard'].create({
|
|
'scope': 'selected', 'partner_ids': [(6, 0, [])],
|
|
})
|
|
with self.assertRaises(UserError):
|
|
wizard.action_run()
|
|
|
|
def test_run_completes_with_no_overdue_partners(self):
|
|
partners = self.env['res.partner'].create([
|
|
{'name': 'NoOverdue1'}, {'name': 'NoOverdue2'},
|
|
])
|
|
wizard = self.env['fusion.batch.followup.wizard'].create({
|
|
'scope': 'selected',
|
|
'partner_ids': [(6, 0, partners.ids)],
|
|
'force': True,
|
|
})
|
|
wizard.action_run()
|
|
self.assertEqual(wizard.state, 'done')
|
|
# 2 partners with no overdue → both skipped
|
|
self.assertEqual(wizard.skipped_count, 2)
|