Initial commit: Odoo 18.0-20251222 extra-addons
This commit is contained in:
59
sales_team_security/tests/test_sales_team_security.py
Executable file
59
sales_team_security/tests/test_sales_team_security.py
Executable file
@@ -0,0 +1,59 @@
|
||||
# Copyright 2016-2020 Tecnativa - Pedro M. Baeza
|
||||
# Copyright 2021 Tecnativa - Víctor Martínez
|
||||
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html
|
||||
|
||||
|
||||
from .common import TestCommon
|
||||
|
||||
|
||||
class TestSalesTeamSecurity(TestCommon):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.user_partner = cls.user.partner_id
|
||||
cls.user2_partner = cls.user2.partner_id
|
||||
cls.record = cls.partner
|
||||
|
||||
def test_onchange_parent_id(self):
|
||||
contact2 = self.env["res.partner"].create(
|
||||
{"name": "Test contact", "parent_id": self.partner2.id}
|
||||
)
|
||||
self.assertEqual(contact2.user_id, self.user)
|
||||
|
||||
def test_change_user_id_partner(self):
|
||||
self.partner.write({"user_id": self.user.id})
|
||||
self.assertIn(self.user_partner, self.partner.message_partner_ids)
|
||||
self.assertNotIn(self.user_partner, self.partner_child_1.message_partner_ids)
|
||||
self.assertIn(self.user_partner, self.partner_child_2.message_partner_ids)
|
||||
# Change salesman
|
||||
self.partner.write({"user_id": self.user2.id})
|
||||
self.assertNotIn(self.user_partner, self.partner.message_partner_ids)
|
||||
self.assertIn(self.user2_partner, self.partner.message_partner_ids)
|
||||
self.assertNotIn(self.user_partner, self.partner_child_2.message_partner_ids)
|
||||
self.assertIn(self.user2_partner, self.partner_child_2.message_partner_ids)
|
||||
|
||||
def test_change_user_id_partner_child_1(self):
|
||||
self.partner_child_1.write({"user_id": self.user.id})
|
||||
self.assertIn(self.user_partner, self.partner.message_partner_ids)
|
||||
self.assertIn(self.user_partner, self.partner_child_2.message_partner_ids)
|
||||
# Change salesman
|
||||
self.partner_child_1.write({"user_id": self.user2.id})
|
||||
self.assertNotIn(self.user_partner, self.partner.message_partner_ids)
|
||||
self.assertIn(self.user2_partner, self.partner.message_partner_ids)
|
||||
self.assertNotIn(self.user_partner, self.partner_child_2.message_partner_ids)
|
||||
self.assertIn(self.user2_partner, self.partner_child_2.message_partner_ids)
|
||||
|
||||
def test_partner_permissions(self):
|
||||
self._check_whole_permission_set()
|
||||
|
||||
def test_partner_permissions_subscription(self):
|
||||
self.check_permission_subscribe = True
|
||||
self._check_permission(self.user2, False, True)
|
||||
|
||||
def test_partner_permissions_own_partner(self):
|
||||
self.user.partner_id.write({"user_id": self.user2.id})
|
||||
domain = [("id", "in", self.user.partner_id.ids)]
|
||||
Partner = self.env["res.partner"].with_user(self.user)
|
||||
# Make sure the acces is not due to the subscription
|
||||
self.partner.message_unsubscribe(partner_ids=self.user.partner_id.ids)
|
||||
self.assertEqual(bool(Partner.search(domain)), True)
|
||||
Reference in New Issue
Block a user