Files
server-backend/base_group_backend/tests/test_module.py
2025-01-15 13:28:04 -03:00

43 lines
1.6 KiB
Python

from odoo import Command
from odoo.tests.common import TransactionCase
class TestResUsers(TransactionCase):
@classmethod
def setUpClass(cls):
super().setUpClass()
cls.base_group_backend = cls.env.ref("base_group_backend.base_group_backend")
cls.internal_user = cls.env.ref("base.user_demo")
cls.portal_user = cls.env.ref("base_group_backend.user_demo_external")
cls.portal_ui_user = cls.env.ref(
"base_group_backend.user_demo_external_with_ui"
)
cls.menu_no_group = cls.env.ref("base_group_backend.menu_root_no_group")
def test_has_groups(self):
self.assertTrue(self.internal_user.has_group("base.group_user"))
self.assertFalse(self.portal_user.has_group("base.group_user"))
self.assertTrue(self.portal_ui_user.has_group("base.group_user"))
self.portal_user.write(
{"groups_id": [Command.set([self.base_group_backend.id])]}
)
self.assertTrue(self.portal_user.has_group("base.group_user"))
def test_share(self):
self.assertTrue(self.portal_user.share)
self.portal_user.write(
{"groups_id": [Command.set([self.base_group_backend.id])]}
)
self.assertFalse(self.portal_user.share)
self.assertFalse(self.portal_ui_user.share)
def test_no_roots_menu_with_no_groups(self):
self.assertNotIn(
self.menu_no_group,
self.env["ir.ui.menu"].with_user(self.portal_ui_user).get_user_roots(),
)
self.assertIn(
self.menu_no_group,
self.env["ir.ui.menu"].with_user(self.internal_user).get_user_roots(),
)