mirror of
https://github.com/OCA/contract.git
synced 2025-02-13 17:57:24 +02:00
[FIX] agreement_legal: Fix alert, improve test coverage
This commit is contained in:
committed by
Núria Sancho
parent
ac95dedb05
commit
8165ee4c54
@@ -314,22 +314,22 @@ class Agreement(models.Model):
|
|||||||
|
|
||||||
@api.model
|
@api.model
|
||||||
def _alert_to_review_date(self):
|
def _alert_to_review_date(self):
|
||||||
activities = self.search(
|
agreements = self.search(
|
||||||
[
|
[
|
||||||
("to_review_date", "=", fields.datetime.today()),
|
("to_review_date", "=", fields.Date.today()),
|
||||||
("agreement_type_id.review_user_id", "!=", False),
|
("agreement_type_id.review_user_id", "!=", False),
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
for activity in activities:
|
for agreement in agreements:
|
||||||
if (
|
if (
|
||||||
self.env["mail.activity"].search_count(
|
self.env["mail.activity"].search_count(
|
||||||
[("res_id", "=", activity.id), ("res_model", "=", "agreement")]
|
[("res_id", "=", agreement.id), ("res_model", "=", self._name)]
|
||||||
)
|
)
|
||||||
== 0
|
== 0
|
||||||
):
|
):
|
||||||
activity.activity_schedule(
|
agreement.activity_schedule(
|
||||||
"agreement_legal.mail_activity_review_agreement",
|
"agreement_legal.mail_activity_review_agreement",
|
||||||
user_id=activity.type_id.review_user_id.id,
|
user_id=agreement.agreement_type_id.review_user_id.id,
|
||||||
note=_("Your activity is going to end soon"),
|
note=_("Your activity is going to end soon"),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -148,3 +148,46 @@ class TestAgreement(TransactionCase):
|
|||||||
self.test_agreement.create_new_version()
|
self.test_agreement.create_new_version()
|
||||||
self.assertEqual(self.test_agreement.state, "draft")
|
self.assertEqual(self.test_agreement.state, "draft")
|
||||||
self.assertEqual(len(self.test_agreement.previous_version_agreements_ids), 1)
|
self.assertEqual(len(self.test_agreement.previous_version_agreements_ids), 1)
|
||||||
|
|
||||||
|
def test_cron(self):
|
||||||
|
self.agreement_type.write(
|
||||||
|
{"review_user_id": self.env.user.id, "review_days": 0}
|
||||||
|
)
|
||||||
|
self.agreement_type.flush()
|
||||||
|
self.test_agreement.write({"agreement_type_id": self.agreement_type.id})
|
||||||
|
self.test_agreement.flush()
|
||||||
|
self.test_agreement.refresh()
|
||||||
|
self.assertFalse(
|
||||||
|
self.env["mail.activity"].search_count(
|
||||||
|
[
|
||||||
|
("res_id", "=", self.test_agreement.id),
|
||||||
|
("res_model", "=", self.test_agreement._name),
|
||||||
|
]
|
||||||
|
)
|
||||||
|
)
|
||||||
|
self.env["agreement"]._alert_to_review_date()
|
||||||
|
self.assertFalse(
|
||||||
|
self.env["mail.activity"].search_count(
|
||||||
|
[
|
||||||
|
("res_id", "=", self.test_agreement.id),
|
||||||
|
("res_model", "=", self.test_agreement._name),
|
||||||
|
]
|
||||||
|
)
|
||||||
|
)
|
||||||
|
self.test_agreement.to_review_date = fields.Date.today()
|
||||||
|
self.env["agreement"]._alert_to_review_date()
|
||||||
|
self.assertTrue(
|
||||||
|
self.env["mail.activity"].search_count(
|
||||||
|
[
|
||||||
|
("res_id", "=", self.test_agreement.id),
|
||||||
|
("res_model", "=", self.test_agreement._name),
|
||||||
|
]
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
def test_partner_action(self):
|
||||||
|
action = self.test_agreement.partner_id.action_open_agreement()
|
||||||
|
self.assertIn(
|
||||||
|
self.test_agreement, self.env[action["res_model"]].search(action["domain"])
|
||||||
|
)
|
||||||
|
self.assertEqual(1, self.test_agreement.partner_id.agreements_count)
|
||||||
|
|||||||
Reference in New Issue
Block a user