mirror of https://github.com/OCA/social.git
118 lines
4.0 KiB
Python
118 lines
4.0 KiB
Python
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
|
|
from datetime import date
|
|
|
|
from odoo.tests.common import TransactionCase
|
|
|
|
|
|
class TestMailActivityDoneMethods(TransactionCase):
|
|
def setUp(self):
|
|
super(TestMailActivityDoneMethods, self).setUp()
|
|
self.employee = self.env["res.users"].create(
|
|
{
|
|
"company_id": self.env.ref("base.main_company").id,
|
|
"name": "Test User",
|
|
"login": "testuser@testuser.local",
|
|
"email": "testuser@testuser.local",
|
|
"tz": "Europe/Brussels",
|
|
"groups_id": [
|
|
(
|
|
6,
|
|
0,
|
|
[
|
|
self.env.ref("base.group_user").id,
|
|
self.env.ref("base.group_partner_manager").id,
|
|
],
|
|
)
|
|
],
|
|
}
|
|
)
|
|
self.partner = (
|
|
self.env["res.partner"]
|
|
.with_user(self.employee)
|
|
.create({"name": "test partner"})
|
|
)
|
|
activity_type = self.env["mail.activity.type"].create(
|
|
{"name": "test activity type"}
|
|
)
|
|
self.act1 = (
|
|
self.env["mail.activity"]
|
|
.with_user(self.employee)
|
|
.create(
|
|
{
|
|
"activity_type_id": activity_type.id,
|
|
"res_id": self.partner.id,
|
|
"res_model": "res.partner",
|
|
"res_model_id": self.env["ir.model"]._get("res.partner").id,
|
|
"user_id": self.employee.id,
|
|
"date_deadline": date.today(),
|
|
}
|
|
)
|
|
)
|
|
self.act2 = (
|
|
self.env["mail.activity"]
|
|
.with_user(self.employee)
|
|
.create(
|
|
{
|
|
"activity_type_id": activity_type.id,
|
|
"res_id": self.partner.id,
|
|
"res_model": "res.partner",
|
|
"res_model_id": self.env["ir.model"]._get("res.partner").id,
|
|
"user_id": self.employee.id,
|
|
"date_deadline": date.today(),
|
|
}
|
|
)
|
|
)
|
|
self.activities = self.act1 + self.act2
|
|
|
|
def _set_activities_done(self):
|
|
self.activities._action_done()
|
|
self.activities.flush_recordset()
|
|
|
|
def test_mail_activity_done(self):
|
|
self.act1._action_done()
|
|
self.assertTrue(self.act1.exists())
|
|
self.assertEqual(self.act1.state, "done")
|
|
|
|
def test_systray_get_activities(self):
|
|
act_count = self.employee.with_user(self.employee).systray_get_activities()
|
|
self.assertEqual(
|
|
act_count[0]["total_count"],
|
|
2,
|
|
"Number of activities should be equal to two",
|
|
)
|
|
self.act1._action_done()
|
|
act_count = self.employee.with_user(self.employee).systray_get_activities()
|
|
self.assertEqual(
|
|
act_count[0]["total_count"],
|
|
1,
|
|
"Number of activities should be equal to one",
|
|
)
|
|
|
|
def test_read_progress_bar(self):
|
|
params = {
|
|
"domain": [],
|
|
"group_by": "id",
|
|
"progress_bar": {"field": "activity_state"},
|
|
}
|
|
result = self.partner._read_progress_bar(**params)
|
|
self.assertEqual(result[0]["__count"], 1)
|
|
self._set_activities_done()
|
|
result = self.partner._read_progress_bar(**params)
|
|
self.assertEqual(len(result), 0)
|
|
|
|
def test_activity_state_search(self):
|
|
today_activities = (
|
|
self.env["res.partner"]
|
|
.with_user(self.employee)
|
|
.search([("activity_state", "=", "today")])
|
|
)
|
|
self.assertEqual(len(today_activities), 1)
|
|
self._set_activities_done()
|
|
today_activities = (
|
|
self.env["res.partner"]
|
|
.with_user(self.employee)
|
|
.search([("activity_state", "=", "today")])
|
|
)
|
|
self.assertEqual(len(today_activities), 0)
|