Skip to content

Commit 1299096

Browse files
[IMP] auditlog: improve coverage
1 parent d4098bd commit 1299096

File tree

3 files changed

+96
-0
lines changed

3 files changed

+96
-0
lines changed

auditlog/tests/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,5 @@
44
from . import test_autovacuum
55
from . import test_http_request
66
from . import test_http_session
7+
from . import test_model_auditlog_rule
8+
from . import test_model_auditlog_log
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# Copyright 2026 Opener B.V. <https://opener.amsterdam>
2+
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
3+
4+
from odoo.exceptions import UserError
5+
6+
from odoo.addons.base.tests.common import BaseCommon
7+
8+
9+
class TestModelAuditlogLog(BaseCommon):
10+
def test_field_required(self):
11+
"""Model and field are required on log/line, but not as a field property."""
12+
model_id = self.env.ref("base.model_res_groups").id
13+
field_id = self.env.ref("base.field_res_groups__name").id
14+
# Test log create
15+
with self.assertRaisesRegex(
16+
UserError,
17+
"No model defined to create log",
18+
):
19+
with self.env.cr.savepoint():
20+
self.env["auditlog.log"].create({})
21+
log = self.env["auditlog.log"].create(
22+
{
23+
"model_id": model_id,
24+
},
25+
)
26+
self.assertEqual(log.model_model, "res.groups")
27+
# Test log write
28+
with self.assertRaisesRegex(
29+
UserError,
30+
"'model_id' cannot be empty",
31+
):
32+
with self.env.cr.savepoint():
33+
log.model_id = False
34+
35+
# Test line create
36+
with self.assertRaisesRegex(
37+
UserError,
38+
"No field defined to create line",
39+
):
40+
with self.env.cr.savepoint():
41+
line = self.env["auditlog.log.line"].create(
42+
{
43+
"log_id": log.id,
44+
},
45+
)
46+
line = self.env["auditlog.log.line"].create(
47+
{
48+
"log_id": log.id,
49+
"field_id": field_id,
50+
},
51+
)
52+
# Test line write
53+
with self.assertRaisesRegex(
54+
UserError,
55+
"'field_id' cannot be empty",
56+
):
57+
with self.env.cr.savepoint():
58+
line.field_id = False
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Copyright 2026 Opener B.V. <https://opener.amsterdam>
2+
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
3+
4+
from odoo.exceptions import UserError
5+
6+
from odoo.addons.base.tests.common import BaseCommon
7+
8+
9+
class TestModelAuditlogRule(BaseCommon):
10+
def test_model_required(self):
11+
"""Model is required, but not as a field property."""
12+
model_id = self.env.ref("base.model_res_groups").id
13+
# Test create
14+
with self.assertRaisesRegex(
15+
UserError,
16+
"No model defined to create line",
17+
):
18+
with self.env.cr.savepoint():
19+
self.env["auditlog.rule"].create(
20+
{
21+
"name": "Test rule",
22+
},
23+
)
24+
rule = self.env["auditlog.rule"].create(
25+
{
26+
"name": "Test rule",
27+
"model_id": model_id,
28+
},
29+
)
30+
# Test write
31+
with self.assertRaisesRegex(
32+
UserError,
33+
"'model_id' cannot be empty",
34+
):
35+
with self.env.cr.savepoint():
36+
rule.model_id = False

0 commit comments

Comments
 (0)