[IMP] contract: Improve partner With running contracts search view filter + contract termination

This commit is contained in:
sbejaoui
2020-02-12 14:29:13 +01:00
committed by Christopher Rogos
parent 924aae8bc6
commit 6cb0fc6ebe
84 changed files with 11256 additions and 1986 deletions

View File

@@ -6,7 +6,7 @@ from collections import namedtuple
from datetime import timedelta
from dateutil.relativedelta import relativedelta
from odoo import fields
from odoo.exceptions import ValidationError
from odoo.exceptions import ValidationError, UserError
from odoo.tests import common
@@ -110,6 +110,9 @@ class TestContractBase(common.SavepointCase):
)
cls.acct_line.product_id.is_auto_renew = True
cls.contract.company_id.create_new_line_at_contract_line_renew = True
cls.terminate_reason = cls.env['contract.terminate.reason'].create({
'name': 'terminate_reason'
})
class TestContract(TestContractBase):
@@ -2364,3 +2367,51 @@ class TestContract(TestContractBase):
self.assertEqual(
self.acct_line.recurring_next_date, to_date('2019-06-01')
)
def test_action_terminate_contract(self):
action = self.contract.action_terminate_contract()
wizard = (
self.env[action['res_model']]
.with_context(action['context'])
.create(
{
'terminate_date': '2018-03-01',
'terminate_reason_id': self.terminate_reason.id,
'terminate_comment': 'terminate_comment',
}
)
)
self.assertEqual(wizard.contract_id, self.contract)
with self.assertRaises(UserError):
wizard.terminate_contract()
group_can_terminate_contract = self.env.ref(
"contract.can_terminate_contract"
)
group_can_terminate_contract.users |= self.env.user
wizard.terminate_contract()
self.assertTrue(self.contract.is_terminated)
self.assertEqual(self.contract.terminate_date, to_date('2018-03-01'))
self.assertEqual(
self.contract.terminate_reason_id.id, self.terminate_reason.id
)
self.assertEqual(self.contract.terminate_comment, 'terminate_comment')
self.contract.action_cancel_contract_termination()
self.assertFalse(self.contract.is_terminated)
self.assertFalse(self.contract.terminate_reason_id)
self.assertFalse(self.contract.terminate_comment)
def test_terminate_date_before_last_date_invoiced(self):
self.contract.recurring_create_invoice()
self.assertEqual(
self.acct_line.last_date_invoiced, to_date('2018-02-14')
)
group_can_terminate_contract = self.env.ref(
"contract.can_terminate_contract"
)
group_can_terminate_contract.users |= self.env.user
with self.assertRaises(ValidationError):
self.contract._terminate_contract(
self.terminate_reason,
'terminate_comment',
to_date('2018-02-13'),
)