45 lines
1.5 KiB
Python
45 lines
1.5 KiB
Python
from odoo.tests.common import TransactionCase
|
|
from odoo.tests import tagged
|
|
|
|
|
|
@tagged('post_install', '-at_install')
|
|
class TestFusionFollowupRun(TransactionCase):
|
|
|
|
@classmethod
|
|
def setUpClass(cls):
|
|
super().setUpClass()
|
|
cls.partner = cls.env['res.partner'].create({'name': 'Run Test Partner'})
|
|
cls.level = cls.env['fusion.followup.level'].create({
|
|
'name': 'Reminder', 'sequence': 301, 'delay_days': 7, 'tone': 'gentle',
|
|
})
|
|
|
|
def test_create_minimal(self):
|
|
run = self.env['fusion.followup.run'].create({
|
|
'partner_id': self.partner.id,
|
|
'level_id': self.level.id,
|
|
})
|
|
self.assertEqual(run.state, 'draft')
|
|
self.assertTrue(run.execution_date)
|
|
|
|
def test_action_mark_sent(self):
|
|
run = self.env['fusion.followup.run'].create({
|
|
'partner_id': self.partner.id,
|
|
'level_id': self.level.id,
|
|
})
|
|
run.action_mark_sent()
|
|
self.assertEqual(run.state, 'sent')
|
|
|
|
def test_action_mark_failed_records_error(self):
|
|
run = self.env['fusion.followup.run'].create({
|
|
'partner_id': self.partner.id,
|
|
})
|
|
run.action_mark_failed(error='SMTP unreachable')
|
|
self.assertEqual(run.state, 'failed')
|
|
self.assertEqual(run.error_message, 'SMTP unreachable')
|
|
|
|
def test_partner_required(self):
|
|
with self.assertRaises(Exception):
|
|
self.env['fusion.followup.run'].create({
|
|
'level_id': self.level.id,
|
|
})
|