Merge PR #130 into 14.0

Signed-off-by sebalix
This commit is contained in:
OCA-git-bot
2022-01-14 14:39:40 +00:00

View File

@@ -104,11 +104,9 @@ class TestUserRole(TransactionCase):
self.assertEqual(user_group_ids, role_group_ids) self.assertEqual(user_group_ids, role_group_ids)
def test_role_unlink(self): def test_role_unlink(self):
# Get role1 groups # Get role1 and role2 groups
role1_group_ids = self.role1_id.implied_ids.ids role1_groups = self.role1_id.implied_ids | self.role1_id.group_id
role1_group_ids.append(self.role1_id.group_id.id) role2_groups = self.role2_id.implied_ids | self.role2_id.group_id
role1_group_ids = sorted(set(role1_group_ids))
# Configure the user with role1 and role2 # Configure the user with role1 and role2
self.user_id.write( self.user_id.write(
{ {
@@ -118,21 +116,24 @@ class TestUserRole(TransactionCase):
] ]
} }
) )
# Check user has groups from role1 and role2
self.assertLessEqual(role1_groups, self.user_id.groups_id)
self.assertLessEqual(role2_groups, self.user_id.groups_id)
# Remove role2 # Remove role2
self.role2_id.unlink() self.role2_id.unlink()
user_group_ids = sorted({group.id for group in self.user_id.groups_id}) # Check user has groups from only role1
self.assertEqual(user_group_ids, role1_group_ids) self.assertLessEqual(role1_groups, self.user_id.groups_id)
self.assertFalse(role2_groups <= self.user_id.groups_id)
# Remove role1 # Remove role1
self.role1_id.unlink() self.role1_id.unlink()
user_group_ids = sorted({group.id for group in self.user_id.groups_id}) # Check user has no groups from role1 and role2
self.assertEqual(user_group_ids, []) self.assertFalse(role1_groups <= self.user_id.groups_id)
self.assertFalse(role2_groups <= self.user_id.groups_id)
def test_role_line_unlink(self): def test_role_line_unlink(self):
# Get role1 groups # Get role1 and role2 groups
role1_group_ids = self.role1_id.implied_ids.ids role1_groups = self.role1_id.implied_ids | self.role1_id.group_id
role1_group_ids.append(self.role1_id.group_id.id) role2_groups = self.role2_id.implied_ids | self.role2_id.group_id
role1_group_ids = sorted(set(role1_group_ids))
# Configure the user with role1 and role2 # Configure the user with role1 and role2
self.user_id.write( self.user_id.write(
{ {
@@ -142,18 +143,23 @@ class TestUserRole(TransactionCase):
] ]
} }
) )
# Check user has groups from role1 and role2
self.assertLessEqual(role1_groups, self.user_id.groups_id)
self.assertLessEqual(role2_groups, self.user_id.groups_id)
# Remove role2 from the user # Remove role2 from the user
self.user_id.role_line_ids.filtered( self.user_id.role_line_ids.filtered(
lambda l: l.role_id.id == self.role2_id.id lambda l: l.role_id.id == self.role2_id.id
).unlink() ).unlink()
user_group_ids = sorted({group.id for group in self.user_id.groups_id}) # Check user has groups from only role1
self.assertEqual(user_group_ids, role1_group_ids) self.assertLessEqual(role1_groups, self.user_id.groups_id)
self.assertFalse(role2_groups <= self.user_id.groups_id)
# Remove role1 from the user # Remove role1 from the user
self.user_id.role_line_ids.filtered( self.user_id.role_line_ids.filtered(
lambda l: l.role_id.id == self.role1_id.id lambda l: l.role_id.id == self.role1_id.id
).unlink() ).unlink()
user_group_ids = sorted({group.id for group in self.user_id.groups_id}) # Check user has no groups from role1 and role2
self.assertEqual(user_group_ids, []) self.assertFalse(role1_groups <= self.user_id.groups_id)
self.assertFalse(role2_groups <= self.user_id.groups_id)
def test_default_user_roles(self): def test_default_user_roles(self):
self.default_user.write( self.default_user.write(