mirror of
https://github.com/bringout/oca-ocb-hr.git
synced 2026-04-23 13:52:05 +02:00
19.0 vanilla
This commit is contained in:
parent
a1137a1456
commit
e1d89e11e3
2789 changed files with 1093187 additions and 605897 deletions
|
|
@ -0,0 +1 @@
|
|||
from . import test_gamification_current_badge
|
||||
|
|
@ -0,0 +1,85 @@
|
|||
from odoo import Command
|
||||
from odoo.exceptions import AccessError
|
||||
from odoo.tests.common import tagged
|
||||
from odoo.addons.hr.tests.common import TestHrCommon
|
||||
|
||||
|
||||
@tagged('post_install', '-at_install')
|
||||
class TestGamificationBadge(TestHrCommon):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super(TestHrCommon, cls).setUpClass()
|
||||
cls.demo_user, cls.demo2_user, cls.demo3_user, cls.demo4_manager = (cls.env["res.users"].with_context(no_reset_password=True)
|
||||
.create([
|
||||
{
|
||||
"name": "demo_user",
|
||||
"login": "demo@odoo.com",
|
||||
"email": "demo@odoo.com",
|
||||
"group_ids": [Command.link(cls.env.ref("base.group_user").id)],
|
||||
}, {
|
||||
"name": "demo2_user",
|
||||
"login": "demo2@odoo.com",
|
||||
"email": "demo2@odoo.com",
|
||||
"group_ids": [Command.link(cls.env.ref("base.group_user").id)],
|
||||
}, {
|
||||
"name": "demo3_user",
|
||||
"login": "demo3@odoo.com",
|
||||
"email": "demo3@odoo.com",
|
||||
"group_ids": [Command.link(cls.env.ref("base.group_user").id)],
|
||||
}, {
|
||||
"name": "demo4_manager",
|
||||
"login": "demo4@odoo.com",
|
||||
"email": "demo4@odoo.com",
|
||||
"group_ids": [Command.link(cls.env.ref("hr.group_hr_user").id)],
|
||||
},
|
||||
]))
|
||||
cls.demo_user.action_create_employee()
|
||||
|
||||
cls.env["gamification.badge.user.wizard"].with_user(cls.demo2_user).create([{
|
||||
"badge_id": cls.env.ref("gamification.badge_good_job").id,
|
||||
"comment": f"{cls.demo_user.name} is a good developer",
|
||||
"user_id": cls.demo_user.id,
|
||||
}]).action_grant_badge()
|
||||
|
||||
def test_update_badge(self):
|
||||
"""
|
||||
Test for who can update the bade.
|
||||
case 1: The one who has given the badge should be able to update the badge
|
||||
case 2: The one who has group Officer: Manage all employees access should be able to edit any badge
|
||||
case 3: The one who has not given the badge(base user) should not be able to update the badge
|
||||
"""
|
||||
badge_user = self.env["gamification.badge.user"].search([], limit=1)[0]
|
||||
user_comment = "This person is a good guy"
|
||||
|
||||
badge_user.with_user(self.demo2_user).write({'comment': user_comment})
|
||||
self.assertEqual(user_comment, badge_user.comment)
|
||||
|
||||
badge_user.with_user(self.demo4_manager).write({'comment': user_comment + 'manager'})
|
||||
self.assertEqual(user_comment + 'manager', badge_user.comment)
|
||||
|
||||
with self.assertRaises(AccessError):
|
||||
badge_user.with_user(self.demo3_user).write({'comment': user_comment})
|
||||
|
||||
def test_delete_badge(self):
|
||||
"""
|
||||
Test for who can delete the bade.
|
||||
case 1: The one who has not given the badge(base user) should not be able to delete the badge
|
||||
case 2: The one who has given the badge should be able to delete the badge
|
||||
case 3: The one who has group Officer: Manage all employees access should be able to edit any badge
|
||||
"""
|
||||
badge_user = self.env["gamification.badge.user"].search([], limit=1)[0]
|
||||
with self.assertRaises(AccessError):
|
||||
badge_user.with_user(self.demo3_user).unlink()
|
||||
|
||||
badge_user.with_user(self.demo2_user.id).unlink()
|
||||
self.assertEqual(0, self.env['gamification.badge.user'].search_count([('id', '=', badge_user.id)], limit=1))
|
||||
|
||||
self.env["gamification.badge.user.wizard"].with_user(self.demo2_user).create([{
|
||||
"badge_id": self.env.ref("gamification.badge_good_job").id,
|
||||
"comment": f"{self.demo_user.name} is a good developer",
|
||||
"user_id": self.demo_user.id,
|
||||
}]).action_grant_badge()
|
||||
|
||||
badge_user = self.env["gamification.badge.user"].search([], limit=1)[0]
|
||||
badge_user.with_user(self.demo4_manager.id).unlink()
|
||||
self.assertEqual(0, self.env['gamification.badge.user'].search_count([('id', '=', badge_user.id)], limit=1))
|
||||
Loading…
Add table
Add a link
Reference in a new issue