mirror of
https://github.com/OCA/server-backend.git
synced 2025-02-18 09:52:42 +02:00
[FIX] base_external_system. Solve test error.
Testing fingerprint, with ignore_finger_print set to False, caused an error, because it would first set
ignore_fingerprint to False, then validate, never getting to actually setting the fingerprint, causing the
following stacktrace:
Traceback (most recent call last):
File "/home/travis/build/OCA/server-backend/base_external_system/tests/test_external_system.py", line 28, in test_check_fingerprint_allowed
self.record.write({"ignore_fingerprint": False, "fingerprint": "Data"})
File "/home/travis/odoo-13.0/odoo/models.py", line 3573, in write
fields[0].determine_inverse(real_recs)
File "/home/travis/odoo-13.0/odoo/fields.py", line 1122, in determine_inverse
self.inverse(records)
File "/home/travis/odoo-13.0/odoo/fields.py", line 594, in _inverse_related
target[field.name] = record_value[record]
File "/home/travis/odoo-13.0/odoo/models.py", line 5629, in __setitem__
return self._fields[key].__set__(self, value)
File "/home/travis/odoo-13.0/odoo/fields.py", line 1087, in __set__
records.write({self.name: write_value})
File "/home/travis/odoo-13.0/odoo/models.py", line 3568, in write
real_recs._validate_fields(set(vals) - set(inverse_fields))
File "/home/travis/odoo-13.0/odoo/models.py", line 1176, in _validate_fields
check(self)
This commit is contained in:
@@ -25,7 +25,10 @@ class TestExternalSystem(Common):
|
||||
|
||||
def test_check_fingerprint_allowed(self):
|
||||
"""It should not raise a validation error if there is a fingerprint."""
|
||||
self.record.write({"ignore_fingerprint": False, "fingerprint": "Data"})
|
||||
# In Odoo 13.0, due to the way inverse records (models inherited from)
|
||||
# are handled, setting both fields at the same time causes an error.
|
||||
self.record.write({"fingerprint": "Data"})
|
||||
self.record.write({"ignore_fingerprint": False})
|
||||
self.assertTrue(True)
|
||||
|
||||
def test_client(self):
|
||||
|
||||
Reference in New Issue
Block a user