37 lines
1.4 KiB
Python
37 lines
1.4 KiB
Python
|
from odoo.tests.common import TransactionCase
|
||
|
|
||
|
|
||
|
class JsonFieldTest(TransactionCase):
|
||
|
|
||
|
@classmethod
|
||
|
def setUpClass(cls):
|
||
|
super().setUpClass()
|
||
|
cls.discussion_1 = cls.env['test_new_api.discussion'].create({
|
||
|
'name': 'Test Discussion JSON field'
|
||
|
})
|
||
|
|
||
|
def test_json_field_read_write(self):
|
||
|
random_str = "tVpajMuSvaR94DwSRVtRSLGNkKViNbWHt2hq13"
|
||
|
random_str_2 = "Crypto-money base"
|
||
|
|
||
|
self.assertEqual(self.discussion_1.history, {'delete_messages': []})
|
||
|
|
||
|
# Check that it is not the value of the cache return by convert_to_record
|
||
|
self.assertIsNot(self.discussion_1.history, self.env.cache.get(self.discussion_1, type(self.discussion_1).history))
|
||
|
|
||
|
self.assertEqual(self.discussion_1.history, {'delete_messages': []})
|
||
|
|
||
|
self.discussion_1.history = {'delete_messages': [random_str]}
|
||
|
self.discussion_1.flush_recordset()
|
||
|
self.assertEqual(self.discussion_1.history, {'delete_messages': [random_str,]})
|
||
|
|
||
|
self.discussion_1.history = {'delete_messages': [random_str, random_str_2]}
|
||
|
self.discussion_1.flush_recordset()
|
||
|
|
||
|
self.assertEqual(self.discussion_1.history, {'delete_messages': [random_str, random_str_2]})
|
||
|
|
||
|
self.discussion_1.history = (random_str, random_str_2)
|
||
|
self.discussion_1.flush_recordset()
|
||
|
|
||
|
self.assertEqual(self.discussion_1.history, [random_str, random_str_2])
|