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
|
||||
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),
|
||||
]
|
||||
)
|
||||
for activity in activities:
|
||||
for agreement in agreements:
|
||||
if (
|
||||
self.env["mail.activity"].search_count(
|
||||
[("res_id", "=", activity.id), ("res_model", "=", "agreement")]
|
||||
[("res_id", "=", agreement.id), ("res_model", "=", self._name)]
|
||||
)
|
||||
== 0
|
||||
):
|
||||
activity.activity_schedule(
|
||||
agreement.activity_schedule(
|
||||
"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"),
|
||||
)
|
||||
|
||||
|
||||
@@ -148,3 +148,46 @@ class TestAgreement(TransactionCase):
|
||||
self.test_agreement.create_new_version()
|
||||
self.assertEqual(self.test_agreement.state, "draft")
|
||||
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