mirror of
https://github.com/OCA/server-backend.git
synced 2025-02-18 09:52:42 +02:00
[MIG] base_user_role_history: Migration to 17.0
This commit is contained in:
@@ -1 +1,2 @@
|
||||
from . import test_base_user_role_history
|
||||
from . import test_res_users_role
|
||||
|
||||
@@ -6,10 +6,11 @@ from datetime import date, timedelta
|
||||
from odoo.tests.common import TransactionCase
|
||||
|
||||
|
||||
# DEPRECATED: This tests are deprecated but stay to show that the new code is working.
|
||||
class TestBaseUserRoleHistory(TransactionCase):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super(TestBaseUserRoleHistory, cls).setUpClass()
|
||||
super().setUpClass()
|
||||
cls.env = cls.env(context=dict(cls.env.context, tracking_disable=True))
|
||||
# MODELS
|
||||
|
||||
@@ -138,4 +139,4 @@ class TestBaseUserRoleHistory(TransactionCase):
|
||||
"""
|
||||
new_user = self.user_model.create({"login": "new_user", "name": "new_user"})
|
||||
history_lines = self.history_line_model.search([("user_id", "=", new_user.id)])
|
||||
self.assertFalse(history_lines)
|
||||
self.assertEqual(len(history_lines), 0)
|
||||
|
||||
181
base_user_role_history/tests/test_res_users_role.py
Normal file
181
base_user_role_history/tests/test_res_users_role.py
Normal file
@@ -0,0 +1,181 @@
|
||||
from datetime import date
|
||||
|
||||
from odoo.tests.common import TransactionCase
|
||||
|
||||
|
||||
class TestResUsersRole(TransactionCase):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.ResUsers = cls.env["res.users"]
|
||||
cls.ResUsersRole = cls.env["res.users.role"]
|
||||
cls.ResUsersRoleLine = cls.env["res.users.role.line"]
|
||||
cls.BaseUserRoleLineHistory = cls.env["base.user.role.line.history"]
|
||||
|
||||
cls.user = cls.ResUsers.create(
|
||||
{
|
||||
"name": "Test user 01",
|
||||
"login": "test1",
|
||||
}
|
||||
)
|
||||
|
||||
def test_create_adds_history(self):
|
||||
# act
|
||||
role_01 = self.ResUsersRole.create(
|
||||
{"name": "Test role 01", "line_ids": [(0, 0, {"user_id": self.user.id})]}
|
||||
)
|
||||
|
||||
# assert
|
||||
self.assertTrue(role_01.name, "Test role 01")
|
||||
|
||||
history_lines_all = self.BaseUserRoleLineHistory.search(
|
||||
[("user_id", "=", self.user.id)]
|
||||
)
|
||||
self.assertEqual(len(history_lines_all), 1)
|
||||
|
||||
history_line_1 = history_lines_all[0]
|
||||
self.assertEqual(history_line_1.user_id, self.user)
|
||||
self.assertEqual(history_line_1.performed_action, "add")
|
||||
self.assertFalse(history_line_1.old_role_id)
|
||||
self.assertEqual(history_line_1.new_role_id, role_01)
|
||||
self.assertFalse(history_line_1.old_is_enabled)
|
||||
self.assertTrue(history_line_1.new_is_enabled)
|
||||
|
||||
def test_write_adds_history_entry(self):
|
||||
# arrange
|
||||
role_01 = self.ResUsersRole.create(
|
||||
{"name": "Test role 01", "line_ids": [(0, 0, {"user_id": self.user.id})]}
|
||||
)
|
||||
|
||||
role_01_line = role_01.line_ids[0]
|
||||
|
||||
# act
|
||||
role_01_line.write(
|
||||
{
|
||||
"date_from": "2024-05-01",
|
||||
"date_to": "2024-05-30",
|
||||
}
|
||||
)
|
||||
|
||||
# assert
|
||||
history_lines_all = self.BaseUserRoleLineHistory.search(
|
||||
[("user_id", "=", self.user.id)]
|
||||
)
|
||||
|
||||
self.assertEqual(len(history_lines_all), 2)
|
||||
|
||||
history_lines_add = history_lines_all.filtered(
|
||||
lambda x: x.performed_action == "edit"
|
||||
)
|
||||
self.assertEqual(len(history_lines_add), 1)
|
||||
|
||||
history_line_1 = history_lines_add[0]
|
||||
self.assertEqual(history_line_1.performed_action, "edit")
|
||||
self.assertFalse(history_line_1.old_date_from)
|
||||
self.assertEqual(history_line_1.new_date_from, date(2024, 5, 1))
|
||||
self.assertFalse(history_line_1.old_date_to)
|
||||
self.assertEqual(history_line_1.new_date_to, date(2024, 5, 30))
|
||||
self.assertTrue(history_line_1.old_is_enabled)
|
||||
self.assertTrue(history_line_1.new_is_enabled)
|
||||
|
||||
def test_write_no_history_entry(self):
|
||||
# arrange
|
||||
role_01 = self.ResUsersRole.create(
|
||||
{
|
||||
"name": "Test role 01",
|
||||
"line_ids": [
|
||||
(
|
||||
0,
|
||||
0,
|
||||
{
|
||||
"user_id": self.user.id,
|
||||
"date_from": "2024-05-01",
|
||||
"date_to": "2024-05-30",
|
||||
},
|
||||
)
|
||||
],
|
||||
}
|
||||
)
|
||||
|
||||
role_01_line = role_01.line_ids[0]
|
||||
|
||||
# act
|
||||
# write same values again
|
||||
role_01_line.write(
|
||||
{
|
||||
"date_from": "2024-05-01",
|
||||
"date_to": "2024-05-30",
|
||||
}
|
||||
)
|
||||
|
||||
# assert
|
||||
history_lines_all = self.BaseUserRoleLineHistory.search(
|
||||
[("user_id", "=", self.user.id)]
|
||||
)
|
||||
|
||||
self.assertTrue(len(history_lines_all), 1)
|
||||
history_lines_edit = history_lines_all.filtered(
|
||||
lambda x: x.performed_action == "edit"
|
||||
)
|
||||
self.assertTrue(len(history_lines_edit), 0)
|
||||
|
||||
def test_create_adds_history_entry(self):
|
||||
# arrange
|
||||
role_01 = self.ResUsersRole.create({"name": "Test role 01", "line_ids": []})
|
||||
|
||||
# act
|
||||
self.ResUsersRoleLine.create(
|
||||
{
|
||||
"role_id": role_01.id,
|
||||
"user_id": self.user.id,
|
||||
"date_from": "2024-05-01",
|
||||
"date_to": "2024-05-30",
|
||||
}
|
||||
)
|
||||
|
||||
# assert
|
||||
history_line_add = self.BaseUserRoleLineHistory.search(
|
||||
[("user_id", "=", self.user.id), ("performed_action", "=", "add")]
|
||||
)
|
||||
|
||||
self.assertEqual(len(history_line_add), 1)
|
||||
history_line_1 = history_line_add[0]
|
||||
self.assertFalse(history_line_1.old_role_id)
|
||||
self.assertEqual(history_line_1.new_role_id, role_01)
|
||||
self.assertFalse(history_line_1.old_date_from)
|
||||
self.assertEqual(history_line_1.new_date_from, date(2024, 5, 1))
|
||||
self.assertFalse(history_line_1.old_date_to)
|
||||
self.assertEqual(history_line_1.new_date_to, date(2024, 5, 30))
|
||||
self.assertFalse(history_line_1.old_is_enabled)
|
||||
self.assertTrue(history_line_1.new_is_enabled)
|
||||
|
||||
def test_unlink_adds_history_entry(self):
|
||||
# arrange
|
||||
role_01 = self.ResUsersRole.create(
|
||||
{"name": "Test role 01", "line_ids": [(0, 0, {"user_id": self.user.id})]}
|
||||
)
|
||||
|
||||
# act
|
||||
role_01.line_ids[0].unlink()
|
||||
|
||||
# assert
|
||||
history_line_all = self.BaseUserRoleLineHistory.search(
|
||||
[("user_id", "=", self.user.id)]
|
||||
)
|
||||
|
||||
self.assertEqual(len(history_line_all), 2)
|
||||
|
||||
history_lines_unlink = history_line_all.filtered(
|
||||
lambda x: x.performed_action == "unlink"
|
||||
)
|
||||
self.assertEqual(len(history_lines_unlink), 1)
|
||||
|
||||
history_line_1 = history_lines_unlink[0]
|
||||
self.assertEqual(history_line_1.old_role_id, role_01)
|
||||
self.assertFalse(history_line_1.new_role_id)
|
||||
self.assertFalse(history_line_1.old_date_from)
|
||||
self.assertFalse(history_line_1.new_date_from)
|
||||
self.assertFalse(history_line_1.old_date_to)
|
||||
self.assertFalse(history_line_1.new_date_to)
|
||||
self.assertTrue(history_line_1.old_is_enabled)
|
||||
self.assertFalse(history_line_1.new_is_enabled)
|
||||
Reference in New Issue
Block a user