Public release from ruodoo-project: 19.0 - 2026-05-10 21:19:01 UTC

This commit is contained in:
CI Publish Bot
2026-05-10 21:19:11 +00:00
commit cbf9e6e6d6
1213 changed files with 183945 additions and 0 deletions

View File

@ -0,0 +1,118 @@
from odoo import Command
from odoo.tests.common import TransactionCase
class TestRoleAddUsersWizard(TransactionCase):
@classmethod
def setUpClass(cls):
super().setUpClass()
cls.role = cls.env["res.users.role"].create(
{
"name": "Test Role",
}
)
cls.user1 = cls.env["res.users"].create(
{
"name": "Test User 1",
"login": "testuser1",
"email": "testuser1@example.com",
}
)
cls.user2 = cls.env["res.users"].create(
{
"name": "Test User 2",
"login": "testuser2",
"email": "testuser2@example.com",
}
)
cls.user3 = cls.env["res.users"].create(
{
"name": "Test User 3",
"login": "testuser3",
"email": "testuser3@example.com",
}
)
def test_add_new_users_to_role(self):
"""Test adding new users to a role without existing users"""
wizard = self.env["role.add.users.wizard"].create(
{
"role_id": self.role.id,
"user_ids": [Command.set([self.user1.id, self.user2.id])],
"date_from": "2024-01-01",
"date_to": "2024-12-31",
}
)
result = wizard.action_add_users()
self.assertEqual(result["type"], "ir.actions.act_window_close")
self.assertEqual(len(self.role.line_ids), 2)
self.assertIn(self.user1, self.role.line_ids.mapped("user_id"))
self.assertIn(self.user2, self.role.line_ids.mapped("user_id"))
for line in self.role.line_ids:
self.assertEqual(str(line.date_from), "2024-01-01")
self.assertEqual(str(line.date_to), "2024-12-31")
def test_add_users_with_existing_users(self):
"""Test adding users when some already exist in the role"""
self.env["res.users.role.line"].create(
{
"role_id": self.role.id,
"user_id": self.user1.id,
}
)
wizard = self.env["role.add.users.wizard"].create(
{
"role_id": self.role.id,
"user_ids": [Command.set([self.user1.id, self.user2.id])],
}
)
wizard.action_add_users()
self.assertEqual(len(self.role.line_ids), 2)
users_in_role = self.role.line_ids.mapped("user_id")
self.assertIn(self.user1, users_in_role)
self.assertIn(self.user2, users_in_role)
user1_lines = self.role.line_ids.filtered(
lambda line: line.user_id == self.user1
)
self.assertEqual(len(user1_lines), 1)
def test_add_users_without_dates(self):
"""Test adding users without specifying dates"""
wizard = self.env["role.add.users.wizard"].create(
{
"role_id": self.role.id,
"user_ids": [Command.set([self.user3.id])],
}
)
wizard.action_add_users()
self.assertEqual(len(self.role.line_ids), 1)
line = self.role.line_ids[0]
self.assertEqual(line.user_id, self.user3)
self.assertFalse(line.date_from)
self.assertFalse(line.date_to)
def test_add_multiple_new_users(self):
"""Test adding multiple new users at once"""
wizard = self.env["role.add.users.wizard"].create(
{
"role_id": self.role.id,
"user_ids": [
Command.set([self.user1.id, self.user2.id, self.user3.id])
],
"date_from": "2024-06-01",
}
)
wizard.action_add_users()
self.assertEqual(len(self.role.line_ids), 3)
users_in_role = self.role.line_ids.mapped("user_id")
self.assertEqual(
set(users_in_role.ids), {self.user1.id, self.user2.id, self.user3.id}
)
for line in self.role.line_ids:
self.assertEqual(str(line.date_from), "2024-06-01")