[IMP] core,test_access_rights: improve exept_orm stringification
In most case, except_orm.value is empty, leading to a str
representation of the args, which is a repr of each element
of the tuple in the case of exept_orm:
(repr(name), repr(value)) -> ('name', None)
In this case, the None value is just noise and the name will be repr
causing "'" to be escaped and replacing carriage return
by "\n" making it difficult to read and to compare.
This commit is contained in:
@@ -189,11 +189,11 @@ class TestIRRuleFeedback(Feedback):
|
||||
|
||||
|
||||
p = self.env['test_access_right.parent'].create({'obj_id': self.record.id})
|
||||
self.assertRaisesRegex(
|
||||
with self.assertRaisesRegex(
|
||||
AccessError,
|
||||
r"Implicitly accessed through \\'Object for testing related access rights\\' \(test_access_right.parent\)\.",
|
||||
p.with_user(self.user).write, {'val': 1}
|
||||
)
|
||||
r"Implicitly accessed through 'Object for testing related access rights' \(test_access_right.parent\)\.",
|
||||
):
|
||||
p.with_user(self.user).write({'val': 1})
|
||||
|
||||
def test_locals(self):
|
||||
self.env.ref('base.group_no_one').write(
|
||||
@@ -308,11 +308,11 @@ Note: this might be a multi-company issue.
|
||||
p = self.env['test_access_right.parent'].create({'obj_id': self.record.id})
|
||||
p.flush()
|
||||
p.invalidate_cache()
|
||||
self.assertRaisesRegex(
|
||||
with self.assertRaisesRegex(
|
||||
AccessError,
|
||||
r"Implicitly accessed through \\'Object for testing related access rights\\' \(test_access_right.parent\)\.",
|
||||
lambda: p.with_user(self.user).val
|
||||
)
|
||||
r"Implicitly accessed through 'Object for testing related access rights' \(test_access_right.parent\)\.",
|
||||
):
|
||||
p.with_user(self.user).val
|
||||
|
||||
class TestFieldGroupFeedback(Feedback):
|
||||
|
||||
|
||||
@@ -29,6 +29,12 @@ class except_orm(Exception):
|
||||
self.value = value
|
||||
self.args = (name, value)
|
||||
|
||||
def __str__(self):
|
||||
if not self.value:
|
||||
return str(self.name)
|
||||
else:
|
||||
return super().__str__()
|
||||
|
||||
|
||||
class UserError(except_orm):
|
||||
"""Generic error managed by the client.
|
||||
|
||||
Reference in New Issue
Block a user