Files
Odoo-18.0-20251222/sales_team_security/tests/test_sales_team_security.py
tocmo0nlord adbe430761
Some checks failed
pre-commit / pre-commit (push) Has been cancelled
tests / Detect unreleased dependencies (push) Has been cancelled
tests / test with OCB (push) Has been cancelled
tests / test with Odoo (push) Has been cancelled
Initial commit: Odoo 18.0-20251222 extra-addons
2026-03-13 20:43:25 +00:00

60 lines
2.7 KiB
Python
Executable File

# 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)